Home Assistant – wyłączenie światła po określonym czasie
Czy zdarzyło Ci się wyjść z domu zostawiając zapalone światło? Najgorzej, gdy wydarzy się to przed dłuższą nieobecnością wszystkich domowników. W Home Assistant stworzenie automatyzacji odpowiedzialnej za wyłączenie światła po określonym czasie jest banalnie proste. Zatem do dzieła!
Zakładam, że posiadasz zainstalowanego Home Assistanta, poprawnie zintegrowałeś swoje źródło światła w systemie Home Assistant oraz że nie posiadasz czujników ruchu w pomieszczeniach, dla których powinna zostać zastosowana inna automatyzacja.
Nazwę tzw. encji wybranego źródła światła możesz sprawdzić na stronie „Narzędzia Deweloperskie” w zakładce „Stany” .
Wszystkie reguły przechowuję w pliku automations.yaml. Jest to standardowy plik systemu Home Assistant. Znajduje się on w tym samym folderze co plik configuration.yaml, w którym najprawdopodobniej konfigurowałeś integracje swoich urządzeń.
Automatyzacje składają się z trzech (lub dwóch) sekcji:
- trigger – określa co wywołuje regułę
- condition – warunek, który musi być spełniony aby wywołać akcję (opcjonalne)
- action – akcja, czyli co powinno się wykonać
Wersja podstawowa
Chcemy, aby światło wyłączyło się po 5 godzinach ciągłego świecenia.
- alias: 'Automatyczne wyłączenie światła w małym pokoju po 5 godzinach'
trigger:
platform: state
entity_id: switch.pokoj_maly
from: 'off'
to: 'on'
for:
hours: 5
action:
service: switch.turn_off
entity_id: switch.pokoj_maly
Wyzwalaczem naszej reguły będzie przejście ze stanu wyłączony na włączony dla źródła światła w małym pokoju, po określonym czasie (licząc od momentu przejścia na stan włączony). Naszą akcją jest wyłączenie tego światła.
Wersja rozbudowana
Co jeśli chcielibyśmy zastosować regułę do wszystkich świateł, czyli wyłączyć światła po określonym czasie w całym domu w systemie Home Assistant? Można powielić poprzednią automatyzację zmieniając tylko nazwę encji dla każdego źródła światła lub ulepszyć naszą regułę.
- alias: 'Automatyczne wyłączenie światła w domu po 5 godzinach'
trigger:
platform: state
entity_id:
- switch.pokoj_duzy_zyrandol
- switch.pokoj_duzy_panel
- switch.pokoj_duzy_pasek
- switch.pokoj_maly
- switch.pokoj_sredni
- switch.kuchnia_jadalnia
- switch.kuchnia_aneks
from: 'off'
to: 'on'
for:
hours: 5
action:
service: switch.turn_off
data_template:
entity_id: "{{ trigger.entity_id }}"
Zastosowałem tutaj szablon (w data_template) zastępujący wyrażenie {{ trigger.entity_id }} nazwą encji, która wyzwoliła regułę.
Szablony Jinja2 w Home Assistant pozwalają stworzyć bardziej wyrafinowane reguły, przykłady znajdziesz w dokumentacji Home Assistanta. Do testowania szablonów świetnym narzędziem będzie z kolei edytor dostępny na stronie „Narzędzia dla deweloperów” w zakładce „Szablony„.
Co dalej?
Pamiętaj, aby załadować ponownie automatyzację! Zrobisz to na stronie „Konfiguracja” -> „Kontrola serwera” poprzez wciśnięcie przycisku „Automatyzacje„.
Dobrym pomysłem jest wprowadzenie śledzenia użytkownika i gaszenie świateł gdy system nie wykrył nikogo w domu.
Jeśli wymyśliłeś lepszą wersję reguły, śmiało podziel się nią z innymi zainteresowanymi w komentarzu.
[…] składnię automatyzacji opisałem we wpisie z automatycznym wyłączaniem światła po określonym czasie. Jeśli nie wiesz, jak działają automatyzacje, zachęcam do zapoznania się z jego pierwszą […]