ELV Gaszähler Integration in Home Assistant
Neulich konnte ich endlich in Zusammenarbeit mit einem Kollegen vom IOT Shop im Photovoltaik Forum meinen KLAX2.0 Optokoppler in Betrieb nehmen. Das Teil misst den Stromverbrauch am Stromzähler und überträgt seine Daten via LoRaWAN, von wo aus man sie mit einem TTN Mapper abgreifen und auswerten kann. Der zweite Energieträger bei uns ist Gas, was liegt also näher, als auch die Daten des Gaszählers abzugreifen und auszuwerten? Nun gibt es ja verschieden Methoden, die mit unterschiedlichem Bastelaufwand ebensolche Ergebnisse präsentieren. Auch beim Gas ist es so, daß eine Auswertung per WLAN wegen der Entfernung zum Zahler nicht in Frage kam. Auch ist wie beim Stromzähler selbst keine Stromversorgung vorhanden, was die Auswahl auch hier ziemlich eindampft. Ich hatte mich dann letztlich für den vergleichsweise günstigen LoRaWAN® Energiezähler-Sensorschnittstelle, C sowie den ES-GAS-2 Sensor entschieden, welche dann auch kurze Zeit später geliefert wurden. Der Zusammenbau wie auch die Montage gestalteten sich einfach, am Gaszähler muß nichts verändert werden, passende Adapter werden mitgeliefert. Für die Stromversorgung habe ich mir bei einen Battery Expansion Shield 18650 V3 besorgt, dafür ein Gehäuse gedruckt und zusammen mit einer 18650 Zelle an den ELV Zähler gesteckt. Das ist nun schon einige Tage her, der Stromverbrauch gestaltet sich recht zivil, man kann natürlich auch größere Akkupacks verwenden, sollte jedoch darauf achten, daß sich diese nicht abschalten, während der Zähler im Tiefschlaf ist, da sonst die Datenübertragung unterbrochen ist.
Für die Anleitung setze ich folgendes voraus:
Hier nun die Konfiguration im ttn Stack, als erstes eine Applikation anlegen, dann unter "Integrations" einen API Key sowie Username erstellen, abfragen und kopieren.
Bitte den API Key speichern und ebenfalls die anderen Informationen. Sie werden noch gebraucht. Der ELV-LW-ESI ist zu einer TTN Applikation hinzugefügt. Dazu den "Device Repository Formatter", den ELV zur Verfügung stellt nutzen:
Für die nächsten Schritte, in denen unter anderem auf die Dateistruktur von Home Assistant zugegriffen werden muss nehme ich einfach das Add-on "File Editor", das einfach nachinstalliert werden kann. Wichtig für die folgenden Schritte: Änderungen in der Konfiguration vom "File Editor":
Nun die Zertifikate von TTN in Homeassistant hinterlegen. Dazu laden wir die Zertifikatsdatei "minimal certificate list hier herunter: Root Certificates. Mit dem "File Editor" navigieren wir jetzt eine Ebene höher als /homeassistant und öffnen dann den Ordner "ssl". In diesem Ordner laden wir die ca.pem hoch.
Nächster Schritt: MQTT Bridge einrichten
Mit dem "File Editor" gehen wir wieder eine Ebene höher und öffnen dann den Ordner "share". Hier erstellen wir nun den Ordner "mosquitto" und darin dann die Datei "mosquitto.conf" mit folgendem Inhalt:
Die /homeassistant/configuration.yaml wird am Ende um folgenden Code erweitert, der die "payload", also die Daten, die der ELV-LW-ESI liefert, für Home Assistant übersetzt:
Das state_topic entspricht der Kombination aus dem remote_username der Datei mosquitto.conf und der eui des ELV-LW-ESI in der Übersicht der angelegten Applikation:
Nach einem Neustart und Datenempfang vom Zähler sollte jetzt beim "Energie" Panel von Home Assistant der Gasverbrauch fertig zur Einrichtung sein: Dazu klickt man oben rechts im Drei Punkte Menü auf "Energiekonfiguration", woraufhin sich die unterschiedlichen Energiearten wie Strom, Gas, Wasser etc. konfigurieren lassen und nach dem Abspeichern in diesem Panel angezeigt werden.
Dir hat der Beitrag weiter geholfen? Diese Seite finanziert sich durch Spenden der LeserInnen. Wir freuen uns über Unterstützung via:
Für die Anleitung setze ich folgendes voraus:
- Ein LoRaWAN Gateway ist vorhanden und eingebunden.
- Es wird The Things Network (TTN) genutzt.
- Homeassistant ist installiert und das Add-on Mosquitto broker ist hinzugefügt und aktiviert. Dieses Add-on muss wie folgt konfiguriert sein:
Hier nun die Konfiguration im ttn Stack, als erstes eine Applikation anlegen, dann unter "Integrations" einen API Key sowie Username erstellen, abfragen und kopieren.
Bitte den API Key speichern und ebenfalls die anderen Informationen. Sie werden noch gebraucht. Der ELV-LW-ESI ist zu einer TTN Applikation hinzugefügt. Dazu den "Device Repository Formatter", den ELV zur Verfügung stellt nutzen:
Für die nächsten Schritte, in denen unter anderem auf die Dateistruktur von Home Assistant zugegriffen werden muss nehme ich einfach das Add-on "File Editor", das einfach nachinstalliert werden kann. Wichtig für die folgenden Schritte: Änderungen in der Konfiguration vom "File Editor":
Nun die Zertifikate von TTN in Homeassistant hinterlegen. Dazu laden wir die Zertifikatsdatei "minimal certificate list hier herunter: Root Certificates. Mit dem "File Editor" navigieren wir jetzt eine Ebene höher als /homeassistant und öffnen dann den Ordner "ssl". In diesem Ordner laden wir die ca.pem hoch.
Nächster Schritt: MQTT Bridge einrichten
Mit dem "File Editor" gehen wir wieder eine Ebene höher und öffnen dann den Ordner "share". Hier erstellen wir nun den Ordner "mosquitto" und darin dann die Datei "mosquitto.conf" mit folgendem Inhalt:
connection elv address eu1.cloud.thethings.network:8883 cleansession true remote_username elv-lw-esi-xxxxx@ttn remote_password NNSXS.SupersicheresPasswort try_private false bridge_insecure false bridge_cafile /ssl/ca.pem topic # in 0 ttn/Dabei setzt man in hinter remoteusername den oben erstellten Usernamen ein und hinter remotepassword den API Key.
Die /homeassistant/configuration.yaml wird am Ende um folgenden Code erweitert, der die "payload", also die Daten, die der ELV-LW-ESI liefert, für Home Assistant übersetzt:
# Anfang Gaszähler - name: "Gasverbrauch" state_topic: "ttn/v3/elv-lw-esi-xxx@ttn/devices/eui-xxxxxxxxx/up" value_template: "{{ value_json['uplink_message']['decoded_payload']['Energy_Data']['Energy_Counter'][0]}}" unit_of_measurement: "m³" device_class: "energy" state_class: "total_increasing" unique_id: elv_lw_esi device: identifiers: "elvlwesi" manufacturer: "ELV" name: "ELV Gaszähler" # Ende GaszählerFolgende Anpassungen müssen darin noch vorgenommen werden:
Das state_topic entspricht der Kombination aus dem remote_username der Datei mosquitto.conf und der eui des ELV-LW-ESI in der Übersicht der angelegten Applikation:
Nach einem Neustart und Datenempfang vom Zähler sollte jetzt beim "Energie" Panel von Home Assistant der Gasverbrauch fertig zur Einrichtung sein: Dazu klickt man oben rechts im Drei Punkte Menü auf "Energiekonfiguration", woraufhin sich die unterschiedlichen Energiearten wie Strom, Gas, Wasser etc. konfigurieren lassen und nach dem Abspeichern in diesem Panel angezeigt werden.
Dir hat der Beitrag weiter geholfen? Diese Seite finanziert sich durch Spenden der LeserInnen. Wir freuen uns über Unterstützung via:
LiberaPay
BitCoin:
bc1qgthwzrszw48lw9jl8zjg94fp6w6xfkw0929vg0
oder PayPal