{"id":1108,"date":"2019-09-24T17:04:38","date_gmt":"2019-09-24T15:04:38","guid":{"rendered":"https:\/\/www.marcelcuvelier.de\/?p=1108"},"modified":"2019-09-25T08:52:40","modified_gmt":"2019-09-25T06:52:40","slug":"ehz-automatisiert-auslesen-und-auswerten","status":"publish","type":"post","link":"https:\/\/www.marcelcuvelier.de\/?p=1108","title":{"rendered":"eHZ automatisiert auslesen und auswerten"},"content":{"rendered":"<p>Schon seit einiger Zeit war ich auf der Suche nach einer M\u00f6glichkeit, meine beiden eHZs automatisiert auslesen zu k\u00f6nnen. Ich wollte sehen, zu welchen Zeiten welche Verbr\u00e4uche anfallen, wie oft die W\u00e4rmepumpe das Wasser erhitzt, wann sie das letzte Mal gelaufen ist und vieles mehr. Nach einer Internetrecherche ist mir sehr schnell das <a href=\"https:\/\/volkszaehler.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">Volksz\u00e4hler Projekt<\/a> aufgefallen. Der volkszaehler.org ist ein freies Smart Meter im Selbstbau. Der Nutzer beh\u00e4lt dabei die vollst\u00e4ndige Kontrolle \u00fcber die anfallenden Strom-, Wasser- und Gaskosten. Auf der Projektseite findet man Schritt-f\u00fcr-Schritt Anleitungen, die jeden mit ein wenig handwerklichem Geschick ans gew\u00fcnschte Ziel bringen.<\/p>\n<p>Folgende Hardware habe ich bei diesem Projekt verwendet:<\/p>\n<ul>\n<li>2x IR-Kopf<\/li>\n<li>1x Raspberry Pi 3 (inkl. SD-Karte, Geh\u00e4use und Netzteil)<\/li>\n<li>1x Server, der die Daten vom Raspberry Pi entgegennimmt und in eine SQL Datenbank schreibt. Au\u00dferdem stellt er die WebUI zur Verf\u00fcgung.<\/li>\n<li>Kleinmaterial (Kabelbinder, Stege etc.)<\/li>\n<\/ul>\n<p>Die USB-Infrarotk\u00f6pfe habe ich per eMail \u00fcber <a href=\"mailto:nils.volksz@gmail.com\">nils.volksz@gmail.com<\/a> bezogen. Sie besitzen einen optischen Sensor mit USB-Schnittstelle, Schreib- und Lesefunktion, einen eingebauten Ringmagneten zur einfachen Montage am Z\u00e4hler und eine 2,5m Anschlussleitung. Weitere Details zum IR-Kopf findet man im <a href=\"https:\/\/wiki.volkszaehler.org\/hardware\/controllers\/ir-schreib-lesekopf-usb-ausgang\" target=\"_blank\" rel=\"noopener noreferrer\">Volksz\u00e4hler Wiki<\/a>. Montiert sieht das dann (bei mir) so aus:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1117 size-large\" src=\"https:\/\/www.marcelcuvelier.de\/wp-content\/uploads\/2019\/09\/eHZs-1024x644.jpg\" alt=\"\" width=\"1024\" height=\"644\" srcset=\"https:\/\/www.marcelcuvelier.de\/wp-content\/uploads\/2019\/09\/eHZs-1024x644.jpg 1024w, https:\/\/www.marcelcuvelier.de\/wp-content\/uploads\/2019\/09\/eHZs-300x189.jpg 300w, https:\/\/www.marcelcuvelier.de\/wp-content\/uploads\/2019\/09\/eHZs-768x483.jpg 768w, https:\/\/www.marcelcuvelier.de\/wp-content\/uploads\/2019\/09\/eHZs-830x522.jpg 830w, https:\/\/www.marcelcuvelier.de\/wp-content\/uploads\/2019\/09\/eHZs-230x145.jpg 230w, https:\/\/www.marcelcuvelier.de\/wp-content\/uploads\/2019\/09\/eHZs-350x220.jpg 350w, https:\/\/www.marcelcuvelier.de\/wp-content\/uploads\/2019\/09\/eHZs-480x302.jpg 480w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p>Diese Z\u00e4hler (Typ: eHZ-FW8E2A500AK1) liefern ihre Daten als ASCII-Protokoll, was man sp\u00e4ter dann in der Konfiguration beachten musste.<\/p>\n<p>Nach der Hardware-Installation der IR K\u00f6pfe habe ich dann \u00fcberpr\u00fcft, ob der USB IR-Kopf auch vom Betriebssystem (Gentoo) auf meinem Raspberry Pi erkannt wurde. Da udev automatisch Symlinks nach dem Einstecken generiert konnte ich mit folgendem Aufruf schnell pr\u00fcfen, ob das wirklich erfolgt ist und die USB-IR-K\u00f6pfe erkannt wurden:<\/p>\n<p><em><span style=\"color: #808080;\"># ls -l \/dev\/serial\/{by-path,by-id}\/*<\/span><\/em><\/p>\n<p>Weiter ging es dann mit der Software. Zum Einlesen der Werte wird der vzlogger eingesetzt. Der vzlogger ist ein Werkzeug zum Lesen der Messwerte von Sensoren und Smartmeter, um diese an die volkszahler.org Middleware weiterzureichen. Er unterst\u00fctzt auch MySmartGrid und InfluxDB, kann als Daemon im Hintergrund arbeiten oder per cron aufgerufen werden. Bei mir l\u00e4uft er als Daemon. Der vzlogger wertet den Return Code der Middleware aus.&nbsp;<\/p>\n<p>Die Middleware nimmt von den Controllern die Daten entgegen und speichert diese, um sie dann den Frontends zur Darstellung zur Verf\u00fcgung zu stellen. Die Middleware stellt an das Betriebssystem folgende Voraussetzungen:<\/p>\n<ul>\n<li class=\"level1\">\n<div class=\"li\">PHP 7.1<\/div>\n<\/li>\n<li class=\"level1\">\n<div class=\"li\">Doctrine 2.5<\/div>\n<\/li>\n<li class=\"level1\">\n<div class=\"li\">MySQL, MariaDB, PostgreSQL oder SQLite + PDO Treiber<\/div>\n<\/li>\n<li class=\"level1\">\n<div class=\"li\">APC (optional, aber empfohlen)<\/div>\n<\/li>\n<li class=\"level1\">\n<div class=\"li\">nginx, Apache (optional)<\/div>\n<\/li>\n<\/ul>\n<p>Die Visualisierung der in der Middleware gespeicherten Messwerte erfolgt \u00fcber Frontends. Standardm\u00e4\u00dfiger Bestandteil von volkszaehler.org ist ein Browser-basiertes Frontend.<\/p>\n<p>Wichtige Links:<\/p>\n<ul>\n<li><a href=\"https:\/\/wiki.volkszaehler.org\/software\/controller\/vzlogger\" target=\"_blank\" rel=\"noopener noreferrer\">volkszaehler Wiki Artikel zum vzlogger<\/a><\/li>\n<li><a href=\"https:\/\/wiki.volkszaehler.org\/software\/middleware\/installation\" target=\"_blank\" rel=\"noopener noreferrer\">volkszaehler Wiki Artikel zur Installation der Middleware<\/a><\/li>\n<li><a href=\"https:\/\/wiki.volkszaehler.org\/software\/frontends\" target=\"_blank\" rel=\"noopener noreferrer\">volkszaehler Wiki Artikel zu den verschiedenen Frontends<\/a><\/li>\n<\/ul>\n<div class=\"pdf24Plugin-cp\"> \t<form name=\"pdf24Form0\" method=\"post\" target=\"pdf24PopWin\" action=\"https:\/\/doc2pdf.pdf24.org\/wordpress.php\"><input type=\"hidden\" name=\"blogCharset\" value=\"Cw1x07UAAA==\" \/><input type=\"hidden\" name=\"blogPosts\" value=\"MwQA\" \/><input type=\"hidden\" name=\"blogUrl\" value=\"yygpKSi20tcvLy\/Xy00sSk7NSS4tS83JTC3SS0kFAA==\" \/><input type=\"hidden\" name=\"blogName\" value=\"y00sSk7NSS4tS83JTC3SS0kFAA==\" \/><input type=\"hidden\" name=\"blogValueEncoding\" value=\"gzdeflate base64\" \/><input type=\"hidden\" name=\"postId_0\" value=\"MzQ0sAAA\" \/><input type=\"hidden\" name=\"postTitle_0\" value=\"S\/WIUkgsLcnPTSzJLM5MLSoB8opzUotT8xRK81JAnHKgYGoeAA==\" \/><input type=\"hidden\" name=\"postLink_0\" value=\"yygpKSi20tcvLy\/Xy00sSk7NSS4tS83JTC3SS0nVty+wNTQ0sAAA\" \/><input type=\"hidden\" name=\"postAuthor_0\" value=\"800sSk7NAQA=\" \/><input type=\"hidden\" name=\"postDateTime_0\" value=\"MzIwtNQ1sNQ1MlEwNLcysLQytgAA\" \/><input type=\"hidden\" name=\"postContent_0\" value=\"rVjdTuNIFr7fpyhlpBXMJnESYJpmQrTQ6R8E9DKdmUbqm1U5PnGqUy5bVeUksJpnmRueYa64y4vNd8pxCMyudllaSMSun1Pn9ztfuV8MRuNpboQj5QUpo1Ky4gu\/LKQVajwVspyIBIOjcjwlYSSGsA4Dl6vfU40VM6xuiowHRUwqISPowxeHjT7PpFdOkfV4c5oc5m5LMVv9bgyZtjiDsEWutScoMCXT5NkFaZxkghb4qV7FZ7KxXd0FJaSZSK15+UKRyCdeJPi9Xt3ZjIoyK0gk0olr6RzUJDtV\/hYaLqSBnaqa1IQxEpdSi5Q0bMRJynlRmkTMFUFVWDS1bfHxweAz48ka8paghGVFeEemLCuPf+OpIa2D+L4UU0uT48bU+8IdRdE81zN3K2mqybZzm0YN4aVNyR83\/hlraWYNYUkfN0yeF8SHmRz7yVqyjcHnsHl1x5vFlc2\/0sz3Izng2KRU+aIthph8ekzQENqLiSUFm0aZRCwuCYYIlYkR6dj5WJbV7o+lv8VPTNPVnYZTJcIZXAux2vnVnUmQH+I8N95ihMTqPsZ6XlGHhKM\/wmzWaq4D0Ao+fS\/dLHee9TxZJ9TaEM48EhOFrXCmxPbx1CrvW5PVvW2tX8SJ0VhXmpSjzgd+JT4qq7IWSYLMFVNpkgXZGWclZeI9ISRqPINyDlFerO4NBnDYFwRYxFaxtHY\/KgZ\/6ReDd7lOWX\/xQdoEyU8QF1MogbUbHGSulRZzsgte7Y+q\/aXGP60GvaU4+9Q6z4tJP8JrGOsuxSfpCrjK3ogrJfbEjjIz3RajYesc8aAmVIXLS0fBVx9Dbiq9+0jEiCwObQbXsQOGkqtjnmePhZPxKcEQo7KsSme4J9Tm6KeLalOMdONsRUrEnuOx+o1sAuMQH9SiWB9wTfEvZyhIy7WHYKTwfvtBpXMExKC+ySoU0c45nKVjjiJ0HHmoIMiP27UNUXBQMRhC8C+j09aZmVhpcw8oKCZbri64Yi+l0uvc2hRShjGfHxmlXbvK8r+nPNYe51lj8G+HQ4nEdJtzmMVIMTw5YAFVDjEiL4BOAWtGZFxuQzqxdsg6g6wL\/kB0RpWvqky+QB5MSjPzKkcqVoKIUwllxBH5hOdMpsCJAHaWJycynHKJwpFwjMzEl3U1s8QQnV7zIEOWQx1dOrdO9jaCgOpALg7JwyoHgVmdYNs1g1r+E+Qs1Ey1\/4Q703V2R+O6iq2LlG2t86HFID2D9Fbp4hZAO5Um\/b+x6hoqcBTawfTQBwDAUx8wMmE83uHaAoTuCpdzjziqy7GvslToXCZw53FDy9ubBlJ\/nFfv0t2YcUOMNSAGb1qlZkwMz2JRtBTcT61ut\/sKp91SS7PyDeHseMs5i0UbWDhGcynnpKFaO6EIm9ktkBSVBR\/uol6n+zrqvI64pbW6nd7+8of9\/fbXAk6RGh5poAclfnrc4LmGmJJKpxjGonCiY699u0MFvyya4mUS9zqdZffwdRCI5xfLe\/XD4XL\/cC\/Iw\/OL5R3udZYHvV6Qh+cXy+tBXnf\/IMjrfQN5ewedZa\/Xqfx38HJ5+4ed5V6nshfPi0bIW05sUKim2MnkshWy7CjEv1ju4rczx7nVa0NEg7puhtynNvCy8\/NNccR0rPXu+vBt7+Sg0zk57+4KaIaCBW5Mbd1JJNDlZPTm7KyFHufzGaCBOZML+OKK1R1XV6hZNBRuQqABE5WWVjISAlol91a0ZMCXp01bDfyJl9dtFdDvPLhCtY1nzj6J8ydtIJwTOkBhV\/cTsLc8DmuBzhv8kyCDoQGegpMpip27wcmZ2HkPT+f5bqCugZc+7ZF2BvmguCXaHqiPFGVC8wfCCrGjm0yjSbuK8HJzfKugN41nMDFl1AtoNsshp1KZe8dkzSEyJjkWp9ecMFjB1IXNgE8XqmIpUIX3+A33TOr+CBsrnzxS1jzgI2WDvis4Nv5G03FjnOvcHonvDjv892Nj8J1ARFtaRLAtcqFNR\/+Kb1qF9NMmflXya\/R9P2IZyB4WtxZd9RyRAmkFrXGarQu3ALBtjmJbfCmDTypSz1PXcAixZUl4nd\/qPOXbRGiOjjnNmqPWEzU3xcbZLZVpaG4XG3mX5NwiyJzndYfGFHsp0NiMWWxTYE\/gZmB5NVfljrdhwJcqSTQFQrcIhqEnExNEcIK33IAxBG57D\/2qjLq8CeLfW5WEw0BVdLkcnjYFByLUyVBSloeu+0Hx\/tTyQmnj6sqSs\/rMZMYWqwJJt+GGsWCehXNPq6YnNEjfJBCuB6lPnBQ8wL4HsyBfombfQHzloAfL0DnbfzWxK37cwoHtBRUdnIeKYxF17zdbXLKmjsFqVwQnWV95N\/i5ujyZSsY7GyAtcYHkDKUNbAmk5Qll5CtdRaTYtMdarQknRw5F8aSM62ISn3ML+ziDAv9\/zLhrDqAJeNttYCxR882gagyuPlyJV+1uP8I4E9E1f\/2v+4b5GOowM2sfPHszcuiniyaul6g6zpwr3H1SS0zBQ3LggW89fxNXw3+In5l4kX32ISdXb8QOc9jcSGC1ZL5MWTHJkftm99niDAp+2RQnBZPVB8FPBG0T+c\/KleBefMHnQLNh696wFWPUfp1KTIE3RV0jX8XzN9kEou5xjUOzyFZ3q9\/C94hTcjzGd6KQwv\/xlntq8wVfOWMZPjoAvGq5m350DVU832IvGN6f3N7+Rw7t1iC4xaGjumCfw5W3BQeuLE6sVzNcThkJa4lMoB+uXc9VMdtEIlJbjfdbqclfRZ6084fYv0zzSZ0S30rXAFu4Q\/NXAf56sA1iW6qGDP8D\" \/><\/form> \t<div class=\"pdf24Plugin-cp-link\"> \t\t<a href=\"#\" onclick=\"var pdf24Win = window.open('about:blank', 'pdf24PopWin', 'resizable=yes,scrollbars=yes,width=600,height=250,left='+(screen.width\/2-300)+',top='+(screen.height\/3-125)+''); pdf24Win.focus(); document.pdf24Form0.submit(); if(typeof pdf24OnCreatePDF === 'function'){void(pdf24OnCreatePDF(this,pdf24Win));} return false;\">Diesen Beitrag als PDF herunterladen<\/a> \t<\/div> <\/div>","protected":false},"excerpt":{"rendered":"<p>Schon seit einiger Zeit war ich auf der Suche nach einer M\u00f6glichkeit, meine beiden eHZs automatisiert auslesen zu k\u00f6nnen. Ich wollte sehen, zu welchen Zeiten welche Verbr\u00e4uche anfallen, wie oft die W\u00e4rmepumpe das Wasser erhitzt, wann sie das letzte Mal gelaufen ist und vieles mehr. Nach einer Internetrecherche ist mir sehr schnell das Volksz\u00e4hler Projekt aufgefallen. Der volkszaehler.org ist ein freies Smart Meter im Selbstbau. Der Nutzer beh\u00e4lt dabei die vollst\u00e4ndige Kontrolle \u00fcber die anfallenden Strom-, Wasser- und Gaskosten. Auf [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1120,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[30,31,34,32,33],"tags":[76,74,40,63,64,69,36,58,46,60,41,66,37,59,71,45,65,70,75,68,72,51,39,56,53,67,47,42,73,54,62,61,38,43,55,48,35,52,44,49,50,57],"class_list":["post-1108","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-diy","category-elektro","category-gentoo","category-it","category-raspberry-pi","tag-apache","tag-apc","tag-ascii","tag-cron","tag-daemon","tag-doctrine","tag-ehz","tag-ehz-fw8e2a500ak1","tag-frontend","tag-gentoo","tag-hardware","tag-influxdb","tag-ir-kopf","tag-konfiguration","tag-mariadb","tag-middleware","tag-mysmartgrid","tag-mysql","tag-nginx","tag-php","tag-postgresql","tag-projekt","tag-raspberry-pi","tag-ringmagnet","tag-selbstbau","tag-sensoren","tag-smart-meter","tag-software","tag-sqlite","tag-stromkosten","tag-symlink","tag-udev","tag-usb","tag-usb-ir-kopf","tag-usb-schnittstelle","tag-verbrauch","tag-volkszaehler","tag-volkszahler-orf","tag-vzlogger","tag-waermepumpe","tag-wasser","tag-zaehler"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/www.marcelcuvelier.de\/wp-content\/uploads\/2019\/09\/volkszaehler-webui.png","jetpack_shortlink":"https:\/\/wp.me\/p4qNjn-hS","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.marcelcuvelier.de\/index.php?rest_route=\/wp\/v2\/posts\/1108","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.marcelcuvelier.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.marcelcuvelier.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.marcelcuvelier.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.marcelcuvelier.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1108"}],"version-history":[{"count":12,"href":"https:\/\/www.marcelcuvelier.de\/index.php?rest_route=\/wp\/v2\/posts\/1108\/revisions"}],"predecessor-version":[{"id":1123,"href":"https:\/\/www.marcelcuvelier.de\/index.php?rest_route=\/wp\/v2\/posts\/1108\/revisions\/1123"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.marcelcuvelier.de\/index.php?rest_route=\/wp\/v2\/media\/1120"}],"wp:attachment":[{"href":"https:\/\/www.marcelcuvelier.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1108"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.marcelcuvelier.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1108"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.marcelcuvelier.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1108"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}