So integrierst du dein Smart Meter mit Tasmota und Home Assistant
Die Überwachung deines Stromverbrauchs mit einem Smart Meter kann dir helfen, deine Energieeffizienz zu verbessern und langfristig Kosten zu senken. Mit Tasmota und einem ESP-basierten Gerät kannst du die Daten deines Smart Meters direkt in Home Assistant visualisieren. Allerdings können während der Einrichtung häufig Probleme auftreten. Dieser Artikel hilft dir dabei, typische Fehler zu erkennen und zu beheben, sodass du deinen Stromverbrauch erfolgreich überwachen kannst.
Typische Probleme bei der Smart Meter Integration mit Tasmota
1. Keine Datenübertragung vom Smart Meter
Oft ist das erste Problem, dass keine Daten vom Smart Meter ankommen. Dies kann verschiedene Ursachen haben, von einer falschen Pin-Zuweisung bis hin zu einer fehlerhaften Baudrate.
Mir hat das sehr viel Nerven gekostet, rauszufinden wo der Fehler liegt.
Deshalb hier die Tipps, die mir geholfen haben.
Lösung:
Prüfe zunächst die Konfiguration deines Zählers in der Tasmota-Konsole.
Für fast jeden Zähler gibt es hier eine Vorlage. (Nur auf Englisch) https://tasmota.github.io/docs/Smart-Meter-Interface/
Beispiel wäre für meinen Zäher Apator APOX+ (SML)~
>D
>B
->sensor53 r
>M 1
+1,3,s,0,9600,SML
1,77070100010801ff@1000,Verbrauch_Tarif_1,kWh,Total_Tarif1,3
1,77070100010802ff@1000,Verbrauch_Tarif_2,kWh,Total_Tarif2,3
1,77070100010800ff@1000,Verbrauch_Summe,kWh,Total_Summe,3
1,77070100020800ff@1000,Einspeisung_Summe,kWh,Total_Einsp,3
1,77070100100700ff@1,Current consumption,W,Power_curr,3
1,=h ----
1,770701001f0700ff@1,Current L1,A,Curr_p1,3
1,77070100330700ff@1,Current L2,A,Curr_p2,3
1,77070100470700ff@1,Current L3,A,Curr_p3,3
1,=h ----
1,77070100200700ff@1,Voltage L1,V,Volt_p1,3
1,77070100340700ff@1,Voltage L2,V,Volt_p2,3
1,77070100480700ff@1,Voltage L3,V,Volt_p3,3
#
Jedoch passt die nicht immer
Hier eine typische Meter-Definition:
+<M>,<rxGPIO>,<type>,<flag>,<parameter>,<jsonPrefix>{,<txGPIO>,<txPeriod>,<cmdTelegram>}
- +<M>: Meter-Nummer (z.B. 1 bis 5).
- <rxGPIO>: Der GPIO-Pin, an dem der ESP die Daten empfängt (z.B.
RX
für den Lesekopf). Bei Modbus TCP gibst du hier eine IP-Adresse an. - <type>: Der Typ des Zählers, z.B.
s
für SML-Nachrichten oderm
für Modbus. Häufig in Deutschland ist o für OBIS.- –
o
– OBIS ASCII type of coding
–s
– SML binary smart message coding
–e
– EBus binary coding
–v
– VBus binary coding
–m
– MODBus binary coding with serial mode 8N1
–M
– MODBus binary coding with serial mode 8E1
–k
– Kamstrup binary coding with serial mode 8N1
–C
– CANBus type
–c
– Counter type
–r
– Raw binary coding (any binary telegram)
- –
- <flag>: Optionen wie Pullup-Widerstand oder Medianfilter, um Messfehler zu reduzieren (z.B.
flag=16
).- –
0
– ohne pullup
–1
– mit pullup
–16
– median filter für die Ergebnisse
- –
- <parameter>: Die Baudrate des Zählers, z.B. 9600.
- <jsonPrefix>: Präfix für MQTT-Nachrichten und JSON-Übertragung.
- <txGPIO>: GPI0 Pin für die Übermittlung hin zum Smart Meter (Optional, hab ich noch nicht genutzt)
- <tx enable>: ob etwas übertragen werden soll
- <txPeriod>: wie oft was übertragen wird, in 100ms Einheit.
- <cmdTelegram>: hex code, der übertragen werden soll.
Das Skript fügst du unter „Tools“ „Edit Script“ ein.
Testen, ob Daten ankommen
Um sicherzustellen, dass alles korrekt verdrahtet und konfiguriert ist, gib in der Tasmota-Konsole folgenden Befehl ein: Dazu auf Tools, danach Console
sensor53 d1
Wenn alles richtig eingestellt und angeschlossen ist, sollte nun eine Reihe von Hex-Daten erscheinen.
Diese zeigen an, dass der ESP erfolgreich Daten vom Zähler empfängt. Falls keine Daten erscheinen, überprüfe die Verdrahtung (besonders den GPIO-Pin des Lesekopfes, z.B. TX auf RX beim ESP, außer bei speziellen Leseköpfen wie von Hichi, wo TX auf TX geht). Eventuell muss der Lesekopf auch leicht gedreht werden, um die richtige Position auf dem Zähler zu finden. Oder installiere ihn einfach mal auf dem Kopf.
Nachdem die Daten korrekt empfangen werden, gib den Befehl ein:
sensor53 d0
Damit wird das Debugging wieder deaktiviert, um unnötigen Traffic auf dem ESP zu vermeiden.
2. MQTT-Verbindung funktioniert nicht
Ein häufiges Problem bei der Integration ist eine fehlerhafte MQTT-Verbindung. Wenn die Daten vom Smart Meter nicht in Home Assistant ankommen, liegt dies oft an fehlerhaften Einstellungen im MQTT-Broker oder Verbindungsproblemen.
Lösung:
- Überprüfe in der Tasmota-Konfiguration die MQTT-Einstellungen:
- Ist die IP-Adresse des Brokers korrekt?
- Wichtig immer OHNE http also nur z.b. 192.168.1.13
- Sind der Benutzername und das Passwort richtig eingetragen?
- überprüfe am besten, ob du dich damit auch bei Home Assistant einloggen kannst.
- Ist die IP-Adresse des Brokers korrekt?
- Verwende die Tasmota-Konsole, um sicherzustellen, dass Daten an den MQTT-Broker gesendet werden:
Hier gibt es noch weitere Tipps in dem Artikel MQTT
status 10
status 10
Dieser Befehl zeigt dir die aktuell gesendeten MQTT-Nachrichten an. Falls hier keine Daten angezeigt werden, überprüfe die MQTT-Konfiguration nochmals und stelle sicher, dass der Broker erreichbar ist.
3. Inkorrekte oder fehlende Daten in Home Assistant
Manchmal zeigt Home Assistant entweder gar keine oder falsche Daten an. Dieses Problem kann durch eine falsche Sensorkonfiguration oder eine inkorrekte Baudrate verursacht werden.
Normal veröffentlicht Tasmota die richtigen Sensoren automatisch.
Lösung:
- Überprüfe die Sensoreinstellungen in Home Assistant, um sicherzustellen, dass die richtigen MQTT-Topics abonniert werden.
- Überprüfe die Baudrate des Smart Meters und passe diese in der Tasmota-Konsole an, falls nötig:bashCode kopieren
baudrate 9600
- Wenn die Baudrate korrekt ist, nutze erneut
sensor53 d1
, um die ankommenden Daten zu überprüfen. Falls weiterhin keine Daten ankommen, liegt das Problem möglicherweise in der Konfiguration oder Verkabelung.
4. Verzögerungen in der Datenübertragung
Verzögerungen bei der Übertragung von Daten vom Smart Meter in Home Assistant können durch schwaches WLAN oder Überlastung des MQTT-Brokers verursacht werden.
Lösung:
- WLAN-Optimierung: Stelle sicher, dass der ESP ein starkes WLAN-Signal empfängt. Setze gegebenenfalls einen Repeater ein oder platziere den ESP näher am Router.
- MQTT-Optimierung: Überprüfe, ob zu viele Geräte über den gleichen Broker kommunizieren und diesen möglicherweise überlasten. Falls nötig, setze einen dedizierten MQTT-Server auf, um die Last zu reduzieren.
5. Regelmäßige Verbindungsabbrüche
Regelmäßige Verbindungsabbrüche können durch ein instabiles Netzwerk oder zu viele MQTT-Nachrichten verursacht werden.
Lösung:
- Netzwerkoptimierung: Verwende, wenn möglich, ein stabileres Mesh-Netzwerk oder kabelgebundene Verbindungen für den MQTT-Broker.
- Broker-Überprüfung: Überprüfe das MQTT-Broker-Log auf Verbindungsfehler und reduziere die Frequenz der gesendeten Daten, falls nötig.
Fehleranalyse und Tipps zur Optimierung
1. Fehler bei der Baudrate-Erkennung
Eine falsche Baudrate kann dazu führen, dass keine oder unlesbare Daten vom Smart Meter empfangen werden.
Hier z.B. war die falsche Baud Rate eingestellt. Diese findest du meist bei der Anleitung deines Smart Meters, irgendwo steht dann Datenübertragungsrate oder Baud Rate
Lösung:
Passe die Baudrate über die Tasmota-Konsole an. Wenn dein Smart Meter beispielsweise mit 9600 Baud arbeitet, änder nun dein Skript hier in Fett die Baud Rate 9600
>D
>B
->sensor53 r
>M 1
+1,3,s,0,9600,SML
1,77070100010801ff@1000,Verbrauch_Tarif_1,kWh,Total_Tarif1,3
1,77070100010802ff@1000,Verbrauch_Tarif_2,kWh,Total_Tarif2,3
1,77070100010800ff@1000,Verbrauch_Summe,kWh,Total_Summe,3
1,77070100020800ff@1000,Einspeisung_Summe,kWh,Total_Einsp,3
1,77070100100700ff@1,Current consumption,W,Power_curr,3
1,=h ----
1,770701001f0700ff@1,Current L1,A,Curr_p1,3
1,77070100330700ff@1,Current L2,A,Curr_p2,3
1,77070100470700ff@1,Current L3,A,Curr_p3,3
1,=h ----
1,77070100200700ff@1,Voltage L1,V,Volt_p1,3
1,77070100340700ff@1,Voltage L2,V,Volt_p2,3
1,77070100480700ff@1,Voltage L3,V,Volt_p3,3
#
Danach überprüfe mit sensor53 d1
, ob die Daten korrekt empfangen werden.
2. Kalibrierung und Genauigkeit
Wenn die Messwerte fehlerhaft oder ungenau sind, kann eine Kalibrierung nötig sein. Der Medianfilter (Flag 16) kann helfen, unregelmäßige Werte zu glätten.
Lösung:
Aktiviere den Medianfilter durch Setzen des Flags flag=16
in der Meter-Definition, um sporadische Fehler zu minimieren.
3. Probleme mit der Strommessung über S0-Schnittstellen
Die S0-Schnittstellen reagieren empfindlich auf falsche Verkabelung. Dies kann zu Ausfällen oder ungenauen Werten führen.
Lösung:
Vergewissere dich, dass die S0-Schnittstelle korrekt verkabelt ist. Setze gegebenenfalls Pull-Up-Widerstände ein, um stabile Messwerte zu gewährleisten.
Best Practices für die Smart Meter Integration
- Stabile Netzwerkverbindung: Sorge für ein starkes WLAN-Signal, um eine stabile Datenübertragung zu gewährleisten. Nutze, wenn möglich, dedizierte WLAN-Kanäle für IoT-Geräte.
- Regelmäßige Firmware-Updates: Halte sowohl Tasmota als auch Home Assistant auf dem neuesten Stand, um von Bugfixes und neuen Funktionen zu profitieren.
- MQTT-Monitoring: Verwende Monitoring-Tools, um den Zustand deines MQTT-Brokers zu überwachen und potenzielle Probleme frühzeitig zu erkennen.
Zusammenfassung
Die Integration eines Smart Meters mit Tasmota und Home Assistant ist eine leistungsstarke Möglichkeit, deinen Stromverbrauch zu überwachen und zu optimieren. Allerdings können typische Probleme wie fehlende Baudraten oder Verbindungsabbrüche auftreten. Mit den hier vorgestellten Lösungen, insbesondere der Verwendung von Konsolenbefehlen wie sensor53 d1
, kannst du diese Fehler schnell beheben und dein Smart Meter erfolgreich integrieren.
Wenn du weitere Fragen hast oder Unterstützung bei der Einrichtung benötigst, hinterlasse gerne einen Kommentar! Dein Alkly
Alkly
Ich zeigt dir, wie du selber ohne Programmierkenntnisse und Herstellerunabhängig dein Zuhause mit selbst gebauter Smart Home-Technologie smart machen kannst.