Beklager, din browser understøtter ikke JavaScript!
Log ind

MQTT-energimåler til Home Assistant: Manuel YAML-opsætning

Konfigurér manuelt en MQTT-energimåler i Home Assistant

En MQTT-energimåler kan udsende spænding, strøm, aktiv effekt og importeret/eksporteret energi til en broker på dit lokale netværk. Home Assistant abonnerer på disse data og konverterer JSON-værdierne til sensorenheder (entities), der kan bruges i dashboards, automatiseringer og Energy Dashboard.

Denne vejledning forklarer Manual MQTT-metoden for IAMMETER-energimålere:

  1. konfigurér MQTT-brokeren i målerens WebUI;
  2. forbind Home Assistant til den samme broker;
  3. definér de nødvendige MQTT-sensorer i YAML;
  4. tilføj importeret og eksporteret energi til Energy Dashboard.

Manual MQTT giver dig fuld kontrol over entitetsnavne, emner (topics), skabeloner og metadata. Hvis du foretrækker, at Home Assistant opretter enheden og entiteterne automatisk, så brug i stedet MQTT Discovery.

Manual MQTT og MQTT Discovery er forskellige metoder

Begge metoder bruger en MQTT-broker, men opsætningen i Home Assistant er forskellig.

Funktion Manual MQTT MQTT Discovery
Broker-konfiguration på målersiden Påkrævet Påkrævet
HA MQTT Integration Påkrævet Påkrævet
YAML-sensordefinitioner Påkrævet Ikke påkrævet
Entitetsnavne og skabeloner Fuldt styret af brugeren Oprettet af måleren
Automatisk oprettelse af enhed/entitet Nej Ja
Bedst til Tilpassede MQTT-systemer og entitetsdefinitioner Hurtigste Home Assistant-opsætning

I denne vejledning skal HA MQTT Discovery forblive deaktiveret i målerens WebUI. Den kontakt er kun nødvendig, når du ønsker automatisk discovery i Home Assistant.

Hvad du har brug for

  • en IAMMETER-energimåler med aktuel firmware;
  • en MQTT-broker, der er tilgængelig for både måleren og Home Assistant;
  • brokerens adresse, port, brugernavn og adgangskode;
  • målerens serienummer;
  • adgang til Home Assistants YAML-konfiguration.

Brokeren kan køre på samme maskine som Home Assistant, i Mosquitto broker-tilføjelsen, på en anden LAN-server eller på en fjernhost. Brug en lokal broker, hvis du vil have hele datastien til at forblive i LAN'et.

Alle aktuelle IAMMETER-målere understøtter Manual MQTT. Enfasede, tokanals- og trefasede modeller udsender forskellige JSON-array-strukturer, så værdiskabelonerne skal matche den faktiske payload.

Trin 1: Konfigurér MQTT-brokeren i målerens WebUI

Åbn målerens lokale WebUI, og gå til Settings. Konfigurér:

Indstilling Værdi
Run Mode MQTT
Address MQTT-brokerens hostname/IP og port
Username Brokerens brugernavn, hvis nødvendigt
Password Brokerens adgangskode, hvis nødvendigt
HA MQTT Discovery Deaktiveret for denne Manual MQTT-vejledning

Gem indstillingerne, og lad måleren oprette forbindelse igen.

Konfigurér MQTT-brokeren i det nyeste IAMMETER WebUI

Det aktuelle firmwares WebUI understøtter disse broker-indstillinger direkte. Du behøver ikke konfigurere brugernavn og adgangskode via den gamle lokale API-procedure.

For fuldstændig konfiguration på målersiden og vejledning til ældre firmware, se publicér IAMMETER-data til en MQTT-broker.

MQTT-tilstand og IAMMETER Cloud

Når målerens Run Mode ændres til MQTT, udsender den målinger til din broker i stedet for at uploade dem til IAMMETER Cloud. Manual MQTT og IAMMETER Cloud kan derfor ikke køre samtidigt fra den samme måler.

Hvis du har brug for Home Assistant og IAMMETER Cloud på samme tid, så brug i stedet en lokal HTTP- eller Modbus TCP-integration. Sammenlign de tilgængelige metoder i integrationsvejledningen for Home Assistant-energimålere.

Trin 2: Bekræft MQTT-emnet (topic) og payload

IAMMETER udsender realtidsmålinger til:

device/{SN}/realtime

Erstat {SN} med målerens serienummer. For eksempel:

device/80123456/realtime

Før du konfigurerer Home Assistant-sensorer, så abonner på emnet med en MQTT-klient, og bekræft, at beskederne ankommer. På den måde bliver YAML-fejlfinding ikke blandet sammen med problemer med broker, legitimationsoplysninger, firewall eller emne.

Enfaset JSON

En enfaset måler bruger et Data-array. De første fem værdier er:

Array-position Måling
Data[0] Spænding
Data[1] Strøm
Data[2] Aktiv effekt
Data[3] Importeret energi
Data[4] Eksporteret energi

Eksempel:

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

Multikanals- og trefaset JSON

Multikanals- og trefasede målere bruger et Datas-array. Hvert indlejret array repræsenterer en fase eller målekanal:

Datas[0] → phase/channel A
Datas[1] → phase/channel B
Datas[2] → phase/channel C, when present

I hvert fase-/kanal-array er de almindelige positioner:

Array-position Måling
[0] Spænding
[1] Strøm
[2] Aktiv effekt
[3] Importeret energi
[4] Eksporteret energi
[5] Frekvens, hvis tilgængelig
[6] Effektfaktor, hvis tilgængelig

Undersøg altid den faktiske MQTT-besked fra din model og firmware, før du kopierer skabeloner. Se den komplette IAMMETER JSON-datadefinition.

Trin 3: Forbind Home Assistant til brokeren

I Home Assistant:

  1. Gå til Settings → Devices & services.
  2. Vælg Add integration.
  3. Søg efter MQTT.
  4. Angiv den samme broker-adresse, port, brugernavn og adgangskode, som måleren bruger.
  5. Bekræft, at MQTT Integration opretter forbindelse korrekt.

Hvis Home Assistant allerede bruger denne broker, skal du ikke tilføje en ekstra MQTT Integration. De manuelt definerede sensorer bruger den eksisterende broker-forbindelse.

Trin 4: Tilføj Manual MQTT-sensorer i YAML

Eksemplerne nedenfor bruger Home Assistants aktuelle mqtt: sensor:-konfigurationsstruktur. Erstat serienummeret i hver state_topic.

Enfaset energimåler-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 giver Home Assistant mulighed for at administrere entitetsindstillingerne i brugergrænsefladen. Hold hvert ID unikt og stabilt. Ændr det ikke blot for at omdøbe den viste entitet.

Trefaset energimåler-YAML

Følgende eksempel opretter fase-A-entiteterne. Dupliker blokken for fase B og C, skift Datas[0] til Datas[1] og Datas[2], og brug forskellige navne og unikke ID'er.

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

For WEM2067 og andre multikanalsmodeller skal du kun oprette det antal kanalblokke, der er til stede i den faktiske Datas-payload.

Undgå to øverste mqtt:-blokke

Hvis configuration.yaml allerede indeholder en mqtt:-sektion, så tilføj sensorerne under den eksisterende sektion. YAML kan ikke sikkert indeholde to uafhængige topniveau-nøgler med samme navn.

Ved en stor konfiguration kan du holde MQTT-sensorerne i en inkluderet fil, men følg Home Assistants include-struktur og indrykningsregler.

Trin 5: Kontrollér konfigurationen, og indlæs sensorerne

Efter at du har gemt YAML'en:

  1. kør Home Assistants konfigurationskontrol;
  2. ret eventuelle YAML-, indryknings- eller skabelonfejl;
  3. genstart Home Assistant, hvis nødvendigt;
  4. åbn Developer tools → States;
  5. bekræft, at hver MQTT-entitet har en rimelig værdi, enhed, device class og state class.

Entitetsværdien bør ændre sig, efter at en ny besked ankommer på device/{SN}/realtime.

Trin 6: Tilføj importeret og eksporteret energi til Energy Dashboard

Home Assistants Energy Dashboard kræver kumulative energientiteter. YAML-eksemplerne bruger:

unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing

Gå til Settings → Dashboards → Energy, og vælg:

  • IAMMETER Imported Energy til netforbrug;
  • IAMMETER Exported Energy til tilbagelevering til nettet.

Til en trefaset måler skal du vælge den entitetsstruktur, der matcher installationen og Home Assistant-dashboardets design. Du kan vise faseenergien enkeltvis eller oprette en passende totalentitet, men læg ikke værdier sammen, før du har bekræftet, hvordan måleren rapporterer fase- og netenergi for den valgte tilslutningsform.

Vælg ikke aktiv-effekt-entiteten målt i watt i et energifelt i Energy Dashboard. Effekt er en øjeblikkelig hastighed; dashboardet kræver kumulative kWh.

Vælg et MQTT-udgivelsesinterval

Aktuel IAMMETER-firmware understøtter et MQTT-udgivelsesinterval helt ned til 2 sekunder. Det korteste interval er ikke altid den bedste indstilling.

Foreslåede udgangspunkter:

Anvendelse Foreslået interval
Hurtig lokal automatisering 2–5 sekunder
Live-energidashboard 5–12 sekunder
Generel overvågning 10–60 sekunder

Tag højde for broker-kapacitet, vækst i Home Assistant-recorderen, netværkspålidelighed og antallet af entiteter. En besked med mange faseværdier kan opdatere flere Home Assistant-sensorer på én gang.

Understøttede IAMMETER-modeller

Alle aktuelle IAMMETER-energimålere understøtter Manual MQTT. Deres vigtigste forskel i Home Assistant er payload-strukturen og antallet af målekanaler.

Model Typisk struktur Produktinformation
WEM3080 Enkelt Data-array Enfaset energimåler
WEM2067 Multikanals Datas-array Tokanalsmåler til hjemmesolenergi
WEM3080T Trekanals Datas-array Trefaset energimåler
WEM3050T Trekanals Datas-array Hjemme-trefaset/split-phase-måler
WEM3080TD Model-/tilslutningsspecifikke multikanalsdata WEM3080TD
WEM3046T / WEM3046TE Trekanalsdata med ekstern 5 A CT-måling 5 A CT trefaset måler

WEM3046T og WEM3046TE måler 5 A-sekundærudgangen fra eksterne CT'er. Anvend det korrekte CT-forhold for at få primærsidens værdier. Dette er en egenskab ved målesystemet, ikke en begrænsning i MQTT eller Home Assistant.

Fejlfinding

Der ankommer ingen MQTT-beskeder

  • Bekræft broker-adressen og -porten i målerens WebUI.
  • Bekræft brugernavnet og adgangskoden.
  • Tjek broker-loggen for godkendelses- eller forbindelsesfejl.
  • Bekræft, at måleren kan nå brokeren gennem eventuelle firewall- eller VLAN-regler.
  • Abonner på device/{SN}/realtime med en uafhængig MQTT-klient.

Beskeder ankommer, men Home Assistant-entiteterne er utilgængelige

  • Bekræft, at Home Assistant er forbundet til den samme broker.
  • Tjek det nøjagtige emne og serienummer.
  • Sammenlign Data og Datas med den faktiske payload.
  • Valider YAML-indrykningen og skabelonerne.
  • Tjek Home Assistant-loggen efter genindlæsning eller genstart.

Nogle entiteter viser nul eller den forkerte måling

  • Kopiér ikke en enfaset Data-skabelon til en Datas-payload.
  • Bekræft array-positionen i forhold til JSON-definitionen.
  • Bekræft fase-/kanalindekset.
  • For WEM3046T/WEM3046TE skal du bekræfte det eksterne CT-forhold.

Energientiteter mangler i Energy Dashboard

Bekræft alle tre felter:

unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing

Bekræft også, at entiteten har modtaget gyldige numeriske data og vises i Developer tools → States.

Der vises dobbelte enheder eller sensorer

Manual MQTT og MQTT Discovery kan oprette separate entiteter fra den samme måler. Hvis du bruger YAML-metoden, så lad HA MQTT Discovery forblive deaktiveret, medmindre du bevidst ønsker begge sæt og har planlagt unikke entitetsnavne.

Relaterede vejledninger

Opdateret: 19. juli 2026.

Top