Zum Inhalt

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:

  1. EinstellungenAdd-onsAdd-on StoreMosquitto broker installieren und starten
  2. EinstellungenGeräte & Dienste — die MQTT-Integration wird jetzt automatisch vorgeschlagen; mit Konfigurieren bestätigen
  3. Lege unter EinstellungenPersonenBenutzer 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 ConfigurationConfigure 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 ToolsConsole siehst du alle paar Minuten eine Zeile MQT: tele/<topic>/SENSOR = {…} mit deinen Zählerwerten.


Schritt 3 — Tasmota-Integration in Home Assistant

  1. EinstellungenGeräte & DiensteIntegration hinzufügen
  2. Nach Tasmota suchen und auswählen
  3. Den vorgeschlagenen Discovery-Präfix tasmota/discovery mit 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 (ToolsConsole) einmal:

SetOption19 0

Schritt 4 — Sensoren prüfen

Unter EinstellungenGeräte & DiensteTasmota 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 ConfigurationLoggingTelemetry 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 EntwicklerwerkzeugeYAMLTemplate-Entitäten neu laden stehen die beiden Sensoren bereit.

Dann: EinstellungenDashboardsEnergieStromnetzNetzverbrauch 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 0 eingeben — 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 10 eingeben, 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.