Ръководство за настройка на електромер с Modbus TCP и Home Assistant
Интегриране на електромер с Modbus TCP в Home Assistant
Modbus TCP е един от най-бързите начини да свържете електромер към Home Assistant. Работи в локалната мрежа, не зависи от интернет връзка и е подходящ за мониторинг на мощността в реално време, автоматизации на базата на соларен излишък, управление на товари и Energy Dashboard на Home Assistant.
Всички актуални електромери IAMMETER поддържат Modbus TCP. Можете да ги интегрирате с Home Assistant по два начина:
- Modbus интеграция на IAMMETER чрез HACS — конфигурация през интерфейса, автоматично създадени обекти и настройваем интервал на сканиране.
- Вградената Modbus интеграция на Home Assistant — конфигурация в YAML с директен контрол върху регистрите и сензорите.
Това ръководство обяснява разликите и ви помага да конфигурирате подходящия метод.
HACS Modbus или вградената Modbus на Home Assistant?
И двата метода четат едни и същи локални данни по Modbus TCP от електромера. Основната разлика е как се конфигурират обектите в Home Assistant.
| Функция | IAMMETER HACS Modbus | Вградена Modbus на Home Assistant |
|---|---|---|
| Конфигурация от страна на HA | Интерфейс | YAML |
| Конфигурация на регистрите | Създава се от интеграцията | Дефинира се ръчно |
| Интервал на сканиране | Настройваем; по подразбиране 3 секунди | Настройваем за всеки сензор |
| Метаданни за Energy Dashboard | Включени за поддържаните енергийни обекти | Трябва да се конфигурират в YAML |
| Автоматично/подпомогнато откриване | Настройка с помощта на SSDP | Не |
| Локална работа | Да | Да |
| Възможно е едновременно използване на IAMMETER Cloud | Да | Да |
| Най-подходящо за | Повечето потребители на Home Assistant | Напреднали потребители и персонализирани регистри |
За повечето потребители Modbus интеграцията чрез HACS е по-простият вариант. Използвайте вградената Modbus интеграция на Home Assistant, когато ви е необходим персонализиран списък с регистри, схема за именуване на обекти, правило за мащабиране или интервал на запитване за отделни сензори.
Ако не се нуждаете от бързи обновявания, сравнете алтернативите с HTTP и MQTT в обзора на интеграциите на електромер с Home Assistant.
Преди да започнете
Необходими са ви:
- електромер IAMMETER, свързан към същата LAN мрежа като Home Assistant;
- локалният IP адрес на електромера;
- TCP порт
502, достъпен между Home Assistant и електромера; - актуална версия на фърмуера на електромера;
- инсталиран HACS, ако изберете интеграцията IAMMETER чрез HACS.
Добра практика е да запазите IP адреса на електромера в рутера. Промяната на DHCP адреса е честа причина работеща Modbus интеграция да стане недостъпна по-късно.
Метод 1: Конфигуриране на IAMMETER Modbus чрез HACS
Modbus интеграцията на IAMMETER чрез HACS е създадена за потребители, които искат бързи локални данни, без да дефинират ръчно всеки регистър в YAML.
Стъпка 1: Инсталиране на интеграцията
- Отворете HACS в Home Assistant.
- Потърсете IamMeter Modbus.
- Инсталирайте най-новата версия.
- Рестартирайте Home Assistant, ако бъдете подканени.
Информация за проекта и версиите:
Използвайте най-новата налична версия. Настройката за интервал на сканиране се поддържа от обновената интеграция и се предава на DataUpdateCoordinator.
Стъпка 2: Добавяне на електромера в Home Assistant
- Отидете на Settings → Devices & services.
- Изберете Add integration.
- Потърсете IamMeter Modbus.
- Въведете IP адреса на електромера и Modbus TCP порта.
- Изберете подходящия тип електромер или фазова конфигурация.
- Задайте интервала на сканиране или запазете стойността по подразбиране от 3 секунди.
- Изпратете формуляра и потвърдете, че устройството и обектите са създадени.
Интеграцията създава различен брой обекти за еднофазни, двуканални и трифазни електромери. По-краткият списък с обекти не означава, че еднофазният модел има ограничена поддръжка в Home Assistant.
Стъпка 3: Проверка на обектите
Отворете устройството IAMMETER в Settings → Devices & services. В зависимост от модела наличните обекти могат да включват:
- напрежение;
- ток;
- активна мощност;
- фактор на мощността;
- внесена енергия;
- експортирана енергия;
- реактивна мощност или реактивна енергия, когато съответният електромер и набор от регистри ги предоставят.
Обектите за внесена и експортирана енергия използват kWh и включват енергийните метаданни на Home Assistant, изисквани от Energy Dashboard.
Стъпка 4: Избор на подходящ интервал на сканиране
Интервалът на сканиране по подразбиране е 3 секунди. Това е практична начална стойност за табла в реално време и автоматизации, базирани на мощността.
Препоръчителни начални стойности:
| Приложение | Препоръчителен интервал на сканиране |
|---|---|
| Управление на реле или соларен излишък в реално време | 1–5 секунди |
| Табло с мощност на живо | 3–10 секунди |
| Общ мониторинг на енергията | 10–30 секунди |
Настройката от една секунда е заявка за запитване, а не гаранция, че всяко табло на Home Assistant ще се обновява видимо веднъж в секунда. Закъснението в мрежата, броят на регистрите, натоварването на recorder и поведението при обновяване на фронтенда също влияят на резултата.
Избягвайте ненужно агресивно запитване. За повечето автоматизации стабилно обновяване на 2–5 секунди е по-полезно от възможно най-краткия интервал.
Метод 2: Използване на вградената Modbus интеграция на Home Assistant
Home Assistant включва стандартна Modbus интеграция. Този метод е напълно локален и не изисква HACS, но връзката и сензорите се дефинират в YAML.
Следният пример чете напрежение и активна мощност от еднофазен електромер:
modbus:
- name: iammeter_hub
type: tcp
host: 192.168.1.6
port: 502
sensors:
- name: IAMMETER Voltage
slave: 1
address: 0
input_type: holding
data_type: uint16
scale: 0.01
precision: 1
unit_of_measurement: V
device_class: voltage
state_class: measurement
scan_interval: 5
- name: IAMMETER Active Power
slave: 1
address: 2
input_type: holding
data_type: int32
unit_of_measurement: W
device_class: power
state_class: measurement
scan_interval: 5
Заменете 192.168.1.6 с действителния IP адрес на електромера. Проверете съответната карта на регистрите, преди да добавите още сензори:
Често използвани регистри на IAMMETER Modbus
Следните адреси илюстрират стандартните фазови блокове, използвани от често срещаните електромери IAMMETER. Винаги използвайте актуалната документация за регистрите като авторитетен източник.
| Измерване | Фаза A / еднофазна | Фаза B | Фаза C | Тип данни |
|---|---|---|---|---|
| Напрежение | 0 | 10 | 20 | uint16 |
| Ток | 1 | 11 | 21 | uint16 |
| Активна мощност | 2 | 12 | 22 | int32 |
| Внесена енергия | 4 | 14 | 24 | uint32 |
| Експортирана енергия | 6 | 16 | 26 | uint32 |
Използвайте документираните мащаб, точност и ред на думите за всеки регистър. Не извеждайте мащаба на енергията от примера за напрежението.
След редактиране на YAML:
- стартирайте проверката на конфигурацията на Home Assistant;
- рестартирайте Home Assistant;
- отворете Developer tools → States;
- потвърдете, че новите обекти имат правдоподобни стойности и мерни единици.
Добавяне на внесена и експортирана енергия към Energy Dashboard
Energy Dashboard на Home Assistant се нуждае от кумулативни енергийни обекти, а не от моментна мощност.
За ръчно конфигуриран Modbus енергиен сензор включете подходящите метаданни:
unit_of_measurement: kWh
device_class: energy
state_class: total_increasing
След това отидете на Settings → Dashboards → Energy и изберете обекта за внесена енергия като потребление от мрежата (grid consumption), а обекта за експортирана енергия като връщане към мрежата (return to grid).
Не избирайте обект за активна мощност, измервана във ватове, за енергийно поле в Energy Dashboard. Мощността показва текущата скорост; внесените/експортираните kWh отчитат кумулативна енергия.
Поддържани модели IAMMETER
Всички актуални електромери IAMMETER поддържат както HACS Modbus, така и вградената Modbus интеграция на Home Assistant.
| Модел | Конфигурация на електромера | Забележка за Home Assistant |
|---|---|---|
| WEM3080 | Еднофазен | Набор от обекти за еднофазен |
| WEM2067 | Двуканален за еднофазни приложения | Два измервателни канала |
| WEM3080T | Трифазен | Трифазна група/групи обекти |
| WEM3050T | Трифазен или разцепена фаза | Три измервателни канала |
| WEM3080TD | Трифазен/трипроводен и специално свързване | Тълкувайте обектите според режима на свързване |
| WEM3046T / WEM3046TE | Вход за външен токов трансформатор 5 A | Приложете коефициента на външния токов трансформатор |
WEM3046T и WEM3046TE измерват вторичния изход 5 A на външен токов трансформатор. За да получите действителния ток, мощност и енергия от първичната страна, трябва да се приложи правилният коефициент на трансформация. Това е характеристика на измервателната система с 5 A токов трансформатор, а не ограничение за съвместимост с Home Assistant или Modbus.
Могат ли Modbus и IAMMETER Cloud да работят едновременно?
Да. Home Assistant чете Modbus TCP локално, докато електромерът може да продължи да качва данни в IAMMETER Cloud. Не е необходимо да превключвате електромера в режим на качване по MQTT, за да използвате Modbus.
Така получавате два допълващи се изгледа:
- бързи локални данни и автоматизации в Home Assistant;
- дългосрочни отчети, анализ на разходите за електроенергия, анализ на соларната енергия и отдалечен достъп в IAMMETER Cloud.
Избягвайте множество клиенти на Modbus с висока честота
Използвайте един активен клиент за Modbus TCP запитване на електромер като безопасен модел за внедряване. Не конфигурирайте Home Assistant, Node-RED, PLC и друг логер да запитват един и същ електромер независимо и с висока честота.
Ако няколко системи се нуждаят от едни и същи измервания на живо, нека една система да чете Modbus и да разпространява данните, или използвайте MQTT архитектура, при която множество потребители се абонират към брокер.
Отстраняване на проблеми
Home Assistant не може да се свърже към порт 502
- Потвърдете, че Home Assistant и електромерът са в една и съща достъпна мрежа.
- Проверете IP адреса на електромера и го запазете в рутера.
- Проверете дали TCP порт
502не е блокиран от защитна стена или правило за VLAN. - Уверете се, че друг Modbus клиент не държи или не отваря повторно връзката непрекъснато.
Обектите са недостъпни или стойностите не се променят
- Потвърдете избрания тип електромер/фаза в интеграцията чрез HACS.
- При YAML проверете slave ID, адреса на регистъра, типа данни, мащаба и реда на думите.
- Увеличете временно интервала на сканиране, за да изключите прекалено агресивно запитване.
- Рестартирайте интеграцията след промяна на IP адреса на електромера.
Стойностите са неправдоподобно високи или ниски
- Проверете мащабирането на регистрите и типа данни.
- За WEM3046T/WEM3046TE проверете коефициента на външния токов трансформатор.
- Потвърдете, че обектът съответства на очакваната фаза или измервателен канал.
Енергийните обекти не се появяват в Energy Dashboard
- Използвайте кумулативна внесена/експортирана енергия в kWh.
- Потвърдете
device_class: energy. - Потвърдете
state_class: total_increasing. - Не използвайте обект за мощност във ватове.
Създаване на автоматизации с данни за мощността в реално време
След като Modbus обектите работят, Home Assistant може да използва активната мощност или мощността на експорт към мрежата, за да управлява други устройства. Примери:
- управление на реле от данни за мощността по Modbus в реално време;
- зареждане на електрически автомобил, когато соларният експорт надвиши зададен праг;
- загряване на вода с наличния соларен излишък;
- уведомяване на потребителя, когато домакинското потребление надвиши лимит;
- намаляване на управляем товар преди внасяне на скъпа електроенергия в пикови часове.
Дръжте ръководството за интеграция фокусирано първо върху установяването на надеждни данни. Добавяйте логика за управление само след като проверите конвенцията за знаците, мерните единици, интервала на обновяване и поведението, когато електромерът стане недостъпен.