Wielokrotnie na łamach tego bloga powtarzamy, że Home Assistant to przede wszystkim ogromna wolność. No właśnie, taka wolność, że pozwala wykorzystać funkcje i możliwości sprzętów w różny sposób, często niezbyt oczywisty.
Zazwyczaj oryginalne aplikacje do obsługi sprzętów Smart Home oferują zestaw automatyzacji czy funkcji stricte przewidzianych przez producenta bez pozostawienia użytkownikowi wolnej ręki w wykorzystaniu, na przykład poprzez dostęp do otwartych standardów, jak webhooki czy REST API. W Home Assistant jest natomiast inaczej i w zasadzie możemy robić niemalże wszystko to, co tylko zechcemy. I właśnie w tym wpisie przedstawimy sobie kilka przykładowych niecodziennych automatyzacji, które mogą zainspirować Was do czegoś ciekawego!
Mogliście usłyszeć, że Xiaomi Smart Air Purifier został wyposażony w gwizdek. Tak, ten uruchamia się przy tym jak zmieniamy działanie oczyszczacza, a przede wszystkim wtedy, jak włączamy lub wyłączamy child lock
, czyli blokadę sterowania przyciskami na obudowie. Ten fakt, że przełączanie trybem child lock
uruchamia gwizdek możemy wykorzystać – wszak gwizdek to dobry budzik, dzwonek czy dźwięk powiadomienia!
Automatyzacja będzie więc naprawdę prosta! Najpierw wybieramy jakiś wyzwalacz – w tytule napisałem, że najlepiej jak jest to pewna forma powiadomienia, więc faktycznie możemy tutaj wybrać coś szczególnego – może to być chociażby wykrycie wilgoci przez czujnik zalania czy fakt zakończenia prania, co opisywaliśmy >>w tym wpisie<<. Następnie dodajemy warunki, które nas interesują – moim zdaniem najważniejszym jest fakt przebywania w domu, ponieważ zagwizdanie oczyszczacza będzie zbędne jeśli nas tam nie ma (chyba, że z automatyzacji mają korzystać inni domownicy).
No i finalnie ustawiamy wyzwalacz – moim zdaniem najlepsza opcja to przełączenie Child lock. Otóż nie jest ważnym czy włączamy, czy wyłączamy Child lock – za każdym razem wybrzmi dźwięk gwizdka.
Schemat takiej automatyzacji wyglądałby następująco:
Nie tak dawno temu pokazywałem Wam ciekawe schematy (tak zwane blueprinty), a wśród nich był „Appliance has finished”. Głównym zadaniem tego schematu jest utworzenie automatyzacji informującej nas o zakończonej pracy wybranego sprzętu AGD. Ja jednak znalazłem nieco inne zastosowanie, które sprawdza się niezwykle dobrze.
Otóż jeśli posiadacie typowy ekspres kolbowy, to wiecie, że taki sprzęt należy odkamieniać. Niestety, urządzenie samo nie wspomni o tej potrzebie, wszak nie potrafi zliczać zrobionych kaw, a nawet nie ma wyświetlacza. Według instrukcji, odkamienianie zazwyczaj (choć w zależności od modelu, marki) powinno wykonywać się co 100-200 kaw. Oczywiście zliczanie zrobionych kaw to nic przyjemnego i raczej szybko się znudzi. Ale od czego mamy Smart Home?
Najpierw wpinamy ekspres do inteligentnego gniazdka i normalnie go włączamy oraz robimy kawę. Po wykonaniu tych wszystkich czynności możemy wypić kawę i przejść do Home Assistanta, aby przejrzeć wykres zużycia prądu podczas tego procesu. Dlaczego? Jest to ważne, aby określić jak długo nagrzewa się ekspres oraz ile wtedy mocy zużywa. Następnie zapisujemy pozyskane dane i tworzymy nową automatyzację ze wcześniej wspomnianego schematu.
Tworzymy nową automatyzację podobnie jak to wygląda poniżej, uzupełniając dane analogicznie do uzyskanych przez Was. W moim przypadku wystarczyło ustawienie mocy na 800 W i czasu nagrzewania na 1,25 minuty. Finishing nie jest tak ważny, ale warto ustawić co najmniej 5 minut. W moim przypadku jest to właśnie 5 W i 5 minut.
A co jest akcją? Zwiększenie licznika. Jeśli jednak takiego nie mamy to musimy go utworzyć! Dlatego przechodzimy do ustawień, następnie do zakładki Urządzenia oraz usługi i tutaj, na górnym pasku, wybieramy Pomocnicy. W dolnym, prawym rogu pojawi się przycisk Utwórz pomocnika.
W tym miejscu wybieramy Licznik
i nadajemy mu dowolną nazwę i ikonę. Minimalna wartość niech wynosi 0, natomiast maksymalna około 500. Wartość początkową równą 0 oraz skok równy 1 pozostawiamy. Następnie wracamy do ekranu tworzenia automatyzacji i w wierszu Actions (tym przedostatnim) wybieramy usługę Licznik: Zwiększ i w celach mapujemy utworzony licznik.
Aby jednak automatyzacja zadziałała musimy również ustawić Actions w ostatnim wierszu. W tym miejscu akcja wykona się nie po zakończeniu całego cyklu pracy, a na początku. Ja tutaj wstawiłem powiadomienie informujące o nagrzaniu się ekspresu. Dlatego też tak ważne było wcześniej sprawdzenie czasu nagrzewania się i zużytej mocy, aby tutaj uzyskać dokładniejsze powiadomienie.
Finalnie automatyzacja powinna wyglądać podobnie jak na poniższym zrzucie ekranu:
Minusy? Niestety, automatyzacja nie wykrywa ile kaw zrobiliśmy po jednym nagrzaniu ekspresu. Nawet jeśli zrobimy 3, to zostanie to zliczone jako 1.
Dodam, że warto sobie utworzyć automatyzację, która poinformuje o przekroczeniu danej liczby zrobionych kaw – w moim przypadku taka automatyzacja wygląda następująco:
Ostatnia automatyzacja będzie tylko przykładem, ale pokazuje jak wielkie możliwości drzemią w Home Assistant. Otóż nie tak dawno tworzyliśmy bota w komunikatorze internetowym Telegram, którego zadaniem miało być informowanie nas o problemach z dostępem do serwowanych usług, co umożliwiała aplikacja Uptime Kuma.
Takiego bota możemy też właśnie podpiąć pod Home Assistant i co tutaj ważne, nie jest to jakaś funkcja szczególnie wbudowana w tę platformę – Home Assistant po prostu obsługuje uruchamianie utworzonych przez nas skryptów napisanych w Python czy Bash dzięki „usługom”. W tym przypadku możemy bota podpiąć właśnie jako taką usługę i aby to zrobić musimy zmodyfikować plik configuration.yaml
. Jak?
W tej serii skupiamy się na Home Assistant w wersji Docker, więc powiem Wam jak to zrobić właśnie w przypadku wykorzystania kontenerów. A więc logujemy się do konsoli naszego serwera i od razu przechodzimy do katalogu, w którym mamy plik compose.yaml
z konfiguracją kontenera Home Assistant. Wszelkie pliki kontenera znajdują się w tym folderze, w katalogu opt
, który pełni rolę woluminu. Następnie przeskakujemy po wszystkich katalogach i odnajdujemy plik configuration.yaml
. Wszystkie komendy będą wyglądały następująco:
cd ~/docker/home-assistant
cd opt/homeasssistant/config
nano configuration.yaml
Uruchomi się plik konfiguracyjny w edytorze nano
. Od razu przechodzimy na sam koniec pliku i dopisujemy dane naszego bota, które pozyskaliśmy jeszcze w trakcie wykonywania poradnika z Uptime Kuma (lub dane nowego bota – użytkownik Telegrama może tworzyć wiele botów za darmo). Dopisane informacje będą wyglądały następująco:
telegram_bot:
- platform: polling
api_key: '<token_api>'
allowed_chat_ids:
- <chat_id>
Przy czym <chat_id>
oraz <token_api>
należy wypełnić tymi sekretnymi danymi. Zapisujemy plik Ctrl
+S
i wychodzimy Ctrl
+Q
.
Wracamy do interfejsu Home Assistant i na lewym, bocznym pasku wybieramy Narzędzia deweloperskie. Tutaj najpierw klikamy Sprawdź konfigurację
, co powinno zakończyć się sukcesem (jak nie to należy powrócić do pliku configuration.yaml i nanieść poprawki), a następnie klikamy w Uruchom ponownie
. Po chwili Home Assistant powinien się uruchomić.
Teraz już przechodzimy do działu z automatyzacjami, tworzymy nową (lub edytujemy wybraną) i w bloku Wykonaj
dodajemy akcję Telegram bot: Send message
. Home Assistant wyświetli tam gotowy szablon, gdzie wpisujemy treść wiadomości, wybieramy tryb parsowania oraz ponownie podajemy chat_id
.
Ta funkcja świetnie sprawdza się, jeśli chcemy, na przykład, dzielić się jakimiś informacjami ze znajomymi, ale nie zamierzamy im udzielać dostępu do Home Assistanta. Wystarczy utworzyć konwersację grupową i dodać do niej przyjaciół oraz utworzonego bota w Telegramie. Następnie pobieramy chat_id
tej konwersacji i wpisujemy go zarówno w configuration.yaml
, jak i w samej automatyzacji.
Przykład dobrego wykorzystania tej funkcji? Proszę bardzo – jeśli czujnik zalania wykryje zalanie, to możemy tę informację wysłać do wielu osób za pomocą bota w Telegramie, w tym, na przykład, sąsiadom, znajomym czy mieszkającej blisko rodzinie. Co ważne, w automatyzacji możemy dodać warunek sprawdzający czy jesteśmy w domu. To drobna rzecz, która może znacznie ułatwić życie.
Ten artykuł miał za zadanie pokazać Wam na jak wiele rzeczy pozwala Home Assistant. Ta platforma może odegrać kluczową rolę nie tylko jako aplikacja do sterowania żarówkami czy gniazdkami, ale też jako integrator danych, broker wiadomości czy nawet narzędzie do komunikacji z innymi osobami. Te proste przykłady mogą uruchomić Waszą wyobraźnię do utworzenia własnych, unikatowych i niezwykle przydatnych skryptów oraz automatyzacji, które na dobre ulepszą Wasze życie.
Kup kompatybilny z Home Assistant sprzęt w sklepie TECHWISH!
Kategoria: Inspiracje technologiczne