eHZ automatisiert auslesen und auswerten

Schon seit einiger Zeit war ich auf der Suche nach einer Möglichkeit, meine beiden eHZs automatisiert auslesen zu können. Ich wollte sehen, zu welchen Zeiten welche Verbräuche anfallen, wie oft die Wärmepumpe das Wasser erhitzt, wann sie das letzte Mal gelaufen ist und vieles mehr. Nach einer Internetrecherche ist mir sehr schnell das Volkszähler Projekt aufgefallen. Der volkszaehler.org ist ein freies Smart Meter im Selbstbau. Der Nutzer behält dabei die vollständige Kontrolle über die anfallenden Strom-, Wasser- und Gaskosten. Auf der Projektseite findet man Schritt-für-Schritt Anleitungen, die jeden mit ein wenig handwerklichem Geschick ans gewünschte Ziel bringen.

Folgende Hardware habe ich bei diesem Projekt verwendet:

  • 2x IR-Kopf
  • 1x Raspberry Pi 3 (inkl. SD-Karte, Gehäuse und Netzteil)
  • 1x Server, der die Daten vom Raspberry Pi entgegennimmt und in eine SQL Datenbank schreibt. Außerdem stellt er die WebUI zur Verfügung.
  • Kleinmaterial (Kabelbinder, Stege etc.)

Die USB-Infrarotköpfe habe ich per eMail über nils.volksz@gmail.com bezogen. Sie besitzen einen optischen Sensor mit USB-Schnittstelle, Schreib- und Lesefunktion, einen eingebauten Ringmagneten zur einfachen Montage am Zähler und eine 2,5m Anschlussleitung. Weitere Details zum IR-Kopf findet man im Volkszähler Wiki. Montiert sieht das dann (bei mir) so aus:

Diese Zähler (Typ: eHZ-FW8E2A500AK1) liefern ihre Daten als ASCII-Protokoll, was man später dann in der Konfiguration beachten musste.

Nach der Hardware-Installation der IR Köpfe habe ich dann überprüft, 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üfen, ob das wirklich erfolgt ist und die USB-IR-Köpfe erkannt wurden:

# ls -l /dev/serial/{by-path,by-id}/*

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ützt auch MySmartGrid und InfluxDB, kann als Daemon im Hintergrund arbeiten oder per cron aufgerufen werden. Bei mir läuft er als Daemon. Der vzlogger wertet den Return Code der Middleware aus. 

Die Middleware nimmt von den Controllern die Daten entgegen und speichert diese, um sie dann den Frontends zur Darstellung zur Verfügung zu stellen. Die Middleware stellt an das Betriebssystem folgende Voraussetzungen:

  • PHP 7.1
  • Doctrine 2.5
  • MySQL, MariaDB, PostgreSQL oder SQLite + PDO Treiber
  • APC (optional, aber empfohlen)
  • nginx, Apache (optional)

Die Visualisierung der in der Middleware gespeicherten Messwerte erfolgt über Frontends. Standardmäßiger Bestandteil von volkszaehler.org ist ein Browser-basiertes Frontend.

Wichtige Links:

7 Gedanken zu „eHZ automatisiert auslesen und auswerten

  1. Hallo
    wieder einer dieser Artikel die viel Appetit machen aber nicht helfen sein Projekt um zu setzten. Ich lese seit Tagen alle möglich Sites um zi ergründen was ich wo einstecken muss und wie viele geichzeitig gehen denn das kommt vor dem ganzen Software gedöns. Ich bin frustirert und wenn es was fertiges Gäber ich glaub ich bin soweit jeden Preis dafür zu zahlen. Das Alles nur um etwas merh über seinen Stromverbrauch zu erfahren…

    1. Hallo Lothar,

      mir erging es nicht anders und meine Lösung ist „sehr speziell“, deswegen (bisher) auch noch nicht genauer beschrieben. Ich setze Gentoo auf dem RaspberryPi und auf meinem Server ein. Ich habe den vzlogger von der Datenbank abgekoppelt und einiges von Hand „gepatcht“. Ich denke selbst mit guter Doku, hilft das nur sehr wenigen wirklich weiter. Ein Freund von mir ist auch derzeit (leicht frustriert) an dem Thema in einer anderen Umsetzung dran.

      Wenn das dann alles läuft stellt man dann noch fest, dass der „aktuelle Zählerstand“ selber in der WebUI auch nicht dargestellt wird. Dazu habe ich mir dann eine primitive separate WebUI gebaut, die auf die MySQL Datenbank zugreift und mir den gewünschten Wert des eHZs vom gewünschten Datum ausgibt.

      Schöne Grüße,
      Marcel

  2. Moin moin,
    ich plane immer sehr viel im Vorraus und so frage ich mich gerade ob ich durch eine geplante Wärmepumpe verpflichtet bin einen zweiten eHZ zu verbauen?

    1. Nein, ein zweiter eHZ ist nicht zwingend notwendig. Mittlerweile rechnet sich das meistens nicht mehr. Vergleiche einfach, ob du bei deinem Anbieter einen günstigen speziellen Wärmepumpentarif erhalten kannst und dann überlege, ob es den Aufwand (rein rechnerisch) wert ist.

    2. siehe Technischen Anschlussbedingungen des Versorgungsbetriebs
      siehe Die VBEW-Messkonzepte untergliedern sich in zwei Kategorien
       Messkonzepte für Erzeugungsanlagen
      Hier stehen 5 Auswahlblätter zur Verfügung.
       Messkonzepte für Bezugsanlagen
      Hier steht 1 Auswahlblatt zur Verfügung

  3. Hallo Marcel,

    ich habe auch einen Stromzähler mit dem Modell eHZ-FW8E2A500AK1 und benötige deine Hilfe. Sehe, dass du über die Datenschnittstelle Daten ausliest.

    Ich habe von Tibber eine Pulse IR. Dieser soll mittels der Datenschnittstelle Daten auslesen. Hierführ muss jedoch die Schnittstelle freigeschaltet werden. Kannst du mir sagen, wie du das hinbekommen hast? Bei Tibber.com ist der Stromzähler auch auf der Whitelist. Aber so wie es dort beschrieben ist, klappt es nicht, da der Stromzähler über keinen Pin verfügt. Auch das leuchten mit der Taschenlampe um ins Menü zu kommen funktioniert nicht. Ich habe den Pulse IR angeschlossen, aber es werden keine Daten ausgegeben. Vielleicht kannst du mir hier weiterhelfen?

    1. Ich habe beim Netzbetreiber die PIN Freigabe angefragt und dann per Post zugesendet bekommen. Danach habe ich diese per Taschenlampe „eingegeben“ und konnte anschließend alle Werte erfassen.
      Hast Du die Pulse IT auch korrekt positioniert?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert