Wenn du einen smarten Stromzähler über einen IR-Lesekopf mit Tasmota (wie den BitShake SMR) eingebunden hast, stellst du oft fest: Die Leistungsdaten landen standardmäßig nur alle fünf Minuten in Home Assistant. Für die Steuerung einer dynamischen Nulleinspeisung oder das Erkennen von getakteten Großverbrauchern ist das viel zu träge. Mit zwei Ansätzen über das Tasmota-Skript oder eine MQTT-Automatisierung bringst du die Aktualisierung auf ein sekundengenaues Intervall.
Das brauchst du
- Einen freigeschalteten digitalen Stromzähler (PIN eingegeben, vollständiger Datensatz aktiv)
- Einen SMR-IR-Lesekopf mit Tasmota (z. B. BitShake)
- Die MQTT-Integration in Home Assistant (die Schnittstelle zur Kommunikation über das leichtgewichtige MQTT-Netzwerkprotokoll)
Weg 1: Push-Aktualisierung über das Tasmota-Skript
Ein möglicher Weg kommt ohne ständiges Abfragen aus Home Assistant aus: Bei manchen Stromzählern lässt sich die Übertragung direkt über das Tasmota-Skript beschleunigen.
- Öffne die Weboberfläche deines Tasmota-Lesekopfs im Browser.
- Navigiere zu Werkzeuge > Skript (bzw. Skript konfigurieren).
- Suche die Zeile für die aktuelle Leistung. Laut Erfahrungsberichten aus der Community kann am Ende der Zeile für den Leistungswert anstelle der einfachen Nachkommastelle ein Wert wie
18(bzw. ein um 16 erhöhter Wert) eingetragen werden, damit veränderte Messwerte fortlaufend im Sekundentakt an Home Assistant übergeben werden. - Speichere das Skript ab und prüfe die Werteübertragung.
Weg 2: Sekündliches Polling per Home-Assistant-Automatisierung
Falls dein Lesekopf kein editierbares Skript anbietet oder du die Abfrage zwingend aus Home Assistant heraus takten möchtest, kannst du die Sensordaten sekündlich über einen MQTT-Befehl anfordern.
- Gehe in Home Assistant auf Einstellungen > Automatisierungen & Szenen und erstelle eine neue Automatisierung.
- Klicke oben rechts auf die drei Punkte und wähle In YAML bearbeiten.
- Füge den folgenden Code ein. Passe die Platzhalter
sensor.bitshake_smartmeterreader_emh_powersowietasmota_UniqueIDan deine Geräte-IDs an.
Füge diesen Code in den YAML-Editor deiner neuen Automatisierung ein:
alias: SMR - Stromfluss pollen
description: "Fragt Sensorwerte sekündlich per MQTT ab"
triggers:
- trigger: time_pattern
seconds: /1
conditions:
- condition: not
conditions:
- condition: state
entity_id: sensor.bitshake_smartmeterreader_emh_power
state: unavailable
actions:
- action: mqtt.publish
data:
qos: 0
retain: false
topic: cmnd/tasmota_UniqueID/Status
payload: "10"
mode: singleSpeichere die Automatisierung ab.
Funktioniert es?
Beobachte die Entität – also den Datenpunkt – deines Stromzählers unter Entwicklerwerkzeuge > Zustände oder direkt auf deinem Dashboard. Schaltest du einen Wasserkocher oder Herd an, muss sich der Leistungswert nun praktisch verzögerungsfrei im Sekundentakt anpassen. In der Tasmota-Webkonsole siehst du parallel die sekündlich eintreffenden Zeilen mit tele/.../SENSOR.
Wenn es nicht klappt
- Zähler liefert keine Momentanleistung: Werden keine Live-Werte für die Leistung (Watt) angezeigt, kann es sein, dass der Zähler noch per PIN freigeschaltet und der erweiterte Datensatz (InF-Modus) auf „on“ gestellt werden muss.
- Entität bleibt unverändert: Überprüfe, ob das Topic
cmnd/tasmota_UniqueID/Statusexakt zum Präfix deines Lesekopfs passt. Prüfe im Tasmota-Terminal, ob der BefehlStatus 10manuell eine Ausgabe erzeugt. - Zu hohe WLAN-Last: Werden Werte verschluckt, reduziere das Abfrageintervall in der Automatisierung von
/1auf beispielsweise/2oder/3Sekunden. - Teleperiod-Begrenzung: Der Standard-Tasmota-Befehl
teleperiodlässt sich regulär nicht unter 10 Sekunden einstellen; nutze daher die Skript-Anpassung oder den Polling-Befehl mit Payload10.
Mit den sekündlichen Leistungswerten hast du die ideale Datengrundlage, um Speicherbatterien oder steuerbare Verbraucher dynamisch nach dem Überschuss deiner Solaranlage zu regeln.
Quellen: Forum: Simon42 – Forum, community.simon42.com, de.elv.com
