Skip to content
mattuschek edited this page Nov 1, 2024 · 71 revisions

Wiki - In ioBroker einen Stromzähler mit IR Lesekopf auslesen und Daten in InfluxDB 2 speichern

Dieses Wiki befindet sich im Aufbau, Stand 01.11.2023.


Top Anleitungen

Bitte unbedingt lesen!
Hier wird so gut wie alles erklärt.
https://ottelo.jimdofree.com/stromz%C3%A4hler-auslesen-tasmota/
https://hessburg.de/tasmota-wifi-smartmeter-konfigurieren/

Mein Stromzähler "EMH Metering eHZ-P"

https://emh-metering.com/produkte/haushaltszaehler-smart-meter/ehz-p/

Zwei mögliche Leseköpfe mit WLAN

Hichi IR Lesekopf mit 1,5m Kabel und Wemos D1 Mini
(WLAN kann außerhalb Zählerkasten platziert werden)
https://www.ebay.de/itm/314727468492

Hichi IR WIFI Lesekopf
(WLAN direkt im Lesekopf, deshalb WLAN innerhalb Zählerkasten)
https://www.amazon.de/dp/B0CH95T7X4/

Ich habe den "Hichi IR Lesekopf mit 1,5m Kabel und Wemos D1 Mini" gekauft:
https://www.ebay.de/itm/314727468492

Lieferung

Wemos D1 Mini vorne

Wemos D1 Mini hinten

Wemos D1 Mini Kabelbelegung

Benötigte ioBroker-Adapter

"Sonoff" - Zum Auslesen der Daten vom IR Lesekopf mit Tasmota.
"InfluxDB" - Zum Speichern der ausgelesen Daten in InfluxDB (Datenbank).

Vorbereitung Stromzähler

Wichtig!
Zwei Punkte sind beim Stromzähler zu beachten.

  1. PIN = OFF
    Im Stromzähler muss die PIN-Abfrage deaktiviert werden.
    Das ist immer der Fall, wenn im Display die Momentanwirkleistung angezeigt wird.

  2. INF = ON
    Im Stromzähler muss INF aktiviert werden.

Punkt 2 war bei mir nicht der Fall.
Deshalb wurde bei mir in Tasmota der aktuelle Verbrauch nicht angezeigt.

Wemos D1 Mini

Anschluss Lesekopf:
Das RX Signal des Lesekopfes muss an einem bestimmten GPIO angeschlossen werden.
Standard ist GPIO 3 (RX).
Der GPIO kann aber im Tasmota SML Script geändert werden.
https://ottelo.jimdofree.com/stromz%C3%A4hler-auslesen-tasmota/#4d

ESP8266 Pinout Reference
https://randomnerdtutorials.com/esp8266-pinout-reference-gpios/

Der zum Flashen benötigte Windows-Treiber "CH340" kann hier heruntergeladen werden:
https://www.wemos.cc/en/latest/ch340_driver.html

Tasmota

Tasmota flashen

Video-Anleitung:
https://www.youtube.com/watch?v=RbyXqJiBC8Q

Software Tasmotizer herunterladen.
https://github.com/tasmota/tasmotizer

Tasmota Image herunterladen.
Für den Wemos D1 Mini das 4M+ Flash Image.
https://ottelo.jimdofree.com/stromz%C3%A4hler-auslesen-tasmota/#Downloads

Achtung!
Während dem Flashen darf nichts an RX und TX angeschlossen sein!

Falls im WLAN ein MAC-Filter verwendet wird, bitte die in Tasmotizer angezeigt MAC merken.

Tasmota konfigurieren

Komplette Anleitung:
https://hessburg.de/tasmota-wifi-smartmeter-konfigurieren/

WLAN konfigurieren:
https://hessburg.de/tasmota-wifi-smartmeter-konfigurieren/#wlan_konfigurieren

Ersteinrichtung:
https://hessburg.de/tasmota-wifi-smartmeter-konfigurieren/#ersteinrichtung

Das Test-Skript von der Webseite "Ersteinrichtung" hat bei mir NICHT funktioniert, weil keine Suchzeilen im Skript sind.
Dieses Test-Skript bitte nicht verwenden!

>D
>B
=>sensor53 r
>M 1
+1,3,s,0,9600,Haus
#

Fertiges Ausleseskript von Tasmota für eigenen Smart Meter kopieren.
https://tasmota.github.io/docs/Smart-Meter-Interface/

Nachfolgend das Skript für den "EMH Metering eHZM".
Das Skript passt, weil hier die OBIS-Kennzahlen identisch zu meinem "EMH Metering eHZ-P" sind.
Achtung!
Vor dem Befehl "sensor53" muss ein Istgleich-Zeichen "=" sein und kein Minus "-"!

>D
>B
=>sensor53 r
>M 1
+1,3,s,0,9600,
1,77070100600100FF@#,Zaehlernummer,,serialnr,16
1,77070100010800FF@1000,Pos Wirkenergie tariflos,kWh,pos_wirk_tariflos,1
1,77070100010801FF@1000,Pos Wirkenergie Tarif 1,kWh,pos_wirk_tarif_1,1
1,77070100010802FF@1000,Pos Wirkenergie Tarif 2,kWh,pos_wirk_tarif_2,1
1,77070100020800FF@1000,Neg Wirkenergie tariflos,kWh,neg_wirk_tariflos,1
1,77070100020801FF@1000,Neg Wirkenergie Tarif 1,kWh,neg_wirk_tarif_1,1
1,77070100020802FF@1000,Neg Wirkenergie Tarif 2,kWh,neg_wirk_tarif_2,1
1,77070100100700FF@1,Momentanwirkleistung,W,momentanwirkleistung,0
#

Obiges Ausleseskript umgebaut für meinen Anwendungsfall.
Nur Zählerstand in kWh und aktueller Verbrauch in W werden übertragen.

EMH Metering eHZ-P
Achtung!
Vor dem Befehl "sensor53" muss ein Istgleich-Zeichen "=" sein und kein Minus "-"!

>D
>B
=>sensor53 r
>M 1
+1,3,s,0,9600,Haus
1,77070100010800FF@1000,Zaehlerstand,kWh,Total_in,1
1,77070100100700FF@1,Aktueller Verbrauch,W,Power_curr,0
#

Zum Testen, ob vom Stromzähler Daten ankommen, den Sensor im Raw Dump Mode starten.

Dazu im Tasmota-Webinterface unter
"Consoles" > "Console"
folgenden Befehl eingeben:

sensor53 d1

Befehl mit Return abschließen.

Tasmota feste IP-Adresse zuweisen

https://www.smarthome-tricks.de/esp8266/tasmota-feste-ip-adresse-zuweisen/

Dazu im Tasmota-Webinterface unter
"Consoles" > "Console"
folgende Befehle eingeben.
Hierzu natürlich die IP-Adresse entsprechend an das eigene Netzwerk anpassen.

savedata 1
ipaddress1 192.168.2.130
savedata 0

Jeden Befehl mit Return abschließen.

In ioBroker Sonoff konfigurieren

In ioBroker den Sonoff-Adapter installieren.

Sonoff konfigurieren:
https://forum.iobroker.net/topic/35033/sonoff-adapter/15?_=1697979622826

Ich verwende für Sonoff Port 1885, weil MQTT auf Port 1883 läuft.

In Tasmota unter
"Configuration" > "Configure Logging"
steht der Parameter "Telemetry period" per Default auf 300 Sek. = 5 Min.
Dadurch werden die Daten aber nur alle 5 Min. in ioBroker aktualisiert.
Ich habe "Telemetry period" auf 10 Sek. gestellt, damit der aktuelle Verbrauch schneller in ioBroker aktualisiert wird.

ioBroker Sonoff Instanz
ioBroker_Sonoff_Instanz

Tasmota Configuration MQTT
Tasmota_Configuration_MQTT

Tasmota Configuration Logging
Tasmota_Configuration_Logging

Tasmota Configuration Other
Tasmota_Configuration_Other

InfluxDB 2

Installing InfluxDB to the Raspberry Pi
https://pimylifeup.com/raspberry-pi-influxdb/

InfluxDB OSS v2 Documentation
https://docs.influxdata.com/influxdb/v2/
Install InfluxDB | InfluxDB OSS v2 Documentation
https://docs.influxdata.com/influxdb/v2/install/?t=Linux

InfluxData Downloads
https://portal.influxdata.com/downloads/
InfluxData - Package Repository
https://repos.influxdata.com/

InfluxDB 2 installieren

Nach dieser Anleitung habe ich InfluxDB 2 installiert.
Dort wird jeder Schritt erlärt, was dabei passiert.
https://pimylifeup.com/raspberry-pi-influxdb/

# InfluxDB-Key zum Ordner "/usr/share/keyrings/" hinzufügen.
curl https://repos.influxdata.com/influxdata-archive.key | gpg --dearmor | sudo tee /usr/share/keyrings/influxdb-archive-keyring.gpg >/dev/null
# Kontrolle
ls -lh /usr/share/keyrings/
# Repository zur sources list hinzufügen.
# (lsb_release -cs) liest den Namen der Debian-Version aus (z.B. bullseye) und setzt ihn in den String ein.
echo "deb [signed-by=/usr/share/keyrings/influxdb-archive-keyring.gpg] https://repos.influxdata.com/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
# Kontrolle
ls -lh /etc/apt/sources.list.d
cat /etc/apt/sources.list.d/influxdb.list
# RPi updaten, InfluxDB 2 installieren, Dienst starten
sudo apt update && sudo apt upgrade -y
sudo apt install influxdb2
sudo systemctl unmask influxdb
sudo systemctl enable influxdb
sudo systemctl start influxdb
sudo systemctl status influxdb

InfluxDB 2 konfigurieren

Zum Webinterface verbinden:
http://IPADDRESS:8086/

InfluxDB-Grundkonfiguration durchführen.

In ioBroker InfluxDB konfigurieren

In ioBroker den InfluxDB-Adapter installieren.

InfluxDB konfigurieren siehe Abschnitt "ioBroker mit InfluxDB verbinden":
https://blog.helmutkarger.de/balkonkraftwerk-teil-11-visualisierung-fuer-ahoydtu-und-opendtu-mit-grafana/

ioBroker_InfluxDB_Instanz