Leider unterstützt Ihr Browser kein JavaScript!
Anmelden

MQTT-Energiezähler für Home Assistant: Manuelle YAML-Einrichtung

Manuelles Konfigurieren eines MQTT-Energiezählers in Home Assistant

Ein MQTT-Energiezähler kann Spannung, Strom, Wirkleistung sowie importierte/exportierte Energie an einen Broker in Ihrem lokalen Netzwerk veröffentlichen. Home Assistant abonniert diese Daten und wandelt die JSON-Werte in Sensor-Entitäten um, die in Dashboards, Automatisierungen und im Energie-Dashboard verwendet werden können.

Diese Anleitung erklärt die manuelle MQTT-Methode für IAMMETER-Energiezähler:

  1. Konfigurieren Sie den MQTT-Broker in der WebUI des Zählers;
  2. Verbinden Sie Home Assistant mit demselben Broker;
  3. Definieren Sie die erforderlichen MQTT-Sensoren in YAML;
  4. Fügen Sie importierte und exportierte Energie zum Energie-Dashboard hinzu.

Manuelles MQTT gibt Ihnen die vollständige Kontrolle über Entitätsnamen, Topics, Vorlagen und Metadaten. Wenn Sie bevorzugen, dass Home Assistant das Gerät und die Entitäten automatisch erstellt, verwenden Sie stattdessen MQTT Discovery.

Manuelles MQTT und MQTT Discovery sind unterschiedliche Methoden

Beide Methoden verwenden einen MQTT-Broker, aber die Einrichtung in Home Assistant ist unterschiedlich.

Funktion Manuelles MQTT MQTT Discovery
Broker-Konfiguration am Zähler Erforderlich Erforderlich
HA MQTT-Integration Erforderlich Erforderlich
YAML-Sensor-Definitionen Erforderlich Nicht erforderlich
Entitätsnamen und Vorlagen Vollständig vom Benutzer gesteuert Vom Zähler erstellt
Automatische Geräte-/Entitätserstellung Nein Ja
Am besten geeignet für Benutzerdefinierte MQTT-Systeme und Entitätsdefinitionen Schnellste Home Assistant-Einrichtung

Lassen Sie für diese Anleitung HA MQTT Discovery deaktiviert in der WebUI des Zählers. Dieser Schalter wird nur benötigt, wenn Sie die automatische Erkennung von Home Assistant wünschen.

Was Sie benötigen

  • einen IAMMETER-Energiezähler mit aktueller Firmware;
  • einen MQTT-Broker, der sowohl vom Zähler als auch von Home Assistant erreichbar ist;
  • die Broker-Adresse, den Port, den Benutzernamen und das Passwort;
  • die Seriennummer des Zählers;
  • Zugriff auf die YAML-Konfiguration von Home Assistant.

Der Broker kann auf demselben Rechner wie Home Assistant, im Mosquitto-Broker-Add-on, auf einem anderen LAN-Server oder auf einem entfernten Host laufen. Verwenden Sie einen lokalen Broker, wenn der gesamte Datenpfad im LAN bleiben soll.

Alle aktuellen IAMMETER-Zähler unterstützen manuelles MQTT. Einphasen-, Zweikanal- und Dreiphasenmodelle veröffentlichen unterschiedliche JSON-Array-Strukturen, daher müssen die Wertvorlagen zur tatsächlichen Nutzlast passen.

Schritt 1: Konfigurieren Sie den MQTT-Broker in der WebUI des Zählers

Öffnen Sie die lokale WebUI des Zählers und gehen Sie zu Settings. Konfigurieren Sie:

Einstellung Wert
Run Mode MQTT
Address MQTT-Broker-Hostname/IP und Port
Username Broker-Benutzername, falls erforderlich
Password Broker-Passwort, falls erforderlich
HA MQTT Discovery Deaktiviert für diese Anleitung zum manuellen MQTT

Speichern Sie die Einstellungen und lassen Sie den Zähler erneut verbinden.

Konfigurieren Sie den MQTT-Broker in der aktuellen IAMMETER-WebUI

Die aktuelle Firmware-WebUI unterstützt diese Broker-Einstellungen direkt. Sie müssen Benutzername und Passwort nicht über die ältere lokale API-Prozedur konfigurieren.

Vollständige Anweisungen zur Konfiguration des Zählers und für ältere Firmware finden Sie unter IAMMETER-Daten an einen MQTT-Broker veröffentlichen.

MQTT-Modus und IAMMETER Cloud

Wenn der Run Mode des Zählers auf MQTT geändert wird, veröffentlicht er Messwerte an Ihren Broker anstatt sie an die IAMMETER Cloud hochzuladen. Manuelles MQTT und IAMMETER Cloud laufen daher nicht gleichzeitig vom selben Zähler.

Wenn Sie Home Assistant und IAMMETER Cloud gleichzeitig benötigen, verwenden Sie stattdessen eine lokale HTTP- oder Modbus-TCP-Integration. Vergleichen Sie die verfügbaren Methoden in der Home Assistant-Energiezähler-Integrationsanleitung.

Schritt 2: Überprüfen Sie das MQTT-Topic und die Nutzlast

IAMMETER veröffentlicht Echtzeitmesswerte unter:

device/{SN}/realtime

Ersetzen Sie {SN} durch die Seriennummer des Zählers. Zum Beispiel:

device/80123456/realtime

Bevor Sie Home Assistant-Sensoren konfigurieren, abonnieren Sie das Topic mit einem MQTT-Client und bestätigen Sie, dass Nachrichten eintreffen. Dadurch wird vermieden, dass die YAML-Fehlerbehebung mit Broker-, Anmeldedaten-, Firewall- oder Topic-Problemen vermischt wird.

Einphasen-JSON

Ein Einphasenzähler verwendet ein Data-Array. Die ersten fünf Werte sind:

Array-Position Messwert
Data[0] Spannung
Data[1] Strom
Data[2] Wirkleistung
Data[3] Importierte Energie
Data[4] Exportierte Energie

Beispiel:

{
  "method": "uploadsn",
  "SN": "12345678",
  "Data": [228.91, 1.61, 225, 15066.47, 0]
}

Mehrkanal- und Dreiphasen-JSON

Mehrkanal- und Dreiphasenzähler verwenden ein Datas-Array. Jedes verschachtelte Array repräsentiert eine Phase oder einen Messkanal:

Datas[0] → Phase/Kanal A
Datas[1] → Phase/Kanal B
Datas[2] → Phase/Kanal C, falls vorhanden

Innerhalb jedes Phasen-/Kanal-Arrays sind die üblichen Positionen:

Array-Position Messwert
[0] Spannung
[1] Strom
[2] Wirkleistung
[3] Importierte Energie
[4] Exportierte Energie
[5] Frequenz, sofern vorhanden
[6] Leistungsfaktor, sofern vorhanden

Überprüfen Sie immer die tatsächliche MQTT-Nachricht Ihres Modells und Ihrer Firmware, bevor Sie Vorlagen kopieren. Siehe die vollständige IAMMETER-JSON-Datendefinition.

Schritt 3: Verbinden Sie Home Assistant mit dem Broker

Gehen Sie in Home Assistant folgendermaßen vor:

  1. Gehen Sie zu Settings → Devices & services.
  2. Wählen Sie Add integration.
  3. Suchen Sie nach MQTT.
  4. Geben Sie dieselbe Broker-Adresse, denselben Port, Benutzernamen und dasselbe Passwort ein, die vom Zähler verwendet werden.
  5. Bestätigen Sie, dass die MQTT-Integration erfolgreich verbunden wird.

Wenn Home Assistant diesen Broker bereits verwendet, fügen Sie keine doppelte MQTT-Integration hinzu. Die manuell definierten Sensoren verwenden die bestehende Broker-Verbindung.

Schritt 4: Fügen Sie manuelle MQTT-Sensoren in YAML hinzu

Die folgenden Beispiele verwenden die aktuelle mqtt: sensor:-Konfigurationsstruktur von Home Assistant. Ersetzen Sie die Seriennummer in jedem state_topic.

Einphasen-Energiezähler-YAML

mqtt:
  sensor:
    - name: "IAMMETER Voltage"
      unique_id: "iammeter_12345678_voltage"
      state_topic: "device/12345678/realtime"
      value_template: "{{ value_json.Data[0] | float(0) }}"
      unit_of_measurement: "V"
      device_class: voltage
      state_class: measurement

    - name: "IAMMETER Current"
      unique_id: "iammeter_12345678_current"
      state_topic: "device/12345678/realtime"
      value_template: "{{ value_json.Data[1] | float(0) }}"
      unit_of_measurement: "A"
      device_class: current
      state_class: measurement

    - name: "IAMMETER Active Power"
      unique_id: "iammeter_12345678_active_power"
      state_topic: "device/12345678/realtime"
      value_template: "{{ value_json.Data[2] | float(0) }}"
      unit_of_measurement: "W"
      device_class: power
      state_class: measurement

    - name: "IAMMETER Imported Energy"
      unique_id: "iammeter_12345678_import_energy"
      state_topic: "device/12345678/realtime"
      value_template: "{{ value_json.Data[3] | float(0) }}"
      unit_of_measurement: "kWh"
      device_class: energy
      state_class: total_increasing

    - name: "IAMMETER Exported Energy"
      unique_id: "iammeter_12345678_export_energy"
      state_topic: "device/12345678/realtime"
      value_template: "{{ value_json.Data[4] | float(0) }}"
      unit_of_measurement: "kWh"
      device_class: energy
      state_class: total_increasing

unique_id ermöglicht es Home Assistant, Entitätseinstellungen in der Benutzeroberfläche zu verwalten. Halten Sie jede ID eindeutig und stabil. Ändern Sie sie nicht nur, um die angezeigte Entität umzubenennen.

Dreiphasen-Energiezähler-YAML

Das folgende Beispiel erstellt die Phase-A-Entitäten. Duplizieren Sie den Block für die Phasen B und C, indem Sie Datas[0] in Datas[1] und Datas[2] ändern, und verwenden Sie eindeutige Namen und eindeutige IDs.

mqtt:
  sensor:
    - name: "IAMMETER Voltage A"
      unique_id: "iammeter_80123456_voltage_a"
      state_topic: "device/80123456/realtime"
      value_template: "{{ value_json.Datas[0][0] | float(0) }}"
      unit_of_measurement: "V"
      device_class: voltage
      state_class: measurement

    - name: "IAMMETER Current A"
      unique_id: "iammeter_80123456_current_a"
      state_topic: "device/80123456/realtime"
      value_template: "{{ value_json.Datas[0][1] | float(0) }}"
      unit_of_measurement: "A"
      device_class: current
      state_class: measurement

    - name: "IAMMETER Active Power A"
      unique_id: "iammeter_80123456_active_power_a"
      state_topic: "device/80123456/realtime"
      value_template: "{{ value_json.Datas[0][2] | float(0) }}"
      unit_of_measurement: "W"
      device_class: power
      state_class: measurement

    - name: "IAMMETER Imported Energy A"
      unique_id: "iammeter_80123456_import_energy_a"
      state_topic: "device/80123456/realtime"
      value_template: "{{ value_json.Datas[0][3] | float(0) }}"
      unit_of_measurement: "kWh"
      device_class: energy
      state_class: total_increasing

    - name: "IAMMETER Exported Energy A"
      unique_id: "iammeter_80123456_export_energy_a"
      state_topic: "device/80123456/realtime"
      value_template: "{{ value_json.Datas[0][4] | float(0) }}"
      unit_of_measurement: "kWh"
      device_class: energy
      state_class: total_increasing

Erstellen Sie für WEM2067 und andere Mehrkanalmodelle nur so viele Kanäle, wie in der tatsächlichen Datas-Nutzlast vorhanden sind.

Vermeiden Sie zwei mqtt:-Blöcke auf oberster Ebene

Wenn configuration.yaml bereits einen mqtt:-Abschnitt enthält, fügen Sie die Sensoren unter dem vorhandenen Abschnitt hinzu. YAML kann nicht sicher zwei unabhängige Schlüssel mit demselben Namen auf oberster Ebene enthalten.

Für eine große Konfiguration können Sie MQTT-Sensoren in einer eingebundenen Datei speichern, befolgen Sie jedoch die Include-Struktur und Einrückungsregeln von Home Assistant.

Schritt 5: Überprüfen Sie die Konfiguration und laden Sie die Sensoren

Nach dem Speichern des YAML:

  1. führen Sie die Konfigurationsprüfung von Home Assistant durch;
  2. korrigieren Sie alle YAML-, Einrückungs- oder Vorlagenfehler;
  3. starten Sie Home Assistant bei Bedarf neu;
  4. öffnen Sie Developer tools → States;
  5. bestätigen Sie, dass jede MQTT-Entität einen plausiblen Wert, eine Einheit, eine Geräteklasse und eine Zustandsklasse hat.

Der Entitätswert sollte sich ändern, nachdem eine neue Nachricht auf device/{SN}/realtime eintrifft.

Schritt 6: Fügen Sie importierte und exportierte Energie zum Energie-Dashboard hinzu

Das Energie-Dashboard von Home Assistant benötigt kumulative Energie-Entitäten. Die YAML-Beispiele verwenden:

unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing

Gehen Sie zu Settings → Dashboards → Energy und wählen Sie:

  • IAMMETER Imported Energy für den Netzbezug;
  • IAMMETER Exported Energy für die Netzeinspeisung.

Wählen Sie bei einem Dreiphasenzähler die Entitätsstruktur, die zur Installation und zum Dashboard-Design von Home Assistant passt. Sie können die Phasenenergie einzeln darstellen oder eine geeignete Gesamtentität erstellen, aber addieren Sie keine Werte, ohne zu bestätigen, wie der Zähler die Phasen- und Nettoenergie für den gewählten Verdrahtungsmodus meldet.

Wählen Sie keine Wirkleistungsentität, die in Watt gemessen wird, in einem Energiefeld des Energie-Dashboards aus. Leistung ist eine Momentanrate; das Dashboard benötigt kumulative kWh.

Wählen Sie ein MQTT-Veröffentlichungsintervall

Die aktuelle IAMMETER-Firmware unterstützt ein MQTT-Veröffentlichungsintervall von bis zu 2 Sekunden. Das kürzeste Intervall ist nicht immer die beste Einstellung.

Empfohlene Ausgangspunkte:

Anwendungsfall Empfohlenes Intervall
Schnelle lokale Automatisierung 2–5 Sekunden
Live-Energie-Dashboard 5–12 Sekunden
Allgemeine Überwachung 10–60 Sekunden

Berücksichtigen Sie die Broker-Kapazität, das Wachstum des Home Assistant-Recorders, die Netzwerkzuverlässigkeit und die Anzahl der Entitäten. Eine Nachricht, die viele Phasenwerte enthält, kann mehrere Home Assistant-Sensoren gleichzeitig aktualisieren.

Unterstützte IAMMETER-Modelle

Alle aktuellen IAMMETER-Energiezähler unterstützen manuelles MQTT. Ihr Hauptunterschied in Home Assistant ist die Nutzlaststruktur und die Anzahl der Messkanäle.

Modell Typische Struktur Produktinformationen
WEM3080 Einzelnes Data-Array Einphasen-Energiezähler
WEM2067 Mehrkanal-Datas-Array Zweikanalzähler für Haus-Solar
WEM3080T Dreikanal-Datas-Array Dreiphasen-Energiezähler
WEM3050T Dreikanal-Datas-Array Haus-Dreiphasen-/Split-Phase-Zähler
WEM3080TD Modell-/verdrahtungsspezifische Mehrkanaldaten WEM3080TD
WEM3046T / WEM3046TE Dreikanaldaten mit externer 5-A-CT-Messung 5-A-CT-Dreiphasenzähler

WEM3046T und WEM3046TE messen den 5-A-Sekundärausgang externer Stromwandler. Wenden Sie das korrekte CT-Übersetzungsverhältnis an, um die primärseitigen Werte zu erhalten. Dies ist eine Eigenschaft des Messsystems, keine Einschränkung von MQTT oder Home Assistant.

Fehlerbehebung

Es treffen keine MQTT-Nachrichten ein

  • Überprüfen Sie die Broker-Adresse und den Port in der WebUI des Zählers.
  • Bestätigen Sie den Benutzernamen und das Passwort.
  • Überprüfen Sie die Broker-Protokolle auf Authentifizierungs- oder Verbindungsfehler.
  • Bestätigen Sie, dass der Zähler den Broker über etwaige Firewall- oder VLAN-Regeln erreichen kann.
  • Abonnieren Sie device/{SN}/realtime mit einem unabhängigen MQTT-Client.

Nachrichten treffen ein, aber Home Assistant-Entitäten sind nicht verfügbar

  • Bestätigen Sie, dass Home Assistant mit demselben Broker verbunden ist.
  • Überprüfen Sie das genaue Topic und die Seriennummer.
  • Vergleichen Sie Data mit Datas anhand der tatsächlichen Nutzlast.
  • Validieren Sie die YAML-Einrückung und Vorlagen.
  • Überprüfen Sie die Home Assistant-Protokolle nach dem Neuladen oder Neustarten.

Einige Entitäten zeigen Null oder den falschen Messwert

  • Kopieren Sie keine Data-Vorlage eines Einphasenzählers für eine Datas-Nutzlast.
  • Überprüfen Sie die Array-Position anhand der JSON-Definition.
  • Bestätigen Sie den Phasen-/Kanalindex.
  • Bestätigen Sie bei WEM3046T/WEM3046TE das externe CT-Übersetzungsverhältnis.

Energie-Entitäten fehlen im Energie-Dashboard

Bestätigen Sie alle drei Felder:

unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing

Bestätigen Sie außerdem, dass die Entität gültige numerische Daten erhalten hat und in Developer tools → States angezeigt wird.

Doppelte Geräte oder Sensoren erscheinen

Manuelles MQTT und MQTT Discovery können separate Entitäten vom selben Zähler erstellen. Wenn Sie die YAML-Methode verwenden, lassen Sie HA MQTT Discovery deaktiviert, es sei denn, Sie möchten absichtlich beide Sätze und haben eindeutige Entitätsnamen geplant.

Verwandte Anleitungen

Aktualisiert: 19. Juli 2026.

Nach oben