Przewodnik konfiguracji licznika energii Modbus TCP z Home Assistant
Integracja licznika energii Modbus TCP z Home Assistant
Modbus TCP to jeden z najszybszych sposobów na podłączenie licznika energii do Home Assistant. Działa przez lokalną sieć, nie wymaga połączenia z internetem i nadaje się do monitorowania mocy w czasie rzeczywistym, automatyzacji nadwyżek słonecznych, sterowania obciążeniem oraz Energy Dashboard w Home Assistant.
Wszystkie obecne liczniki energii IAMMETER obsługują Modbus TCP. Możesz zintegrować je z Home Assistant na dwa sposoby:
- IAMMETER HACS Modbus integration — konfiguracja przez UI, automatycznie tworzone encje i konfigurowalny interwał skanowania.
- Wbudowana integracja Modbus Home Assistant — konfiguracja YAML z bezpośrednią kontrolą rejestrów i czujników.
Ten przewodnik wyjaśnia różnice i pomaga wybrać odpowiednią metodę.
HACS Modbus czy wbudowany Modbus Home Assistant?
Obie metody odczytują te same lokalne dane Modbus TCP z licznika. Główna różnica polega na sposobie konfiguracji encji Home Assistant.
| Cecha | IAMMETER HACS Modbus | Wbudowany Modbus Home Assistant |
|---|---|---|
| Konfiguracja po stronie HA | UI | YAML |
| Konfiguracja rejestrów | Tworzona przez integrację | Definiowana ręcznie |
| Interwał skanowania | Konfigurowalny; domyślnie 3 sekundy | Konfigurowalny na czujnik |
| Metadane Energy Dashboard | Zawarte dla obsługiwanych encji energii | Muszą być skonfigurowane w YAML |
| Automatyczne/asystowane wykrywanie | Konfiguracja wspomagana przez SSDP | Nie |
| Działanie lokalne | Tak | Tak |
| Możliwość dalszego korzystania z IAMMETER Cloud | Tak | Tak |
| Najlepsze dla | Większości użytkowników Home Assistant | Zaawansowanych użytkowników i niestandardowych rejestrów |
Dla większości użytkowników integracja HACS Modbus jest prostszą opcją. Użyj wbudowanej integracji Modbus Home Assistant, gdy potrzebujesz niestandardowej listy rejestrów, schematu nazewnictwa encji, reguł skalowania lub indywidualnego interwału odpytywania dla poszczególnych czujników.
Jeśli nie potrzebujesz szybkich aktualizacji, porównaj alternatywy HTTP i MQTT w omówieniu integracji liczników energii z Home Assistant.
Zanim zaczniesz
Potrzebujesz:
- licznika energii IAMMETER podłączonego do tej samej sieci LAN co Home Assistant;
- lokalnego adresu IP licznika;
- portu TCP
502dostępnego między Home Assistant a licznikiem; - aktualnej wersji firmware'u licznika;
- zainstalowanego HACS, jeśli wybierasz integrację IAMMETER HACS.
Dobrym pomysłem jest zarezerwowanie adresu IP licznika w routerze. Zmieniający się adres DHCP jest częstą przyczyną późniejszej niedostępności działającej integracji Modbus.
Metoda 1: Konfiguracja IAMMETER Modbus przez HACS
Integracja IAMMETER HACS Modbus została zaprojektowana dla użytkowników, którzy chcą szybko uzyskać lokalne dane bez ręcznego definiowania każdego rejestru w YAML.
Krok 1: Instalacja integracji
- Otwórz HACS w Home Assistant.
- Wyszukaj IamMeter Modbus.
- Zainstaluj najnowszą wersję.
- Zrestartuj Home Assistant, jeśli zostaniesz o to poproszony.
Informacje o projekcie i wydaniach:
Użyj najnowszej dostępnej wersji. Ustawienie interwału skanowania jest obsługiwane przez zaktualizowaną integrację i przekazywane do DataUpdateCoordinator.
Krok 2: Dodanie licznika w Home Assistant
- Przejdź do Settings → Devices & services.
- Wybierz Add integration.
- Wyszukaj IamMeter Modbus.
- Wprowadź adres IP licznika i port Modbus TCP.
- Wybierz odpowiedni typ licznika lub konfigurację faz.
- Ustaw interwał skanowania lub pozostaw domyślną wartość 3 sekund.
- Wyślij formularz i potwierdź, że urządzenie i encje zostały utworzone.
Integracja tworzy różną liczbę encji dla liczników jednofazowych, dwukanałowych i trójfazowych. Krótsza lista encji nie oznacza, że model jednofazowy ma ograniczone wsparcie w Home Assistant.
Krok 3: Sprawdzenie encji
Otwórz urządzenie IAMMETER w Settings → Devices & services. W zależności od modelu dostępne encje mogą obejmować:
- napięcie;
- prąd;
- moc czynną;
- współczynnik mocy;
- energię pobraną;
- energię oddaną;
- moc bierną lub energię bierną, jeśli są udostępniane przez dany licznik i zestaw rejestrów.
Encje energii pobranej i oddanej używają jednostki kWh i zawierają metadane energii Home Assistant wymagane przez Energy Dashboard.
Krok 4: Wybór odpowiedniego interwału skanowania
Domyślny interwał skanowania wynosi 3 sekundy. Jest to praktyczny punkt wyjścia dla dashboardów na żywo i automatyzacji opartych na mocy.
Rekomendowane wartości początkowe:
| Zastosowanie | Sugerowany interwał skanowania |
|---|---|
| Sterowanie przekaźnikiem lub nadwyżką słoneczną w czasie rzeczywistym | 1–5 sekund |
| Dashboard mocy na żywo | 3–10 sekund |
| Ogólne monitorowanie energii | 10–30 sekund |
Ustawienie jednej sekundy to żądanie odpytywania, a nie gwarancja, że każdy dashboard Home Assistant będzie widocznie odświeżany raz na sekundę. Na wynik wpływają również opóźnienie sieciowe, liczba rejestrów, obciążenie recorder'a i zachowanie odświeżania interfejsu.
Unikaj niepotrzebnie agresywnego odpytywania. Dla większości automatyzacji stabilna aktualizacja co 2–5 sekund jest bardziej użyteczna niż najkrótszy możliwy interwał.
Metoda 2: Użycie wbudowanej integracji Modbus Home Assistant
Home Assistant zawiera standardową integrację Modbus. Ta metoda jest w pełni lokalna i nie wymaga HACS, ale połączenie i czujniki są definiowane w YAML.
Poniższy przykład odczytuje napięcie i moc czynną z licznika jednofazowego:
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
Zastąp 192.168.1.6 rzeczywistym adresem IP licznika. Sprawdź odpowiednią mapę rejestrów przed dodaniem kolejnych czujników:
Typowe rejestry Modbus IAMMETER
Poniższe adresy ilustrują standardowe bloki faz używane w typowych licznikach IAMMETER. Zawsze używaj aktualnej dokumentacji rejestrów jako autorytatywnego źródła.
| Pomiar | Faza A / faza pojedyncza | Faza B | Faza C | Typ danych |
|---|---|---|---|---|
| Napięcie | 0 | 10 | 20 | uint16 |
| Prąd | 1 | 11 | 21 | uint16 |
| Moc czynna | 2 | 12 | 22 | int32 |
| Energia pobrana | 4 | 14 | 24 | uint32 |
| Energia oddana | 6 | 16 | 26 | uint32 |
Użyj udokumentowanego skalowania, precyzji i kolejności słów dla każdego rejestru. Nie wyciągaj wniosków na temat skalowania energii na podstawie przykładu napięcia.
Po edycji YAML:
- uruchom sprawdzanie konfiguracji Home Assistant;
- zrestartuj Home Assistant;
- otwórz Developer tools → States;
- potwierdź, że nowe encje mają wiarygodne wartości i jednostki.
Dodawanie energii pobranej i oddanej do Energy Dashboard
Energy Dashboard Home Assistant potrzebuje skumulowanych encji energii, a nie chwilowej mocy.
Dla ręcznie skonfigurowanego czujnika energii Modbus dołącz odpowiednie metadane:
unit_of_measurement: kWh
device_class: energy
state_class: total_increasing
Następnie przejdź do Settings → Dashboards → Energy i wybierz encję energii pobranej jako zużycie z sieci, a encję energii oddanej jako oddanie do sieci.
Nie wybieraj encji mocy czynnej mierzonej w watach do pola energii w Energy Dashboard. Moc pokazuje bieżące tempo; kWh energii pobranej/oddanej rejestruje skumulowaną energię.
Obsługiwane modele IAMMETER
Wszystkie obecne liczniki energii IAMMETER obsługują zarówno HACS Modbus, jak i wbudowaną integrację Modbus Home Assistant.
| Model | Konfiguracja licznika | Uwagi dla Home Assistant |
|---|---|---|
| WEM3080 | Jednofazowy | Zestaw encji jednofazowych |
| WEM2067 | Dwukanałowy do zastosowań jednofazowych | Dwa kanały pomiarowe |
| WEM3080T | Trójfazowy | Trzy grupy encji/faz |
| WEM3050T | Trójfazowy lub split-phase | Trzy kanały pomiarowe |
| WEM3080TD | Trójfazowy/trzyprzewodowy i specjalne okablowanie | Interpretuj encje zgodnie z trybem okablowania |
| WEM3046T / WEM3046TE | Zewnętrzne wejście CT 5 A | Zastosuj zewnętrzny przekładnik CT |
WEM3046T i WEM3046TE mierzą wtórne wyjście 5 A zewnętrznego przekładnika prądowego. Aby uzyskać rzeczywisty prąd, moc i energię po stronie pierwotnej, należy zastosować odpowiedni przekładnik CT. Jest to cecha systemu pomiarowego z CT 5 A, a nie ograniczenie kompatybilności z Home Assistant lub Modbus.
Czy Modbus i IAMMETER Cloud mogą działać jednocześnie?
Tak. Home Assistant odczytuje Modbus TCP lokalnie, podczas gdy licznik może kontynuować przesyłanie danych do IAMMETER Cloud. Nie musisz zmieniać trybu przesyłania licznika na MQTT, aby używać Modbus.
Daje to dwa uzupełniające się widoki:
- szybkie lokalne dane i automatyzacje w Home Assistant;
- długoterminowe raporty, analizę kosztów energii, analizę słoneczną i zdalny dostęp w IAMMETER Cloud.
Unikaj wielu klientów Modbus o wysokiej częstotliwości
Używaj jednego aktywnego klienta odpytywania Modbus TCP na licznik jako bezpiecznego modelu wdrożenia. Nie konfiguruj Home Assistant, Node-RED, PLC i innego rejestratora do jednoczesnego odpytywania tego samego licznika z wysoką częstotliwością.
Jeśli kilka systemów potrzebuje tych samych pomiarów na żywo, pozwól jednemu systemowi odczytywać Modbus i redystrybuować dane lub użyj architektury MQTT, gdzie wielu konsumentów subskrybuje brokera.
Rozwiązywanie problemów
Home Assistant nie może połączyć się z portem 502
- Potwierdź, że Home Assistant i licznik są w tej samej osiągalnej sieci.
- Zweryfikuj adres IP licznika i zarezerwuj go w routerze.
- Sprawdź, czy port TCP
502nie jest blokowany przez firewall lub regułę VLAN. - Upewnij się, że inny klient Modbus nie utrzymuje lub nie otwiera wielokrotnie połączenia.
Encje są niedostępne lub wartości się nie zmieniają
- Potwierdź wybrany typ licznika/fazy w integracji HACS.
- W przypadku YAML zweryfikuj ID slave'a, adres rejestru, typ danych, skalowanie i kolejność słów.
- Tymczasowo zwiększ interwał skanowania, aby wykluczyć zbyt agresywne odpytywanie.
- Zrestartuj integrację po zmianie adresu IP licznika.
Wartości są niewiarygodnie wysokie lub niskie
- Sprawdź skalowanie rejestru i typ danych.
- Dla WEM3046T/WEM3046TE zweryfikuj zewnętrzny przekładnik CT.
- Potwierdź, że encja odpowiada oczekiwanej fazie lub kanałowi pomiarowemu.
Encje energii nie pojawiają się w Energy Dashboard
- Użyj skumulowanej energii pobranej/oddanej w kWh.
- Potwierdź
device_class: energy. - Potwierdź
state_class: total_increasing. - Nie używaj encji mocy w watach.
Tworzenie automatyzacji z danymi mocy w czasie rzeczywistym
Gdy encje Modbus działają, Home Assistant może używać mocy czynnej lub mocy oddawanej do sieci do sterowania innymi urządzeniami. Przykłady obejmują:
- sterowanie przekaźnikiem na podstawie danych mocy Modbus w czasie rzeczywistym;
- ładowanie EV, gdy eksport słoneczny przekracza próg;
- podgrzewanie wody przy dostępnej nadwyżce słonecznej;
- powiadamianie użytkownika, gdy zapotrzebowanie gospodarstwa domowego przekracza limit;
- redukcja sterowalnego obciążenia przed importem drogiej energii szczytowej.
Skup się najpierw na ustanowieniu niezawodnych danych w integracji. Dodawaj logikę sterowania dopiero po sprawdzeniu konwencji znaku, jednostek, interwału aktualizacji i zachowania, gdy licznik stanie się niedostępny.