Съжаляваме, вашият браузър не поддържа JavaScript!
Вход

MQTT електромер за Home Assistant: ръчна настройка чрез YAML

Ръчна настройка на MQTT електромер в Home Assistant

MQTT електромерът може да публикува напрежение, ток, активна мощност и внесена/изнесена енергия към брокер във вашата локална мрежа. Home Assistant се абонира за тези данни и преобразува JSON стойностите в сензорни обекти, които могат да се използват в табла, автоматизации и Енергийния панел.

Това ръководство обяснява метода Ръчен MQTT за електромерите IAMMETER:

  1. настройване на MQTT брокера в WebUI на електромера;
  2. свързване на Home Assistant към същия брокер;
  3. дефиниране на необходимите MQTT сензори в YAML;
  4. добавяне на внесената и изнесената енергия към Енергийния панел.

Ръчният MQTT ви дава пълен контрол върху имената на обектите, темите, шаблоните и метаданните. Ако предпочитате Home Assistant да създаде устройството и обектите автоматично, използвайте вместо това MQTT Discovery.

Ръчният MQTT и MQTT Discovery са различни методи

И двата метода използват MQTT брокер, но настройката на Home Assistant е различна.

Функция Ръчен MQTT MQTT Discovery
Конфигурация на брокера в електромера Задължителна Задължителна
MQTT интеграция в HA Задължителна Задължителна
Дефиниции на сензори в YAML Задължителни Не са необходими
Имена на обекти и шаблони Напълно контролирани от потребителя Създадени от електромера
Автоматично създаване на устройство/обекти Не Да
Най-подходящ за Персонализирани MQTT системи и дефиниции на обекти Най-бърза настройка на Home Assistant

За това ръководство оставете HA MQTT Discovery изключен в WebUI на електромера. Този превключвател е необходим само когато искате автоматично откриване от Home Assistant.

Какво ви е необходимо

  • електромер IAMMETER с актуален фърмуер;
  • MQTT брокер, достъпен както за електромера, така и за Home Assistant;
  • адрес, порт, потребителско име и парола на брокера;
  • серийния номер на електромера;
  • достъп до YAML конфигурацията на Home Assistant.

Брокерът може да работи на същия компютър като Home Assistant, в добавката Mosquitto broker, на друг сървър в LAN или на отдалечен хост. Използвайте локален брокер, когато искате целият път на данните да остане вътре в LAN.

Всички актуални електромери IAMMETER поддържат Ръчен MQTT. Еднофазните, двуканалните и трифазните модели публикуват различни JSON структури на масива, така че шаблоните за стойности трябва да съответстват на действителния payload.

Стъпка 1: Настройте MQTT брокера в WebUI на електромера

Отворете локалния WebUI на електромера и отидете в Настройки. Конфигурирайте:

Настройка Стойност
Режим на работа MQTT
Адрес Име на хост/IP и порт на MQTT брокера
Потребителско име Потребителско име за брокера, ако е необходимо
Парола Парола за брокера, ако е необходимо
HA MQTT Discovery Изключено за това ръководство за Ръчен MQTT

Запазете настройките и позволете на електромера да се свърже отново.

Настройка на MQTT брокера в най-новия WebUI на IAMMETER

Актуалният фърмуер на WebUI поддържа тези настройки за брокера директно. Не е необходимо да конфигурирате потребителското име и паролата чрез историческата процедура с локален API.

За пълна конфигурация от страна на електромера и инструкции за по-стар фърмуер вижте публикуване на данни от IAMMETER към MQTT брокер.

Режим MQTT и IAMMETER Cloud

Когато Режимът на работа на електромера се промени на MQTT, той публикува измерванията към вашия брокер, вместо да ги качва в IAMMETER Cloud. Затова Ръчният MQTT и IAMMETER Cloud не работят едновременно от един и същ електромер.

Ако имате нужда от Home Assistant и IAMMETER Cloud едновременно, използвайте локална HTTP или Modbus TCP интеграция. Сравнете наличните методи в ръководството за интеграция на електромер с Home Assistant.

Стъпка 2: Проверете MQTT темата и payload-а

IAMMETER публикува измервания в реално време към:

device/{SN}/realtime

Заменете {SN} със серийния номер на електромера. Например:

device/80123456/realtime

Преди да конфигурирате сензорите в Home Assistant, се абонирайте за темата с MQTT клиент и потвърдете, че съобщенията пристигат. Това предотвратява смесването на отстраняване на проблеми в YAML с проблеми на брокера, идентификационните данни, защитната стена или темата.

JSON за еднофазен електромер

Еднофазният електромер използва масив Data. Първите пет стойности са:

Позиция в масива Измерване
Data[0] Напрежение
Data[1] Ток
Data[2] Активна мощност
Data[3] Внесена енергия
Data[4] Изнесена енергия

Пример:

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

JSON за многоканален и трифазен електромер

Многоканалните и трифазните електромери използват масив Datas. Всеки вложен масив представлява фаза или измервателен канал:

Datas[0] → фаза/канал A
Datas[1] → фаза/канал B
Datas[2] → фаза/канал C, когато е налична

Във всеки масив за фаза/канал обичайните позиции са:

Позиция в масива Измерване
[0] Напрежение
[1] Ток
[2] Активна мощност
[3] Внесена енергия
[4] Изнесена енергия
[5] Честота, където е предоставена
[6] Фактор на мощността, където е предоставен

Винаги проверявайте действителното MQTT съобщение от вашия модел и фърмуер, преди да копирате шаблони. Вижте пълното описание на JSON данните на IAMMETER.

Стъпка 3: Свържете Home Assistant към брокера

В Home Assistant:

  1. Отидете в Настройки → Устройства и услуги.
  2. Изберете Добавяне на интеграция.
  3. Потърсете MQTT.
  4. Въведете същите адрес, порт, потребителско име и парола на брокера, които използва електромерът.
  5. Потвърдете, че MQTT интеграцията се свързва успешно.

Ако Home Assistant вече използва този брокер, не добавяйте дублираща MQTT интеграция. Ръчно дефинираните сензори ще използват съществуващата връзка с брокера.

Стъпка 4: Добавете сензори за Ръчен MQTT в YAML

Примерите по-долу използват текущата структура на конфигурацията mqtt: sensor: в Home Assistant. Заменете серийния номер във всяка state_topic.

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 позволява на Home Assistant да управлява настройките на обекта в интерфейса. Пазете всеки ID уникален и постоянен. Не го променяйте само за да преименувате показвания обект.

YAML за трифазен електромер

Следният пример създава обектите за фаза A. Дублирайте блока за фази B и C, като промените Datas[0] на Datas[1] и Datas[2], и използвайте различни имена и уникални 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

За WEM2067 и други многоканални модели създайте само толкова блокове за канали, колкото присъстват в действителния payload Datas.

Избягвайте два блока mqtt: на най-горно ниво

Ако configuration.yaml вече съдържа секция mqtt:, добавете сензорите в съществуващата секция. YAML не може безопасно да съдържа два независими ключа с едно и също име на най-горно ниво.

За голяма конфигурация можете да държите MQTT сензорите в включен файл, но следвайте структурата за включване и правилата за отстъпи на Home Assistant.

Стъпка 5: Проверете конфигурацията и заредете сензорите

След като запазите YAML:

  1. стартирайте проверката на конфигурацията на Home Assistant;
  2. коригирайте всички грешки в YAML, отстъпите или шаблоните;
  3. рестартирайте Home Assistant, ако е необходимо;
  4. отворете Инструменти за разработчици → Състояния;
  5. потвърдете, че всеки MQTT обект има правдоподобна стойност, мерна единица, клас на устройството и клас на състоянието.

Стойността на обекта трябва да се промени, след като пристигне ново съобщение на device/{SN}/realtime.

Стъпка 6: Добавете внесената и изнесената енергия към Енергийния панел

Енергийният панел на Home Assistant изисква кумулативни енергийни обекти. YAML примерите използват:

unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing

Отидете в Настройки → Табла → Енергия и изберете:

  • IAMMETER Imported Energy за потребление от мрежата;
  • IAMMETER Exported Energy за връщане към мрежата.

За трифазен електромер изберете структурата от обекти, която съответства на инсталацията и дизайна на таблото в Home Assistant. Можете да изложите енергията по фази поотделно или да създадете подходящ обобщен обект, но не събирайте стойности, без да сте потвърдили как електромерът отчита енергията по фази и нетната енергия за избрания режим на свързване.

Не избирайте обекта за активна мощност, измерван във ватове, в поле за енергия в Енергийния панел. Мощността е моментна величина; панелът изисква кумулативни kWh.

Изберете интервал на публикуване по MQTT

Актуалният фърмуер на IAMMETER поддържа интервал на публикуване по MQTT до 2 секунди. Най-краткият интервал не винаги е най-добрата настройка.

Предложени начални стойности:

Случай на употреба Предложен интервал
Бърза локална автоматизация 2–5 секунди
Табло за енергия в реално време 5–12 секунди
Общ мониторинг 10–60 секунди

Съобразете се с капацитета на брокера, нарастването на записа в Home Assistant, надеждността на мрежата и броя на обектите. Съобщение, съдържащо много стойности по фази, може да обнови няколко сензора в Home Assistant наведнъж.

Поддържани модели IAMMETER

Всички актуални електромери IAMMETER поддържат Ръчен MQTT. Основната им разлика за Home Assistant е структурата на payload-а и броят на измервателните канали.

Модел Типична структура Информация за продукта
WEM3080 Единичен масив Data Еднофазен електромер
WEM2067 Многоканален масив Datas Двуканален електромер за домашен солар
WEM3080T Масив Datas с три канала Трифазен електромер
WEM3050T Масив Datas с три канала Домашен трифазен/разделен фазов електромер
WEM3080TD Многоканални данни според модела/свързването WEM3080TD
WEM3046T / WEM3046TE Данни с три канала с измерване чрез външен 5 A CT Трифазен електромер с 5 A CT

WEM3046T и WEM3046TE измерват 5 A вторичен изход на външни CT. Приложете правилния коефициент на CT, за да получите стойности от първичната страна. Това е характеристика на измервателната система, а не ограничение на MQTT или Home Assistant.

Отстраняване на проблеми

Не пристигат MQTT съобщения

  • Проверете адреса и порта на брокера в WebUI на електромера.
  • Потвърдете потребителското име и паролата.
  • Проверете логовете на брокера за грешки при удостоверяване или свързване.
  • Потвърдете, че електромерът може да достигне брокера през правилата на защитната стена или VLAN.
  • Абонирайте се за device/{SN}/realtime с независим MQTT клиент.

Съобщенията пристигат, но обектите в Home Assistant са недостъпни

  • Потвърдете, че Home Assistant е свързан към същия брокер.
  • Проверете точната тема и серийния номер.
  • Сравнете Data спрямо Datas с действителния payload.
  • Проверете отстъпите и шаблоните в YAML.
  • Проверете логовете на Home Assistant след презареждане или рестартиране.

Някои обекти показват нула или грешно измерване

  • Не копирайте шаблон Data за еднофазен електромер при payload Datas.
  • Проверете позицията в масива спрямо JSON описанието.
  • Потвърдете индекса на фазата/канала.
  • За WEM3046T/WEM3046TE потвърдете коефициента на външния CT.

Енергийните обекти липсват в Енергийния панел

Потвърдете и трите полета:

unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing

Също потвърдете, че обектът е получил валидни числови данни и се появява в Инструменти за разработчици → Състояния.

Появяват се дублирани устройства или сензори

Ръчният MQTT и MQTT Discovery могат да създадат отделни обекти от един и същ електромер. Ако използвате метода с YAML, дръжте HA MQTT Discovery изключен, освен ако съзнателно не искате и двата набора и не сте планирали уникални имена на обектите.

Свързани ръководства

Актуализирано: 19 юли 2026 г.

Нагоре