Je nám líto, váš prohlížeč nepodporuje JavaScript!
Přihlásit se

MQTT elektroměr pro Home Assistant: Ruční nastavení v YAML

Ruční konfigurace MQTT elektroměru v Home Assistant

MQTT elektroměr může publikovat napětí, proud, činný výkon a importovanou/exportovanou energii do brokeru ve vaší lokální síti. Home Assistant se k těmto datům přihlásí a převede hodnoty JSON na entity senzorů, které lze použít v dashboardech, automatizacích a v Energy Dashboardu.

Tento návod vysvětluje metodu Manual MQTT pro elektroměry IAMMETER:

  1. nakonfigurujte MQTT broker ve webovém rozhraní elektroměru;
  2. připojte Home Assistant ke stejnému brokeru;
  3. definujte požadované senzory MQTT v YAML;
  4. přidejte importovanou a exportovanou energii do Energy Dashboardu.

Manual MQTT vám dává plnou kontrolu nad názvy entit, tématy, šablonami a metadaty. Pokud dáváte přednost tomu, aby Home Assistant vytvořil zařízení a entity automaticky, použijte MQTT Discovery.

Manual MQTT a MQTT Discovery jsou různé metody

Obě metody používají MQTT broker, ale nastavení v Home Assistant se liší.

Funkce Manual MQTT MQTT Discovery
Konfigurace brokeru na straně elektroměru Vyžadována Vyžadována
Integrace MQTT v HA Vyžadována Vyžadována
Definice senzorů v YAML Vyžadována Není vyžadována
Názvy entit a šablony Plně řízeny uživatelem Vytváří je elektroměr
Automatické vytváření zařízení/entit Ne Ano
Nejlepší pro Vlastní systémy MQTT a definice entit Nejrychlejší nastavení Home Assistant

Pro tento návod ponechte HA MQTT Discovery vypnuté ve webovém rozhraní elektroměru. Tento přepínač je nutný pouze tehdy, když chcete automatické zjišťování v Home Assistant.

Co budete potřebovat

  • elektroměr IAMMETER s aktuálním firmwarem;
  • MQTT broker dosažitelný jak pro elektroměr, tak pro Home Assistant;
  • adresu brokeru, port, uživatelské jméno a heslo;
  • sériové číslo elektroměru;
  • přístup ke konfiguraci YAML v Home Assistant.

Broker může běžet na stejném počítači jako Home Assistant, v doplňku Mosquitto broker, na jiném serveru v síti LAN nebo na vzdáleném hostiteli. Použijte lokální broker, pokud chcete, aby celá datová cesta zůstala v rámci sítě LAN.

Všechny aktuální elektroměry IAMMETER podporují Manual MQTT. Jednofázové, dvoukanálové a třífázové modely publikují různé struktury polí JSON, takže šablony hodnot musí odpovídat skutečnému datovému obsahu (payloadu).

Krok 1: Nakonfigurujte MQTT broker ve webovém rozhraní elektroměru

Otevřete lokální webové rozhraní elektroměru a přejděte do Settings. Nakonfigurujte:

Nastavení Hodnota
Run Mode MQTT
Address Hostname/IP adresa MQTT brokeru a port
Username Uživatelské jméno brokeru, pokud je vyžadováno
Password Heslo brokeru, pokud je vyžadováno
HA MQTT Discovery Vypnuto pro tento návod Manual MQTT

Uložte nastavení a nechte elektroměr znovu připojit.

Nakonfigurujte MQTT broker v nejnovějším webovém rozhraní IAMMETER

Webové rozhraní aktuálního firmwaru podporuje tato nastavení brokeru přímo. Nemusíte konfigurovat uživatelské jméno a heslo pomocí staršího postupu lokálního API.

Kompletní konfiguraci na straně elektroměru a pokyny pro starší firmware najdete v článku publikujte data IAMMETER do MQTT brokeru.

Režim MQTT a IAMMETER Cloud

Když je Run Mode elektroměru změněn na MQTT, publikuje měření do vašeho brokeru místo nahrávání do IAMMETER Cloud. Manual MQTT a IAMMETER Cloud proto nemohou běžet současně ze stejného elektroměru.

Pokud potřebujete Home Assistant i IAMMETER Cloud zároveň, použijte místo toho lokální integraci HTTP nebo Modbus TCP. Porovnejte dostupné metody v průvodci integrací elektroměru s Home Assistant.

Krok 2: Ověřte téma MQTT a obsah zpráv

IAMMETER publikuje měření v reálném čase do:

device/{SN}/realtime

Nahraďte {SN} sériovým číslem elektroměru. Například:

device/80123456/realtime

Před konfigurací senzorů v Home Assistant se k tématu přihlaste pomocí MQTT klienta a ověřte, že zprávy přicházejí. Předejdete tak tomu, aby se řešení problémů s YAML mísilo s problémy brokeru, přihlašovacích údajů, firewallu nebo témat.

JSON pro jednofázový elektroměr

Jednofázový elektroměr používá pole Data. Prvních pět hodnot je:

Pozice pole Měřená veličina
Data[0] Napětí
Data[1] Proud
Data[2] Činný výkon
Data[3] Importovaná energie
Data[4] Exportovaná energie

Příklad:

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

JSON pro vícekanálové a třífázové elektroměry

Vícekanálové a třífázové elektroměry používají pole Datas. Každé vnořené pole představuje fázi nebo měřicí kanál:

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

V rámci každého pole fáze/kanálu jsou běžné pozice:

Pozice pole Měřená veličina
[0] Napětí
[1] Proud
[2] Činný výkon
[3] Importovaná energie
[4] Exportovaná energie
[5] Frekvence, pokud je poskytována
[6] Účiník, pokud je poskytován

Před kopírováním šablon vždy zkontrolujte skutečnou zprávu MQTT z vašeho modelu a firmwaru. Viz kompletní definice dat JSON IAMMETER.

Krok 3: Připojte Home Assistant k brokeru

V Home Assistant:

  1. Přejděte do Settings → Devices & services.
  2. Vyberte Add integration.
  3. Vyhledejte MQTT.
  4. Zadejte stejnou adresu brokeru, port, uživatelské jméno a heslo, jaké používá elektroměr.
  5. Ověřte, že se integrace MQTT úspěšně připojila.

Pokud Home Assistant tento broker již používá, nepřidávejte duplicitní integraci MQTT. Ručně definované senzory použijí stávající připojení k brokeru.

Krok 4: Přidejte senzory Manual MQTT v YAML

Níže uvedené příklady používají aktuální strukturu konfigurace mqtt: sensor: v Home Assistant. Nahraďte sériové číslo v každém state_topic.

YAML pro jednofázový elektroměr

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 umožňuje Home Assistant spravovat nastavení entit v uživatelském rozhraní. Udržujte každé ID jedinečné a stabilní. Neměňte je pouze kvůli přejmenování zobrazené entity.

YAML pro třífázový elektroměr

Následující příklad vytvoří entity fáze A. Zkopírujte blok pro fáze B a C, změňte Datas[0] na Datas[1] a Datas[2] a použijte odlišné názvy a jedinečná ID.

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

Pro WEM2067 a další vícekanálové modely vytvořte pouze tolik kanálových bloků, kolik jich je ve skutečném datovém obsahu Datas.

Vyhněte se dvěma blokům mqtt: na nejvyšší úrovni

Pokud configuration.yaml již obsahuje sekci mqtt:, přidejte senzory do stávající sekce. YAML nemůže bezpečně obsahovat dva nezávislé klíče na nejvyšší úrovni se stejným názvem.

Pro rozsáhlou konfiguraci můžete senzory MQTT uchovávat v zahrnutém souboru, ale dodržujte strukturu zahrnutí a pravidla odsazení Home Assistant.

Krok 5: Zkontrolujte konfiguraci a načtěte senzory

Po uložení YAML:

  1. spusťte kontrolu konfigurace Home Assistant;
  2. opravte případné chyby YAML, odsazení nebo šablon;
  3. v případě potřeby restartujte Home Assistant;
  4. otevřete Developer tools → States;
  5. ověřte, že každá entita MQTT má věrohodnou hodnotu, jednotku, třídu zařízení (device class) a třídu stavu (state class).

Hodnota entity by se měla změnit po příchodu nové zprávy na device/{SN}/realtime.

Krok 6: Přidejte importovanou a exportovanou energii do Energy Dashboardu

Energy Dashboard v Home Assistant vyžaduje kumulativní entity energie. Příklady YAML používají:

unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing

Přejděte do Settings → Dashboards → Energy a vyberte:

  • IAMMETER Imported Energy pro spotřebu ze sítě;
  • IAMMETER Exported Energy pro dodávku do sítě.

U třífázového elektroměru zvolte strukturu entit, která odpovídá instalaci a návrhu dashboardu v Home Assistant. Můžete energii jednotlivých fází vystavit samostatně nebo vytvořit vhodnou souhrnnou entitu, ale nesčítejte hodnoty bez ověření, jak elektroměr vykazuje fázovou a celkovou energii pro zvolený režim zapojení.

Nevybírejte entitu činného výkonu měřenou ve wattech do pole energie v Energy Dashboardu. Výkon je okamžitá veličina; dashboard vyžaduje kumulativní kWh.

Zvolte interval publikování MQTT

Aktuální firmware IAMMETER podporuje interval publikování MQTT až 2 sekundy. Nejkratší interval není vždy nejlepším nastavením.

Doporučené výchozí hodnoty:

Použití Doporučený interval
Rychlá lokální automatizace 2–5 sekund
Živý dashboard energie 5–12 sekund
Obecné monitorování 10–60 sekund

Zvažte kapacitu brokeru, růst záznamů v Home Assistant, spolehlivost sítě a počet entit. Zpráva obsahující mnoho fázových hodnot může aktualizovat několik senzorů Home Assistant najednou.

Podporované modely IAMMETER

Všechny aktuální elektroměry IAMMETER podporují Manual MQTT. Jejich hlavní rozdíl v Home Assistant spočívá ve struktuře datového obsahu a počtu měřicích kanálů.

Model Typická struktura Informace o produktu
WEM3080 Jedno pole Data Jednofázový elektroměr
WEM2067 Vícekanálové pole Datas Dvoukanálový elektroměr pro domácí solární systémy
WEM3080T Tříkanálové pole Datas Třífázový elektroměr
WEM3050T Tříkanálové pole Datas Domácí třífázový/rozdělený elektroměr
WEM3080TD Vícekanálová data podle modelu/zapojení WEM3080TD
WEM3046T / WEM3046TE Tříkanálová data s externím měřením 5 A CT Třífázový elektroměr s 5 A CT

WEM3046T a WEM3046TE měří sekundární výstup 5 A externích transformátorů proudu (CT). Pro získání hodnot na primární straně použijte správný poměr CT. To je vlastnost měřicího systému, nikoli omezení MQTT nebo Home Assistant.

Řešení problémů

Žádné zprávy MQTT nepřicházejí

  • Ověřte adresu a port brokeru ve webovém rozhraní elektroměru.
  • Zkontrolujte uživatelské jméno a heslo.
  • Zkontrolujte protokoly brokeru kvůli chybám ověřování nebo připojení.
  • Ověřte, že elektroměr dosáhne brokeru přes případná pravidla firewallu nebo VLAN.
  • Přihlaste se k device/{SN}/realtime pomocí nezávislého MQTT klienta.

Zprávy přicházejí, ale entity Home Assistant nejsou dostupné

  • Ověřte, že je Home Assistant připojen ke stejnému brokeru.
  • Zkontrolujte přesné téma a sériové číslo.
  • Porovnejte Data versus Datas se skutečným datovým obsahem.
  • Zkontrolujte odsazení YAML a šablony.
  • Po znovunačtení nebo restartu zkontrolujte protokoly Home Assistant.

Některé entity zobrazují nulu nebo nesprávné měření

  • Nekopírujte šablonu Data z jednofázového elektroměru pro datový obsah Datas.
  • Ověřte pozici pole podle definice JSON.
  • Zkontrolujte index fáze/kanálu.
  • U WEM3046T/WEM3046TE ověřte poměr externího CT.

Entity energie chybí v Energy Dashboardu

Ověřte všechna tři pole:

unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing

Také ověřte, že entita obdržela platná číselná data a zobrazuje se v Developer tools → States.

Objevují se duplicitní zařízení nebo senzory

Manual MQTT a MQTT Discovery mohou ze stejného elektroměru vytvořit samostatné entity. Pokud používáte metodu YAML, ponechte HA MQTT Discovery vypnuté, pokud záměrně nechcete obě sady a neplánujete jedinečné názvy entit.

Související návody

Aktualizováno: 19. července 2026.

Nahoru