DIYElektroGentooITRaspberry Pi

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:

Schreibe einen Kommentar

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