Node-RED — podstawy automatyzacji w Home Assistant
Wykorzystaj potencjał Home Assistant oraz Node-RED, aby stworzyć proste automatyzacje z użyciem odbiorników Supla.

Node-RED — co to jest?
Automatyzacje z użyciem oprogramowania Home Assistant są naprawdę bardzo proste. Możemy wykonać je bezpośrednio w samym systemie lub z użyciem zewnętrznego oprogramowania np. Node-RED. W tym artykule skupię się na prostej automatyce właśnie za pomocą takiego programu. Na przykładzie urządzeń Supla przedstawię jak uruchomić odbiornik ROW-01 gdy monitor energii MEW-01 wykryje pobór energii czynnej powyżej 500W.
Zastanawiasz się czym jest Node-RED? Node-RED to oprogramowanie, które zostało opracowane w 2013 przez IBM, obecnie jest projektem typu Open Source i rozwijany przez dużą społeczność. Program pozwala tworzyć zaawansowane algorytmy różnych aplikacji/automatyzacji przy wykorzystaniu połączonych ze sobą grafów. Często jest wykorzystywany w projektach związanych z Internetem rzeczy, smart home i nie tylko. Znajduje również bardziej zaawansowane zastosowania, nawet komercyjnie. Node-RED jest dość prosty w obsłudze dla osób, które nie są biegłe w programowaniu. Jeśli poszukiwałeś rozwiązania, które sprawi, że Twój dom może być smart to myślę, dobrze trafiłeś. Przejdźmy do jego instalacji.
Uwaga! Ten wpis przedstawia podstawy Node-RED i bardzo prosty przykład automatyki możliwej do zrealizowania. Z dużym prawdopodobieństwem nie będzie on miał praktycznego zastosowania w domu.
Instalacja Node-RED
1. Na samym początku sprawdźmy czy mamy poprawnie zainstalowany i skonfigurowany Home Assistant.
Jeśli jeszcze nie wiesz, czym jest ten system to zachęcam Cię do zapoznania się z tym artykułem: Konfiguracja Supla dla Home Assistant przez MQTT.
Zakładam, że już masz zainstalowany u siebie HA i jesteś gotowy/a do wykonania pierwszej Twojej automatyzacji. W tym celu wykorzystamy pakiet Node-RED dostępny w Home Assistant. Przechodzimy do zakładki Supervisor, a następnie Sklepu z dodatkami.
[
](/wp-content/uploads/2021/07/Sklep-z-dodatkami-Node-RED.jpg)
Sklep z dodatkami Node-RED
2. Wyszukujemy na liście program Node-RED i przechodzimy do jego instalacji.
[
](/wp-content/uploads/2021/07/Instalacja-Node-RED-w-Home-Assistant.jpg)
Instalacja Node-RED w Home Assistant
3. Instalacja powinna trwać do kilkudziesięciu sekund. Po poprawnym zainstalowaniu zobaczymy na ekranie stosowną informację. Czas przejść do konfiguracji.
[
](/wp-content/uploads/2021/07/Konfiguracja-Node-RED-w-Home-Assistant.jpg)
Konfiguracja Node-RED w Home Assistant
4. W kolejnym kroku będziemy musieli uzupełnić plik konfiguracyjny. Bez tego dalej ani rusz, ponieważ Node-RED się nie uruchomi nam poprawnie. Uzupełniamy kilka podstawowych informacji (pogrubiłem te wymagane, reszty nie będę omawiał):
credential_secret: TrudneHaslo123 (należy podać przykładowe hasło)
theme: default
http_node:
username: ‘’
password: ‘’
http_static:
username: ‘’
password: ‘’
ssl: true (jeśli nie korzystamy z SSL, to wpisujemy false)
certfile: fullchain.pem
keyfile: privkey.pem
require_ssl: true (jeśli nie korzystamy z SSL, to wpisujemy false)
system_packages: []
npm_packages: []
init_commands: []
Plik został poprawnie uzupełniony? Możemy go zapisać. W tym celu wybieramy przycisk, ZAPISZ.
[
](/wp-content/uploads/2021/07/Ustalenie-hasla-dla-Node-RED-w-Home-Assistant.jpg)
Ustalenie hasła dla Node-RED w Home Assistant
5. Czas na pierwsze uruchomienie Node-RED. W oknie tego dodatku zachęcam do stworzenia skrótu do samej aplikacji. Wystarczy wybrać opcję Pokaż na pasku bocznym, dzięki czemu będziemy mieli łatwy i szybki dostęp do programu z poziomu Home Assistant.
[
](/wp-content/uploads/2021/07/Uruchomienie-Node-RED.jpg)
Uruchomienie Node-RED
Pierwsza automatyzacja w Node-RED
1. Poniżej przedstawiam założenia naszej funkcji.
ZAŁOŻENIA
[
](/wp-content/uploads/2021/07/Prosta-automatyzacja-Supla-z-Node-RED-w-Home-Assistant-.jpg)
Prosta automatyzacja Supla z Node-RED w Home Assistant
Nasza automatyzacja będzie wykorzystywała dwa urządzenia. Monitor energii elektrycznej MEW-01 jako element pomiarowy oraz odbiornik dopuszkowy ROW-01 jako element wykonawczy. Oczywiście nic nie stoi na przeszkodzie, aby wykorzystać inne urządzenia, każdego producenta systemu Smart Home, który jest otwarty na integracje.
Monitor energii elektrycznej MEW-01 będzie wykonywał pomiar pobieranej energii czynnej na fazie L2. Odbiornik ROW-01 będzie załączał i wyłączał lampkę kontrolną. Tak więc będziemy sprawdzać 2 stany:
a) Przekaźnik w ROW-01 będzie załączony w momencie, gdy MEW-01 wykryje powyżej 500W na fazie L2,
b) Przekaźnik w ROW-01 będzie wyłączony w momencie, gdy MEW-01 wykryje poniżej 500W na fazie L2.
[
](/wp-content/uploads/2021/07/Przykladowe-encje-w-Home-Assistant.jpg)
Przykładowe encje w Home Assistant
2. Gdy już wiesz jakie są założenia algorytmu, to przejdziemy do uruchomienia Node-RED. Z lewego bocznego menu wybieramy odpowiednią ikonę i uruchamiamy nasz program. Pojawi się pusta tablica, w której będziemy tworzyć naszą zaawansowaną funkcję :-).
[
](/wp-content/uploads/2021/07/Podglad-Node-RED-w-Home-Assistant.jpg)
Podgląd Node-RED w Home Assistant
3. Poniżej zobacz jak wygląda gotowa automatyzacja. Każdy z widocznych tutaj elementów pełni swoją funkcję. Mamy obiekty sprawdzające oraz wykonawcze. Wszystkie widoczne tutaj elementy to węzły tzw. Nody. W dalszej części tego wpisu będę posługiwał się określeniem Nod.
[
](/wp-content/uploads/2021/07/Pierwsza-automatyzacja-Node-RED-w-Home-Assistant-1.jpg)
Pierwsza automatyzacja Node-RED w Home Assistant
4. Naszym pierwszym nodem będzie events: state. Jest to Nod, który zostaje wywoływany każdorazowo po zmianie stanu. Będzie przedstawiał wartość mocy czynnej na fazie L2 i zmieniał się w przypadku zmiany wartości tej mocy.
[
](/wp-content/uploads/2021/07/Nod-events-state.jpg)
Nod events state
5. Przeciągamy go na naszą tablicę z bocznego menu (biblioteki Nodów). Gdy mamy już go na planszy czas go skonfigurować. Klikamy na niego i wypełniamy w zasadzie tylko kilka istotnych pól:
- name - to nazwa naszego noda noda (będzie łatwiej nam go zidentyfikować);
- server - instalacja Home Assistant (przy świeżej instalacji będzie tylko 1 serwer do wyboru);
- Entity ID - identyfikator encji, który odpowiada za wartość energii czynnej na fazie L2 z urządzenia MEW-01 (w zależności jak mamy nazwane urządzenie po stronie serwera Supla Cloud to encja może się nazywać różnie, w moim przypadku jest to: sensor.monitor_energii_elektrycznej_power_active_phase_1)
Zauważ, że w konfiguracji tego noda zaznaczyłem 2 opcje:
- Current State Equals Previous State - Nod nie będzie wyzwalany, gdy ostatnia wartość jest równa poprzedniej - chyba jest to jasne;
- Output On Connect - Nod jest wyzwalany każdorazowo po zapisie, uruchomieniu serwera, odświeżeniu tablicy w Node-RED;
To tyle na początek. Nie będę skupiać się na objaśnieniu innych opcji, gdyż nie jest to teraz potrzebne.
[
](/wp-content/uploads/2021/07/Konfiguracja-nod-events-state.jpg)
Konfiguracja nod events state
6. Poprawnie skonfigurowaliśmy nasz pierwszy Nod, który przedstawia wartość mocy czynnej na L2. Czas tą moc sprawdzić czy jej wartość jest w naszych założeniach. Użyjemy w tym celu funkcji logicznej. Najlepiej sprawdzi się w tym celu switch. Węzeł ten sprawdzi moc na L2 i wystawi informację na jednym ze swoich wyjść. Tradycyjnie odszukujemy w lewej części ekranu odpowiedni nod i przeciągamy go na naszą tablicę. Pamiętajmy, aby go połączyć z pierwszym węzłem.
[
](/wp-content/uploads/2021/07/Nod-switch.jpg)
Nod switch
7. Gdy mamy switch na ekranie to przechodzimy do jego konfiguracji. Ustalamy nazwę oraz tworzymy 2 warunki:
-
większe niż > 500W
-
mniejsze niż < 500W
Zauważ, że użyłem znaki mniejszości oraz większości. Jeśli chciałbym, aby wartość 500 była brana pod uwagę, to musiałbym użyć znaku równości np. >= 500W.
Switch sprawdzi wartość, jaką wystawia mu events: state i pokieruje stosowną informację na jedno z wyjść. W naszym wypadku będą to 2 wyjścia, gdyż mamy tylko 2 warunki. Informacja o tym, czy wartość jest większa czy też mniejsza niż 500W dotrze do kolejnego noda o nazwie call service.
[
](/wp-content/uploads/2021/07/Konfiguracja-nod-switch.jpg)
8. Z naszej biblioteki odszukujemy kolejny Nod o nazwie call service. Ten węzeł będzie wywoływał konkretną akcję. Może to być załączenie, wyłączenie, przełączenie, wysyłanie informacji, powiadomienia i wiele innych. Dodajemy na naszą planszę dwa takie nody. Następnie należy je połączyć z naszym switch’em.
[
](/wp-content/uploads/2021/07/Nod-call-service.jpg)
Nod call service
9. Czas na konfigurację obu nodów:
ROW-01 to nasza lampka kontrolna. W Home Assistant przedstawia się jako światło. Z pola Domain wybieramy light.
Następnie określamy akcję, która zostanie wykonana, czyli pole Service. Zgodnie z założeniami wybraliśmy turn_on oraz turn_off. Odpowiada to za załączenie i wyłączenie.
Teraz zaznaczamy, której encji ta akcja dotyczy. ROW-01 u mnie przedstawia się jako light.light_switch. Taką też encję wybieram.
[
](/wp-content/uploads/2021/07/Konfiguracja-call-service-zalacz.jpg)
Konfiguracja call service — załącz
[
](/wp-content/uploads/2021/07/Konfiguracja-call-service-wylacz.jpg)
Konfiguracja call service — wyłącz
Konfiguracja call service
10. Gdy wszystko poprawnie skonfigurowaliśmy i połączyliśmy, to możemy przejść do uruchomienia naszego programu. Naciskamy przycisk Deploy. W tym momencie nasza funkcja została zapisana i automatyzacja została uruchomiona.
[
](/wp-content/uploads/2021/07/Uruchomienie-automatyzacji-Node-RED.jpg)
Uruchomienie automatyzacji Node-RED
11. Zauważmy, że akcja jest wykonywana. Jak widać, nasz nod o nazwie events: state przedstawia wartość mocy czynnej na fazie L2. Switch odpowiednio interpretuje tą wartość i uruchamia konkretny call service.
[
](/wp-content/uploads/2021/07/Ostatnie-uruchomienie-Nod.jpg)
Ostatnie uruchomienie Nod
12. Wszystko działa! Od teraz możemy cieszyć się naszą prostą automatyką.
[
](/wp-content/uploads/2021/07/Przykladowe-encje-w-Home-Assistant.jpg)
Poniżej 500W
[
](/wp-content/uploads/2021/07/Przykladowe-encje-w-Home-Assistant-po-uruchomieniu-automatyzacji-Node-RED.jpg)
Powyżej 500W
Podsumowanie
Oczywiście był to tylko prosty przykład automatyzacji, jaką można wykonać z użyciem Node-RED. Program pozwala na tworzenie bardzo zaawansowanych funkcji. Przykładowo sterowanie ogrzewaniem w domu, sterowanie roletami w zależności od położenia słońca nad horyzontem czy też produkcja instalacji fotowoltaicznej i wykorzystywanie nadwyżki do uruchomienia grzania np. bojlera elektrycznego.
Rozwiązań, które można stworzyć jest naprawdę wiele. Korzystając z Home Assistant i Node-RED lub innego tego typu systemu, nie jesteś ograniczony/a do jednego producenta. To oprogramowanie pozwoli Ci na zarządzanie wielu odbiorników różnych producentów w jednej aplikacji dostępnej na wielu platformach.
To tyle, co chciałem dziś przedstawić. Jeśli masz jakieś sugestie to zapraszam do przesłania wiadomości na maila.