Home Assistant (WLAN)¶
Im Wi-Fi-Modus sendet der WattWächter WiFi/USB seine Zählerwerte per MQTT ins Heimnetz. Home Assistant nimmt sie über die eingebaute Tasmota-Integration entgegen — das Gerät wird automatisch erkannt, ohne USB-Kabel am Home-Assistant-Server und ohne Cloud. Die Anleitung gilt für Gen.1 und Gen.2; die wenigen Unterschiede stehen am Ende der Seite.
Zwei Wege zu Home Assistant
- Per WLAN (diese Seite) — Gerät hängt am Zähler, Daten kommen per MQTT. Funktioniert überall im Haus.
- Per USB — Gerät hängt am USB-Port des Home-Assistant-Servers, siehe Home Assistant (USB). Nur sinnvoll, wenn der Server direkt neben dem Zähler steht.
Nutze nur einen der beiden Wege, sonst gibt es die Zähler doppelt.
Voraussetzungen¶
- WattWächter WiFi/USB ist in Betrieb genommen: mit dem WLAN verbunden, Leseskript aktiv, und die Zählerwerte erscheinen auf der Hauptseite seiner Weboberfläche
- Home Assistant mit einem MQTT-Broker — bei Home Assistant OS/Supervised das Add-on Mosquitto broker, sonst ein eigener Broker im Netz
- Gen.1 im Wi-Fi-Modus (Werkseinstellung, siehe Betriebsmodus festlegen); bei Gen.2 ist er immer aktiv
Schritt 1 — MQTT-Broker in Home Assistant¶
Falls du noch keinen Broker hast:
- Einstellungen → Add-ons → Add-on Store → Mosquitto broker installieren und starten
- Einstellungen → Geräte & Dienste — die MQTT-Integration wird jetzt automatisch vorgeschlagen; mit Konfigurieren bestätigen
- Lege unter Einstellungen → Personen → Benutzer einen eigenen Benutzer für den WattWächter an (z. B.
wattwaechter). Das Mosquitto-Add-on akzeptiert alle Home-Assistant-Benutzer als MQTT-Login.
Die IP-Adresse deines Home-Assistant-Servers brauchst du gleich als Broker-Host.
Eigener Broker
Mit einem externen Broker (z. B. Mosquitto auf einem Raspberry Pi) trägst du dessen IP und Zugangsdaten sowohl in der MQTT-Integration von Home Assistant als auch im WattWächter ein. Falls du dort eine ACL-Datei pflegst, braucht der WattWächter Schreibrechte auf tasmota/discovery/#.
Schritt 2 — MQTT am WattWächter einrichten¶
Öffne die Weboberfläche des WattWächters (IP-Adresse aus der Inbetriebnahme) und gehe zu Configuration → Configure MQTT.
| Feld | Eintrag |
|---|---|
| Host | IP-Adresse des Home-Assistant-Servers bzw. des Brokers |
| Port | 1883 |
| Client | unverändert lassen |
| User / Password | der in Schritt 1 angelegte Benutzer |
| Topic | unverändert lassen — das ist der eindeutige Name des Geräts im MQTT-Netz. Notiere ihn, du brauchst ihn zum Prüfen. |
| Full Topic | unverändert lassen (%prefix%/%topic%/) |
Mit Save startet der WattWächter neu und verbindet sich mit dem Broker.
Full Topic nicht ändern
Die Tasmota-Integration von Home Assistant setzt die Standardstruktur %prefix%/%topic%/ voraus. Mit einem anderen Full Topic wird das Gerät nicht erkannt.
Prüfen: Auf der Hauptseite unter Information steht bei MQTT Host dein Broker und bei MQTT Connected ein grünes Ja. In Tools → Console siehst du alle paar Minuten eine Zeile MQT: tele/<topic>/SENSOR = {…} mit deinen Zählerwerten.
Schritt 3 — Tasmota-Integration in Home Assistant¶
- Einstellungen → Geräte & Dienste → Integration hinzufügen
- Nach Tasmota suchen und auswählen
- Den vorgeschlagenen Discovery-Präfix
tasmota/discoverymit Absenden bestätigen
Der WattWächter erscheint innerhalb weniger Sekunden als neues Gerät — die automatische Erkennung ist bei Tasmota ab Werk aktiv (SetOption19 0).
Falls nicht, schreibe in der Konsole des WattWächters (Tools → Console) einmal:
SetOption19 0
Schritt 4 — Sensoren prüfen¶
Unter Einstellungen → Geräte & Dienste → Tasmota findest du das Gerät. Es bringt für jeden Wert aus dem Leseskript einen Sensor mit. Die Namen setzen sich aus dem Präfix des Skripts und dem Bezeichner der jeweiligen Zeile zusammen — bei den WattWächter-Skripten typischerweise:
| Sensor | Bedeutung | Quelle im Skript |
|---|---|---|
… E_in |
Bezug gesamt (kWh) | E_in |
… E_out |
Einspeisung gesamt (kWh) | E_out |
… Power |
Aktuelle Wirkleistung (W), negativ bei Einspeisung | Power |
Je nach Skript kommen weitere hinzu (Leistung je Phase, Spannungen, Zählernummer …). Zusätzlich legt die Integration einige Status-Sensoren des Geräts an (WLAN-Signal, Laufzeit …), die standardmäßig deaktiviert sind.
Werte kommen alle 5 Minuten
Tasmota sendet die Zählerwerte per Telemetrie, standardmäßig alle 300 Sekunden. Bis der erste Wert erscheint, kann es also bis zu fünf Minuten dauern. Kürzer geht es unter Configuration → Logging → Telemetry period (minimal 10 s) — siehe FAQ → MQTT-Sendeintervall anpassen.
Schritt 5 — Einheiten ergänzen und Energie-Dashboard¶
Tasmota überträgt keine Einheiten. Home Assistant kennt für den Bezeichner Power die Einheit Watt von selbst; die Energiezähler E_in und E_out kommen dagegen ohne Einheit an und lassen sich so nicht ins Energie-Dashboard aufnehmen.
Die sauberste Lösung sind zwei Template-Sensoren in der configuration.yaml, die den Wert übernehmen und mit Einheit, Geräteklasse und Zustandsklasse versehen. Ersetze sensor.tasmota_… durch die Entitäts-IDs aus Schritt 4:
template:
- sensor:
- name: "Stromzähler Bezug"
unique_id: wattwaechter_bezug
unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing
state: "{{ states('sensor.tasmota_e_in') | float(0) | round(3) }}"
availability: "{{ states('sensor.tasmota_e_in') not in ['unknown', 'unavailable'] }}"
- name: "Stromzähler Einspeisung"
unique_id: wattwaechter_einspeisung
unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing
state: "{{ states('sensor.tasmota_e_out') | float(0) | round(3) }}"
availability: "{{ states('sensor.tasmota_e_out') not in ['unknown', 'unavailable'] }}"
Nach Entwicklerwerkzeuge → YAML → Template-Entitäten neu laden stehen die beiden Sensoren bereit.
Dann: Einstellungen → Dashboards → Energie → Stromnetz → Netzverbrauch hinzufügen = Stromzähler Bezug; Rückspeisung ins Netz hinzufügen = Stromzähler Einspeisung. Das Dashboard füllt sich nach etwa zwei Stunden mit den ersten Daten.
Nur Bezug?
Ohne PV-Anlage genügt der erste Sensor; E_out bleibt dann bei 0 oder fehlt im Skript.
Alternative: MQTT-Sensoren von Hand¶
Wenn du die Tasmota-Integration nicht nutzen möchtest — etwa weil das Full Topic aus anderen Gründen geändert ist —, kannst du die Werte auch direkt aus dem Telemetrie-Topic lesen. Einheiten und Klassen legst du dabei gleich mit fest, Template-Sensoren entfallen.
Setze <topic> aus Schritt 2 und <präfix> aus der ersten Zeile des >M-Blocks deines Skripts ein (z. B. MT681, DD3 — der Bezeichner hinter der Baudrate):
mqtt:
sensor:
- name: "Stromzähler Bezug"
unique_id: wattwaechter_bezug
state_topic: "tele/<topic>/SENSOR"
value_template: "{{ value_json['<präfix>']['E_in'] }}"
unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing
- name: "Stromzähler Einspeisung"
unique_id: wattwaechter_einspeisung
state_topic: "tele/<topic>/SENSOR"
value_template: "{{ value_json['<präfix>']['E_out'] }}"
unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing
- name: "Stromzähler Leistung"
unique_id: wattwaechter_leistung
state_topic: "tele/<topic>/SENSOR"
value_template: "{{ value_json['<präfix>']['Power'] }}"
unit_of_measurement: "W"
device_class: power
state_class: measurement
Wie die Nachricht genau aussieht, zeigt die Konsole des WattWächters (MQT: tele/<topic>/SENSOR = {"Time":"…","<präfix>":{"E_in":…,"E_out":…,"Power":…}}) — daran orientierst du die value_template-Pfade.
Unterschiede Gen.1 / Gen.2¶
| Gen.1 | Gen.2 | |
|---|---|---|
| Wi-Fi-Modus | per Jumper, ab Werk aktiv (Betriebsmodus) | immer aktiv |
| MQTT-Einrichtung | identisch | identisch |
| Verschlüsseltes MQTT (TLS) | nicht verfügbar — im Heimnetz Port 1883 verwenden |
möglich, für diese Anleitung nicht nötig |
| Werksreset | siehe FAQ → Reset | Funktionstaste 7 Sekunden halten |
Fehlerbehebung¶
Gerät erscheint nicht in Home Assistant
- Steht MQTT Connected auf der Informationsseite des WattWächters auf Ja? Wenn nicht: Host, Port und Zugangsdaten prüfen; bei Mosquitto muss der Benutzer in Home Assistant existieren.
- Ist die Tasmota-Integration in Home Assistant angelegt (nicht nur MQTT)?
- In der Konsole des WattWächters
SetOption19 0eingeben — das löst die Discovery-Nachricht erneut aus. - Full Topic muss
%prefix%/%topic%/sein. - Bei einem eigenen Broker mit ACL: Schreibrecht auf
tasmota/discovery/#fehlt.
Gerät ist da, aber die Zähler-Sensoren fehlen oder sind unbekannt
- Zeigt die Hauptseite des WattWächters Werte an? Wenn nicht, ist das Problem das Leseskript oder die Position am Zähler — siehe Inbetriebnahme und FAQ.
- Bis zu 5 Minuten warten (Telemetrie-Intervall) oder in der Konsole
TelePeriod 10eingeben, um es zu beschleunigen. - Nach einem Skriptwechsel legt Home Assistant neue Sensoren an; alte bleiben als nicht verfügbar stehen und können gelöscht werden.
Sensor lässt sich nicht im Energie-Dashboard auswählen
Dem Sensor fehlen device_class: energy und state_class: total_increasing — siehe Schritt 5.
Werte in Home Assistant stimmen nicht mit dem Zähler überein
Der WattWächter überträgt exakt das, was das Skript liest. Prüfe den Wert auf der Hauptseite des WattWächters; weicht er dort schon ab, passt der Nachkommastellen-Faktor in der Skriptzeile — siehe Zähler-Skripte.
Weiterführend: Tasmota-Doku → Home Assistant, Home Assistant → Tasmota-Integration, Tasmota → Smart Meter Interface.