Sterowanie przekaźnikiem w Home Assistant przy użyciu danych o mocy w czasie rzeczywistym
Sterowanie przekaźnikiem w Home Assistant przy użyciu danych o mocy w czasie rzeczywistym
Home Assistant może wykorzystywać dane o mocy w czasie rzeczywistym mierzonej przez licznik energii do sterowania przekaźnikiem, inteligentną wtyczką lub stycznikiem. Tworzy to prostą pętlę sterowania: licznik dostarcza informację zwrotną, Home Assistant stosuje logikę sterowania, a urządzenie przełączające kontroluje obciążenie.
Ten przykład wykorzystuje licznik energii IAMMETER przez Modbus TCP oraz inteligentną wtyczkę Sonoff S26, ale tę samą logikę można zastosować z urządzeniem ESPHome, przekaźnikiem Tasmota lub innym przełącznikiem już zintegrowanym z Home Assistant.
Przykład włącza przekaźnik dopiero po tym, jak zmierzona moc utrzymuje się powyżej 1000 W, a wyłącza go po spadku mocy poniżej 500 W. Różnica między dwoma progami zapobiega szybkiemu włączaniu i wyłączaniu, gdy odczyt waha się w pobliżu jednej wartości.
To jest przykład automatyzacji, a nie instrukcja instalacji Modbus. Najpierw skonfiguruj licznik, postępując zgodnie z przewodnikiem konfiguracji licznika energii Modbus TCP Home Assistant.
Jak działa pętla sterowania oparta na mocy
System składa się z trzech części:
- Czujnik: licznik energii dostarcza dane o mocy czynnej w czasie rzeczywistym.
- Kontroler: Home Assistant porównuje tę wartość z skonfigurowanymi progami.
- Wykonawca: przekaźnik, inteligentna wtyczka lub odpowiednio dobrany stycznik przełącza docelowe obciążenie.

W oryginalnym teście:
- IAMMETER dostarczał encję mocy Modbus;
- Sonoff S26 działał jako sterowany przełącznik;
- czajnik elektryczny został użyty do stworzenia łatwo widocznej zmiany mierzonego obciążenia;
- Home Assistant oceniał odczyt mocy i sterował przełącznikiem.
Obejrzyj oryginalny film demonstracyjny.
Przed utworzeniem automatyzacji
Upewnij się, że następujące encje już istnieją w Home Assistant:
- czujnik mocy czynnej, np.
sensor.iammeter_active_power; - sterowany przełącznik, np.
switch.sonoff_s26.
Czujnik mocy powinien:
- raportować moc czynną w watach;
- aktualizować się niezawodnie przez sieć lokalną;
- używać konwencji znaku, którą rozumiesz;
- przechodzić w stan
unavailable, gdy licznik nie może być odczytany, zamiast milcząco przechowywać starą wartość w nieskończoność.
Dla integracji Modbus IAMMETER HACS interwał skanowania jest konfigurowalny i domyślnie wynosi 3 sekundy. Interwał 3–5 sekund jest zwykle wystarczająco szybki dla tego typu automatyzacji. Interwał jednosekundowy może być używany, gdy jest to rzeczywiście konieczne, ale nie jest wymagany do niezawodnego sterowania.
Wszystkie obecne liczniki energii IAMMETER obsługują Modbus TCP. Odpowiedni model zależy od instalacji elektrycznej i liczby kanałów pomiarowych:
| Model | Typowe zastosowanie |
|---|---|
| WEM3080 | Obwód jednofazowy lub monitorowanie sieci |
| WEM2067 | Dwukanałowe monitorowanie domu jednofazowego lub instalacji solarnej |
| WEM3080T | Monitorowanie trójfazowe |
| WEM3050T | Monitorowanie domu trójfazowego lub split-phase |
| WEM3046T / WEM3046TE | Instalacje z zewnętrznymi przekładnikami prądowymi 5 A |
Dlaczego dwa progi są lepsze niż jeden
Nie używaj tego samego progu zarówno do włączania, jak i wyłączania przekaźnika. Jeśli odczyt wielokrotnie przekracza tę wartość w górę i w dół, przełącznik może migotać (chatter).
Zamiast tego zastosuj histerezę:
- włącz powyżej 1000 W;
- wyłącz poniżej 500 W.
Pomiędzy 500 W a 1000 W Home Assistant utrzymuje istniejący stan przełącznika. To pasmo nieczułości 500 W zapewnia stabilność.
Progi w tym przykładzie mają charakter poglądowy. Wybierz wartości na podstawie:
- znaczenia i znaku mierzonej mocy;
- mocy znamionowej obciążenia;
- dostępnej nadwyżki energii słonecznej, jeśli dotyczy;
- akceptowalnej częstotliwości przełączania;
- wymogów bezpieczeństwa elektrycznego i sprzętowego.
Automatyzacja 1: Włącz przekaźnik po przekroczeniu górnego progu
Poniższa automatyzacja włącza przełącznik tylko wtedy, gdy moc utrzymuje się powyżej 1000 W przez 10 sekund:
alias: Power control - turn relay on
description: Turn on the relay after measured power stays above 1000 W
triggers:
- trigger: numeric_state
entity_id: sensor.iammeter_active_power
above: 1000
for: "00:00:10"
conditions:
- condition: state
entity_id: switch.sonoff_s26
state: "off"
actions:
- action: switch.turn_on
target:
entity_id: switch.sonoff_s26
mode: single
Zastąp oba identyfikatory encji encjami z Twojej instalacji Home Assistant.
Okres for wynoszący 10 sekund filtruje krótkie skoki. Powinien on być zazwyczaj dłuższy niż interwał skanowania licznika, aby decyzja była podejmowana na podstawie więcej niż jednej aktualizacji.
Automatyzacja 2: Wyłącz przekaźnik po spadku poniżej dolnego progu
Druga automatyzacja wykorzystuje dolny próg 500 W:
alias: Power control - turn relay off
description: Turn off the relay after measured power stays below 500 W
triggers:
- trigger: numeric_state
entity_id: sensor.iammeter_active_power
below: 500
for: "00:00:10"
conditions:
- condition: state
entity_id: switch.sonoff_s26
state: "on"
actions:
- action: switch.turn_off
target:
entity_id: switch.sonoff_s26
mode: single
Te dwie automatyzacje działają teraz jako prosty regulator stanu:
| Zmierzona moc | Wynik |
|---|---|
| Powyżej 1000 W przez 10 sekund | Włącz przekaźnik |
| Między 500 W a 1000 W | Zachowaj bieżący stan |
| Poniżej 500 W przez 10 sekund | Wyłącz przekaźnik |
Automatyzacja 3: Bezpieczne wyłączenie, gdy dane z licznika są niedostępne
Pętla sterowania potrzebuje zdefiniowanego stanu awaryjnego. Jeśli licznik lub sieć stanie się niedostępny, gdy obciążenie jest włączone, Home Assistant nie powinien zakładać, że ostatni odczyt jest nadal ważny.
Dla obciążenia, które powinno wyłączyć się w przypadku awarii, dodaj tę automatyzację:
alias: Power control - fail safe off
description: Turn off the relay if the power sensor becomes unavailable
triggers:
- trigger: state
entity_id: sensor.iammeter_active_power
to: "unavailable"
for: "00:00:30"
- trigger: state
entity_id: sensor.iammeter_active_power
to: "unknown"
for: "00:00:30"
conditions:
- condition: state
entity_id: switch.sonoff_s26
state: "on"
actions:
- action: switch.turn_off
target:
entity_id: switch.sonoff_s26
mode: single
To, czy „wyłączony" jest prawidłowym stanem bezpiecznym, zależy od zastosowania. Zdefiniuj zachowanie awaryjne przed użyciem tego wzorca z ogrzewaniem, pompami, ładowaniem, chłodnictwem lub innymi ważnymi obciążeniami.
Skonfiguruj tę samą logikę w interfejsie Home Assistant
Jeśli wolisz edytor automatyzacji:
- Przejdź do Settings → Automations & scenes.
- Utwórz nową automatyzację.
- Wybierz Numeric state jako wyzwalacz.
- Wybierz encję mocy czynnej IAMMETER.
- Ustaw Above 1000 i czas trwania 10 sekund.
- Dodaj bieżący stan
offprzełącznika jako warunek. - Dodaj Switch: Turn on jako akcję.
- Zapisz i włącz automatyzację.
- Utwórz odpowiednią automatyzację wyłączania z Below 500.



Dokładne etykiety mogą się różnić w zależności od wersji Home Assistant, ale logika jest taka sama jak w przykładach YAML.
Bezpieczne testowanie automatyzacji
Przetestuj każdą część osobno przed umożliwieniem automatycznego przełączania:
- Potwierdź, że encja mocy zmienia się w Developer tools → States.
- Ręcznie włącz i wyłącz przekaźnik z Home Assistant.
- Tymczasowo użyj progów testowych, które można osiągnąć w przewidywalny sposób.
- Potwierdź próg włączenia i opóźnienie.
- Potwierdź próg wyłączenia i opóźnienie.
- Tymczasowo odłącz lub zablokuj licznik i zweryfikuj zamierzone zachowanie awaryjne.
- Przejrzyj ślady automatyzacji pod kątem nieoczekiwanych wyzwalaczy.

W oryginalnym teście włączenie czajnika zwiększyło mierzoną moc do około 1596 W, powyżej górnego progu. Wyłączenie czajnika zmniejszyło ją do około 64 W, poniżej dolnego progu. Dwa progi sprawiły, że wynikowy stan przekaźnika był łatwy do zaobserwowania.
Dostosowanie przykładu do sterowania nadwyżką energii słonecznej
Ten sam wzorzec może sterować elastycznym obciążeniem, gdy dostępna jest nadwyżka energii słonecznej, ale najpierw potwierdź konwencję znaku mocy sieciowej.
Na przykład jeden system może raportować:
- moc dodatnią dla importu z sieci;
- moc ujemną dla eksportu do sieci.
Inna encja lub szablon może przedstawiać eksport jako wartość dodatnią. Progi automatyzacji muszą odpowiadać rzeczywistemu zachowaniu encji.
Wersja dla nadwyżki słonecznej zwykle wymaga:
- minimalnego progu eksportu przed włączeniem;
- niższego progu eksportu lub progu importu z sieci do wyłączenia;
- dłuższego opóźnienia, aby zignorować krótkie fluktuacje związane z chmurami;
- minimalnych czasów włączenia/wyłączenia odpowiednich dla sterowanego urządzenia;
- działania awaryjnego, gdy dane z licznika są niedostępne.
W przypadku proporcjonalnego sterowania podgrzewaniem wody zamiast prostego włączania/wyłączania, zobacz rozwiązanie automatyzacji energii słonecznej IAMMETER.
Bezpieczeństwo elektryczne i operacyjne
Automatyzacja Home Assistant nie zmienia parametrów elektrycznych inteligentnej wtyczki ani przekaźnika.
- Nie przełączaj obciążenia przekraczającego znamionowe napięcie, prąd lub moc urządzenia.
- Uwzględnij prąd rozruchowy dla silników, pomp, sprężarek i niektórych zasilaczy.
- Użyj odpowiednio dobranego stycznika, gdy inteligentny przekaźnik ma sterować pośrednio obwodem o wyższej mocy.
- Przestrzegaj lokalnych przepisów elektrycznych i w razie potrzeby skorzystaj z usług wykwalifikowanego elektryka.
- Unikaj szybkiego cyklowania grzejników, sprężarek, ładowarek EV i innych urządzeń z minimalnymi wymaganiami dotyczącymi czasu pracy.
- Zachowaj ręczne obejście i zdecyduj, co powinno się wydarzyć po ponownym uruchomieniu Home Assistant.
Rozwiązywanie problemów
Wartość mocy jest aktualizowana, ale automatyzacja nie działa
- Potwierdź identyfikator encji w automatyzacji.
- Sprawdź, czy wartość jest liczbowa i mierzona w watach.
- Pamiętaj, że wyzwalacz numeric_state uruchamia się, gdy wartość przekroczy próg i spełni czas trwania; nie uruchamia się wielokrotnie, gdy już znajduje się powyżej lub poniżej progu.
- Przejrzyj ślad automatyzacji.
Przekaźnik przełącza zbyt często
- Zwiększ różnicę między progiem włączenia i wyłączenia.
- Zwiększ czas trwania
for. - Użyj dłuższego interwału skanowania Modbus, jeśli reakcja na poziomie sekund nie jest konieczna.
- Dodaj minimalny czas włączenia/wyłączenia dla urządzenia.
Przekaźnik reaguje w złym kierunku
- Sprawdź, czy encja reprezentuje moc obciążenia, import z sieci czy eksport do sieci.
- Zweryfikuj konwencję znaku dodatniego/ujemnego.
- Potwierdź, że używana jest właściwa faza lub kanał.
Encja Modbus staje się niedostępna
- Zweryfikuj adres IP licznika i port TCP
502. - Unikaj uruchamiania kilku wysokoczęstotliwościowych klientów Modbus przeciwko temu samemu licznikowi.
- Postępuj zgodnie z przewodnikiem rozwiązywania problemów z integracją Modbus TCP.
Powiązane przewodniki Home Assistant
- Konfiguracja licznika energii Modbus TCP Home Assistant
- Porównanie wszystkich metod integracji IAMMETER z Home Assistant
- Mapa rejestrów Modbus TCP IAMMETER
- Monitorowanie energii słonecznej Home Assistant
- Home Assistant MQTT Discovery
Zaktualizowano: 19 lipca 2026.