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:
- Konfigurieren Sie den MQTT-Broker in der WebUI des Zählers;
- Verbinden Sie Home Assistant mit demselben Broker;
- Definieren Sie die erforderlichen MQTT-Sensoren in YAML;
- 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.

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:
- Gehen Sie zu Settings → Devices & services.
- Wählen Sie Add integration.
- Suchen Sie nach MQTT.
- Geben Sie dieselbe Broker-Adresse, denselben Port, Benutzernamen und dasselbe Passwort ein, die vom Zähler verwendet werden.
- 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:
- führen Sie die Konfigurationsprüfung von Home Assistant durch;
- korrigieren Sie alle YAML-, Einrückungs- oder Vorlagenfehler;
- starten Sie Home Assistant bei Bedarf neu;
- öffnen Sie Developer tools → States;
- 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}/realtimemit 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
DatamitDatasanhand 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 eineDatas-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
- IAMMETER-Daten an Ihren MQTT-Broker veröffentlichen
- MQTT Discovery anstelle von YAML verwenden
- Alle IAMMETER–Home Assistant-Integrationsmethoden vergleichen
- IAMMETER-JSON-Datendefinition
- IAMMETER-Firmware aktualisieren
Aktualisiert: 19. Juli 2026.