Pomocnicy / Helpers w Home Assistant

W dzisiejszym poradniku chciałbym wprowadzić pojęcie pomocników w Home Assistant (z języka angielskiego Helpers). Opiszę co to takiego, w jakim celu zostały stworzone oraz krótko opiszę poszczególne rodzaje pomocników.

w artykule:

W Home Assistant, pomocnicy to specjalne encje, które służą do rozszerzania funkcjonalności systemu i ułatwianiają tworzenia automatyzacji. Działają one jak wirtualne czujniki lub przełączniki, pozwalając na przechowywanie danych, wykonywanie akcji lub modyfikowanie wartości innych encji. Można je stworzyć wchodząc w Ustawienia > Urządzenia oraz Usługi > Pomocnicy.

Ja u siebie mam już kilka takich elementów mam stworzonych. Aby dodać nowego klikamy przycisk “+ Utwórz pomocnika” a następnie z listy rozwijanej wybieramy typ. Teraz chciałbym krótko opisać każdy z nich i podam przykłady wykorzystania. Są to rodzaje na dzień nagrywania filmu, jestem przekonany, że będą się tutaj pojawiać z biegiem czasu nowe pozycje, a opis każdego z nich znajdziecie na stronie Home Assistant https://www.home-assistant.io/integrations/#helper

Typy pomocników

Grupa

Jednym z najbardziej popularnych typów jest Grupa, myślę że większość z użytkowników Home Assistant’a ma przynajmniej 1 takiego pomocnika w swoim serwerze Smart home.

Tworzenie grupy pozwala na łączenie wielu encji jednego rodzaju w jedną jednostkę. Encje będące członkami grupy mogą być kontrolowane i monitorowane jako całość.

Może to być przydatne w przypadkach, gdy chcesz sterować na przykład wieloma punktami świetlnymi (mp. żarówkami) w Asystencie Home.

Przykłady:

Przykładowym zastosowanie jest grupowanie np. czujników ruchu czy obecności. Tworząc takiego pomocnika, możemy przy tworzeniu automatyzacji sprawdzić czy występuje ruch w całym domu czy danym pomieszczeniu.Chodzi o to, że grupa czujników ruchu będzie pokazywać obecność w przypadku, gdy jeden z czujników będzie wykrywał ruch. Można to wykorzystać np. przy wzbudzaniu systemu alarmowego, lub włączaniu światła w dużym pokoju w którym czujników jest kilka.

Harmonogram

Tworząc pomocnik typu harmonogram jesteśmy w stanie zdefiniować przedziały czasu w ciągu całego tygodnia, kiedy stan encji będzie ON a kiedy będzie OFF. Dzięki czemu możemy stworzyć automatyzację, która będzie w tych przedziałach czasu zapalać lub gasić światło.

Przykłady:

  • podczas wyjazdu, możemy włączyć światła na określony czas (w każdym dniu tygodnia w innych godzinach) 

Integral – czujnik całkujący sumę Riemanna

Ta integracja zapewnia sumę Riemanna wartości dostarczonych przez czujnik źródłowy. Suma Riemanna jest przybliżeniem całki przez skończoną sumę.

Czujniki integracji są aktualizowane po zmianach źródła . Szybkie czujniki źródła próbkowania zapewniają dokładniejsze wyniki. W tej implementacji domyślna jest metoda trapezoidalna, ale opcjonalnie można użyć metod Left i Right.

Random

Kolejnym typem jest pomocnik random, który tworzy losowe wartości lub stan. Mamy możliwość wyboru albo Losowego binarnego sensora albo Losowego sensora. W pierwszym przypadku tworzymy nazwę pomocnika oraz wybieramy Klasę urządzenia. Natomiast gdy będziemy chcieli użyć drugiej opcji, to poza nazwą i klasą mamy do wyboru jeszcze takie pola jak minimum, maksimum oraz jednostkę. Może to być przydatne, jeśli chcesz przetestować reguły automatyzacji lub uruchomić interaktywne demo aplikacji Smart Home.. Ten pomocnik generuje nowy stan za każdym razem, gdy zostanie odpytany.

Trend

Kolejny typ pomocnika, który chciałem opisać to Trend,umożlliwia tworzenie czujników, które pokazują trend liczbowy stanu innej encji. Ten czujnik wymaga co najmniej dwóch aktualizacji bazowego czujnika, aby ustalić trend. Dlatego może minąć trochę czasu, zanim pokaże się dokładny stan. Może być przydatny jako część automatyzacji, w której chcesz oprzeć działanie na trendzie. Np. tworząc taką wirtualną encję, sprawdzającą temperaturę, możesz ustalić czy rośnie ona lub maleje. Przez co tworząc automatyzację możesz oprzeć się nie tylko na samej wartości liczbowej temperatury, ale również na tym czy np. rośnie i czy trzeba zasunąć rolety.

Połączenie stanu kilku sensorów

Integracja Min/Max wykorzystuje stany z innych czujników w celu określenia minimum, maksimum, najnowszego (ostatniego), średniej, mediany, zakresu i sumy zebranych stanów.

Czujnik dostarczany przez tę integrację zawsze pokaże Ci najniższą/najwyższą/najnowszą wartość, która została otrzymana ze wszystkich monitorowanych czujników. Jeśli masz skoki w swoich wartościach, zaleca się najpierw przefiltrowanie/wyrównanie wartości za pomocą czujnika statystycznego .

Jeśli czujnik źródłowy dostarcza nieznany stan, zostanie on zignorowany w obliczeniach, z wyjątkiem sumy, gdzie ustawi stan na nieznany. Jeśli jednostka miary czujników jest inna, czujnik Min/Max przejdzie w stan błędu, w którym wartość wynosi , UNKNOWN a jednostka miary wynosi ERR.

Licznik

Integracja Licznik pozwala na zliczanie zdarzeń wywołanych przez automatykę.

Tworzy encję, dzięki której możemy zliczać pewne działania w naszym Smart Home. Definiujemy wartość początkową, skok oraz opcjonalnie wartość minimalną i maksymalną. 

Przykłady:

  • Ja wykorzystuję licznik m.in. do sprawdzania ile razy moje automatyzacje zadziałały, np. kiedy dzieci nie wyłączą światła w korytarzu przed wyjściem z domu. Można sobie dla własnej ciekawości sprawdzić jak wiele razy nasz inteligentny dom poprzez automatyzację pomógł oszczędzać energię.

Licznik mediów

Integracja licznika mediów udostępnia funkcjonalność umożliwiającą śledzenie zużycia różnych mediów (np. energii, gazu, wody, ogrzewania).

Z punktu widzenia użytkownika liczniki mediów działają cyklicznie (zwykle co miesiąc) w celach rozliczeniowych. Ten czujnik będzie śledzić wartości czujnika źródłowego, automatycznie resetując licznik na podstawie skonfigurowanego cyklu. Po zresetowaniu atrybut przechowuje poprzednią wartość licznika, zapewniając środki do operacji porównawczych (np. „czy wydałem więcej czy mniej w tym miesiącu?”) lub oszacowania rozliczeń (np. za pomocą szablonu czujnika, który mnoży zmierzoną wartość przez każdy naładowany licznik) ilość jednostkowa).

Niektórzy dostawcy usług komunalnych mają różne taryfy w zależności od czasu/dostępności zasobów/itp. Licznik usług komunalnych umożliwia zdefiniowanie różnych taryf obsługiwanych przez dostawcę usług komunalnych i rozliczanie zużycia zgodnie z nimi. Po zdefiniowaniu taryf nowy podmiot pojawi się wskazując aktualną taryfę. Aby zmienić taryfę, użytkownik musi wywołać usługę, zwykle za pośrednictwem automatyzacji, która może być oparta na czasie lub innym zewnętrznym źródle (np. czujnik REST).

Minutnik

Minutnik z ang. Timer  ma na celu uproszczenie automatyzacji w oparciu o (dynamiczne) czasy trwania.

Gdy timer się zakończy lub zostanie anulowany, wyzwalane są odpowiednie zdarzenia. Pozwala to odróżnić, czy timer przełączył się z active na, idle ponieważ upłynął podany czas trwania, czy został anulowany. Aby kontrolować timery w automatyzacjach, możesz użyć usług wymienionych poniżej. Podczas wywoływania usługi start w timerze, który jest już uruchomiony, resetuje on czas trwania, który będzie potrzebny do zakończenia, i ponownie uruchamia timer bez wyzwalania anulowanego lub zakończonego zdarzenia. Ułatwia to na przykład tworzenie świateł czasowych, które są wyzwalane przez ruch. Uruchomienie timera wyzwala rozpoczęte zdarzenie, chyba że timer jest wstrzymany, w takim przypadku wyzwala ponownie uruchomione zdarzenie.

Pole wyboru, pole numeryczne, pole tekstowe czy pole logiczne Data/czas, 

Tutaj chciałem opisać kilka pomocników, które w zasadzie różnią się tylko danymi przechowywanymi. Są to pole wyboru, pole numeryczne, pole tekstowe czy pole logiczne (które ma wartość prawda lub fałsz).

Tego typu pola przechowuje takie dane jakie wybierzemy z typu. Teoretycznie możemy wybrać pole tekstowe i w automatyzacji sprawdzać co jest zdefiniowane. Ja jednak polecam wybrać już konkrety typ, czyli jeżeli chcemy sprawdzić datę wykonania działania to wybierzmy pomocy pomocnika Data/czas, w przypadku gdy chcemy wybrać jedną z kilku opcji to wybieramy pole wyboru.

Tego typu pomocnik tworzy selektor rozwijany z opcjami, które użytkownik może wybrać. Na ich podstawie możemy napisać automatyzację, która np. włączy odpowiednią stacje radiową, ustawi głośność i wybierze konkretny głośnik.

Przykładem wykorzystania i zrozumienia tych pomocników może być film, w którym stworzyłem Radio.

Docelowo wygląda to następująco – w prawym górnym rogu, oraz w opisie tego filmu umieszczam link do tamtego poradnika (jeżeli, ktoś z Was chciałbym stworzyć sobie taki mechanizm).

Działa to następująco, użytkownik ma do wyboru 3 pola…

Sensor pochodnej

Sensor pochodnej tworzy czujnik, który szacuje pochodną wartości dostarczonych przez inny czujnik ( czujnik źródłowy ). Czujniki różniczkowe są aktualizowane po zmianie czujnika źródłowego .

W przypadku czujników, które resetują się do zera po przerwie w zasilaniu i wymagają „nieujemnej pochodnej”, takiej jak liczniki przepustowości w routerach lub mierniki deszczu, rozważ zamiast tego zastosowanie integracji Utility Meter . W przeciwnym razie każdy reset zarejestruje znaczącą zmianę w czujniku różniczkującym.

Sensor pór dnia 

Ten wirtualny sensor tworzy czujnik binarny, który pobiera wartości, sprawdzając, czy bieżąca godzina mieści się w zdefiniowanych przedziałach czasowych. Na jego podstawie możemy ustawić 

Sensor progowy

Integracja progowa obserwuje stan innego czujnika. Jeżeli wartość będzie niższa lub wyższa od zadanego progu, następuje zmiana stanu czujnika progowego. Obsługuje również zakres, jeśli podano zarówno górną, jak i dolną granicę.

Jeżeli czujnik jest skonfigurowany bez histerezy i wartość czujnika jest równa progowi, czujnik jest wyłączany, ponieważ nie jest ani górny, ani dolny w stosunku do progu.

Tutaj przykładem może być zarządzanie ogrzewaniem lub klimatyzacją. Możemy zdefiniować progi temperatury i na ich podstawie włączać urządzenie.

Zmiana typu urządzenia przełącznika 

Opcja Zmień typ urządzenia w integracji pomocnika umożliwia przekształcenie dowolnego przełącznika w lampę, zasłony/rolety, wentylator, zamek, syrenę lub zawór Home Assistant.

W świecie smart home przełącznik ścienny lub kostka dopuszkowa zmieniająca stan z on na off jest typu przełącznik. I chociaż jest to ogólnie poprawne w przypadku przełącznika ściennego to wtyczki te są często używane np. z oświetleniem czy wentylatorem. Przekaźniki ogólnego przeznaczenia są podobne, ponieważ czasami są używane do takich rzeczy, jak zamki lub bramy garażowe.

Korzystając z integracji modułu pomocniczego Zmień typ urządzenia, możesz przekonwertować te przełączniki na typy jednostek, które najlepiej pasują do Twojego przypadku użycia.

Bardzo przydatna opcja, dzięki której możesz zmienić typ przełącznika. Jeżeli wykorzystujesz np. Sonoff Mini, lub korzystasz z panelu NSPanel to system standardowo tworzy encje typu przełącznik. Zazwyczaj jednak chcemy w tym przypadku wykorzystywać je jako przełączniki światła.

Nowa aktualizacja – nowe typy pomocników

Tak, na potwierdzenie moich słów z początku filmu, właśnie doszły nowe typy pomocników. Jak zacząłem tworzyć ten poradnik to nie było jeszcze pomocników typu: Generic Hydrostat, Generic Thermostat, w dokumentacji powstały nowe Szablony, które będziemy mogli tworzyć jako pomocnika. Daje to bardzo duże pole do rozbudowy naszego Smart Home.

Podsumowanie

Podsumowując, uważam że Pomocniki to potężne narzędzie, które może znacznie rozszerzyć możliwości Home Assistant. Zrozumienie ich działania i sposobów wykorzystania może pomóc Ci w stworzeniu inteligentnego domu, który idealnie odpowiada Twoim potrzebom.

Jeśli coś w tym filmie byłoby niejasne, chcesz dowiedzieć się więcej o pomocnikach, polecam zapoznanie się z oficjalną dokumentacją Home Assistant.

Postaw mi kawę na buycoffee.to
5 1 vote
Article Rating
Subscribe
Powiadom o
guest
0 komentarzy
najstarszy
najnowszy oceniany
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x