Tyvärr stöder din webbläsare inte JavaScript!
Logga in

MQTT-energimätare för Home Assistant: Manuell YAML-installation

Konfigurera en MQTT-energimätare manuellt i Home Assistant

En MQTT-energimätare kan publicera spänning, ström, aktiv effekt samt importerad/exporterad energi till en broker i ditt lokala nätverk. Home Assistant prenumererar på dessa data och omvandlar JSON-värdena till sensorenheter som kan användas i instrumentpaneler (dashboards), automatiseringar och energipanelen (Energy Dashboard).

Den här guiden förklarar metoden Manual MQTT för IAMMETER-energimätare:

  1. konfigurera MQTT-brokern i mätarens WebUI;
  2. anslut Home Assistant till samma broker;
  3. definiera de nödvändiga MQTT-sensorerna i YAML;
  4. lägg till importerad och exporterad energi i energipanelen (Energy Dashboard).

Manual MQTT ger dig full kontroll över entitetsnamn, ämnen (topics), mallar och metadata. Om du föredrar att Home Assistant skapar enheten och entiteterna automatiskt, använd MQTT Discovery i stället.

Manual MQTT och MQTT Discovery är olika metoder

Båda metoderna använder en MQTT-broker, men installationen i Home Assistant är olika.

Funktion Manual MQTT MQTT Discovery
Konfiguration av broker på mätarsidan Krävs Krävs
HA MQTT-integration Krävs Krävs
YAML-sensordefinitioner Krävs Krävs inte
Entitetsnamn och mallar Helt styrda av användaren Skapas av mätaren
Automatisk skapelse av enhet/entiteter Nej Ja
Bäst för Anpassade MQTT-system och entitetsdefinitioner Snabbaste Home Assistant-installationen

För den här guiden lämnar du HA MQTT Discovery inaktiverad i mätarens WebUI. Den omkopplaren behövs bara när du vill ha automatisk identifiering (discovery) i Home Assistant.

Det här behöver du

  • en IAMMETER-energimätare med aktuell firmware;
  • en MQTT-broker som både mätaren och Home Assistant kan nå;
  • brokerns adress, port, användarnamn och lösenord;
  • mätarens serienummer;
  • åtkomst till Home Assistant YAML-konfiguration.

Brokern kan köras på samma maskin som Home Assistant, i Mosquitto-broker-tillägget, på en annan LAN-server eller på en fjärrdator. Använd en lokal broker när du vill att hela datavägen ska förbli inom LAN.

Alla aktuella IAMMETER-mätare stöder Manual MQTT. Modeller med en fas, två kanaler och tre faser publicerar olika JSON-arraystrukturer, så värdemallarna måste matcha den faktiska datapayloaden.

Steg 1: Konfigurera MQTT-brokern i mätarens WebUI

Öppna mätarens lokala WebUI och gå till Settings. Konfigurera:

Inställning Värde
Run Mode MQTT
Address MQTT-brokerns värdnamn/IP och port
Username Brokerns användarnamn, om det krävs
Password Brokerns lösenord, om det krävs
HA MQTT Discovery Inaktiverad för den här Manual MQTT-guiden

Spara inställningarna och låt mätaren återansluta.

Konfigurera MQTT-brokern i den senaste IAMMETER WebUI

Den aktuella firmwares WebUI stöder dessa broker-inställningar direkt. Du behöver inte konfigurera användarnamn och lösenord genom den tidigare lokala API-proceduren.

För fullständig konfiguration på mätarsidan och instruktioner för äldre firmware, se publicera IAMMETER-data till en MQTT-broker.

MQTT-läge och IAMMETER Cloud

När mätarens Run Mode ändras till MQTT publicerar den mätningar till din broker i stället för att ladda upp dem till IAMMETER Cloud. Manual MQTT och IAMMETER Cloud kör därför inte samtidigt från samma mätare.

Om du behöver Home Assistant och IAMMETER Cloud samtidigt, använd i stället en lokal HTTP- eller Modbus TCP-integration. Jämför de tillgängliga metoderna i guiden för Home Assistant-energimätarintegrering.

Steg 2: Verifiera MQTT-ämnet och datapayloaden

IAMMETER publicerar realtidsmätningar till:

device/{SN}/realtime

Ersätt {SN} med mätarens serienummer. Till exempel:

device/80123456/realtime

Innan du konfigurerar Home Assistant-sensorer, prenumerera på ämnet med en MQTT-klient och bekräfta att meddelanden kommer fram. Det förhindrar att YAML-felsökning blandas ihop med problem med broker, inloggningsuppgifter, brandvägg eller ämne.

Enfas-JSON

En enfasmätare använder en Data-array. De första fem värdena är:

Matrisposition Mätning
Data[0] Spänning
Data[1] Ström
Data[2] Aktiv effekt
Data[3] Importerad energi
Data[4] Exporterad energi

Exempel:

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

Flerkanals- och trefas-JSON

Flerkanals- och trefasmätare använder en Datas-array. Varje nästlad array representerar en fas eller mätkanal:

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

Inom varje fas-/kanal-array är de vanliga positionerna:

Matrisposition Mätning
[0] Spänning
[1] Ström
[2] Aktiv effekt
[3] Importerad energi
[4] Exporterad energi
[5] Frekvens, om angiven
[6] Effektfaktor, om angiven

Inspektera alltid det faktiska MQTT-meddelandet från din modell och firmware innan du kopierar mallar. Se fullständig IAMMETER JSON-datadefinition.

Steg 3: Anslut Home Assistant till brokern

I Home Assistant:

  1. Gå till Settings → Devices & services.
  2. Välj Add integration.
  3. Sök efter MQTT.
  4. Ange samma broker-adress, port, användarnamn och lösenord som mätaren använder.
  5. Bekräfta att MQTT-integrationen ansluter korrekt.

Om Home Assistant redan använder den här brokern ska du inte lägga till en dubbel MQTT-integration. De manuellt definierade sensorerna använder den befintliga broker-anslutningen.

Steg 4: Lägg till Manual MQTT-sensorer i YAML

Exemplen nedan använder Home Assistants aktuella mqtt: sensor:-konfigurationsstruktur. Ersätt serienumret i varje state_topic.

YAML för enfas-energimätare

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 gör att Home Assistant kan hantera entitetsinställningar i gränssnittet. Håll varje ID unikt och stabilt. Ändra det inte bara för att byta namn på den visade entiteten.

YAML för trefas-energimätare

Följande exempel skapar fas A-entiteterna. Duplicera blocket för fas B och C, ändra Datas[0] till Datas[1] och Datas[2], och använd distinkta namn och unika ID:n.

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

För WEM2067 och andra flerkanalsmodeller skapar du bara det antal kanalblock som finns i den faktiska Datas-payloaden.

Undvik två mqtt:-block på toppnivå

Om configuration.yaml redan innehåller ett mqtt:-avsnitt, lägg till sensorerna under det befintliga avsnittet. YAML kan inte säkert innehålla två oberoende nycklar på toppnivå med samma namn.

För en stor konfiguration kan du hålla MQTT-sensorer i en inkluderad fil, men följ Home Assistants inkluderingsstruktur och indenteringsregler.

Steg 5: Kontrollera konfigurationen och ladda sensorerna

Efter att du har sparat YAML:

  1. kör Home Assistants konfigurationskontroll;
  2. rätta till eventuella YAML-, indenterings- eller mallfel;
  3. starta om Home Assistant om det behövs;
  4. öppna Developer tools → States;
  5. bekräfta att varje MQTT-entitet har ett rimligt värde, enhet, enhetsklass (device class) och tillståndsklass (state class).

Entitetsvärdet bör ändras när ett nytt meddelande anländer på device/{SN}/realtime.

Steg 6: Lägg till importerad och exporterad energi i energipanelen

Home Assistants energipanel (Energy Dashboard) kräver kumulativa energientiteter. YAML-exemplen använder:

unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing

Gå till Settings → Dashboards → Energy och välj:

  • IAMMETER Imported Energy för nätförbrukning;
  • IAMMETER Exported Energy för återföring till nätet.

För en trefasmätare väljer du den entitetsstruktur som matchar installationen och utformningen av Home Assistant-instrumentpanelen. Du kan visa fasenergi separat eller skapa en lämplig totalentitet, men lägg inte ihop värden utan att bekräfta hur mätaren rapporterar fas- och nettoenergi för det valda ledningsläget.

Välj inte den aktiv-effekt-entitet som mäts i watt i ett energifält i Energy Dashboard. Effekt är en momentan hastighet; instrumentpanelen kräver kumulativ kWh.

Välj ett publiceringsintervall för MQTT

Aktuell IAMMETER-firmware stöder ett MQTT-publiceringsintervall ner till 2 sekunder. Det kortaste intervallet är inte alltid den bästa inställningen.

Föreslagna utgångspunkter:

Användningsfall Föreslaget intervall
Snabb lokal automatisering 2–5 sekunder
Live-energipanel 5–12 sekunder
Allmän övervakning 10–60 sekunder

Ta hänsyn till brokerns kapacitet, tillväxten av Home Assistants recorder, nätverkets tillförlitlighet samt antalet entiteter. Ett meddelande med många fasvärden kan uppdatera flera Home Assistant-sensorer samtidigt.

Stödda IAMMETER-modeller

Alla aktuella IAMMETER-energimätare stöder Manual MQTT. Deras främsta skillnad i Home Assistant är payloadstrukturen och antalet mätkanaler.

Modell Typisk struktur Produktinformation
WEM3080 Enkel Data-array Enfas-energimätare
WEM2067 Flerkanals Datas-array Tvåkanalsmätare för hemma-solenergi
WEM3080T Trekanals Datas-array Trefas-energimätare
WEM3050T Trekanals Datas-array Trefas-/split-fas-mätare för hemmet
WEM3080TD Modell-/ledningsspecifik flerkanalsdata WEM3080TD
WEM3046T / WEM3046TE Trekanalsdata med extern 5 A CT-mätning 5 A CT-trefasmätare

WEM3046T och WEM3046TE mäter 5 A-sekundärutgången från externa CT:er. Tillämpa rätt CT-omsättning för att få värden på primärsidan. Detta är en egenskap hos mätsystemet, inte en begränsning i MQTT eller Home Assistant.

Felsökning

Inga MQTT-meddelanden kommer fram

  • Kontrollera broker-adressen och porten i mätarens WebUI.
  • Bekräfta användarnamnet och lösenordet.
  • Kontrollera broker-loggarna för autentiserings- eller anslutningsfel.
  • Bekräfta att mätaren kan nå brokern genom eventuella brandväggs- eller VLAN-regler.
  • Prenumerera på device/{SN}/realtime med en oberoende MQTT-klient.

Meddelanden kommer fram, men Home Assistant-entiteterna är inte tillgängliga

  • Bekräfta att Home Assistant är ansluten till samma broker.
  • Kontrollera det exakta ämnet och serienumret.
  • Jämför Data mot Datas med den faktiska payloaden.
  • Verifiera YAML-indenteringen och mallarna.
  • Kontrollera Home Assistant-loggarna efter omladdning eller omstart.

Vissa entiteter visar noll eller fel mätning

  • Kopiera inte en enfas-Data-mall för en Datas-payload.
  • Verifiera arraypositionen mot JSON-definitionen.
  • Bekräfta fas-/kanalindex.
  • För WEM3046T/WEM3046TE, bekräfta den externa CT-omsättningen.

Energientiteter saknas i energipanelen

Bekräfta alla tre fält:

unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing

Bekräfta också att entiteten har tagit emot giltiga numeriska data och visas under Developer tools → States.

Duplicerade enheter eller sensorer visas

Manual MQTT och MQTT Discovery kan skapa separata entiteter från samma mätare. Om du använder YAML-metoden, håll HA MQTT Discovery inaktiverad om du inte medvetet vill ha båda uppsättningarna och har planerat unika entitetsnamn.

Relaterade guider

Uppdaterad: 19 juli 2026.

Upp