Home Assistant - Automatyzacje
Home Assistant,  Inteligentny dom,  Oświetlenie

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” .

Zrzut ekranu strony, z której można pobrać nazwę encji źródła światła aby opracować automatyzacje odpowiedzialną za wyłączenie światła po określonym czasie w Home Assistant
Spis encji wraz z stanami i właściwościami w systemie Home Assistant

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„.

Zrzut ekranu strony z Home Assistanta pozwalającej na testowanie kodu szablonów
Edytor szablonów w Home Assistant

Co dalej?

Pamiętaj, aby załadować ponownie automatyzację! Zrobisz to na stronie „Konfiguracja” -> „Kontrola serwera” poprzez wciśnięcie przycisku „Automatyzacje„.

Zrzut ekranu prezentujący stronę kontroli serwera w Home Assistant
Strona Kontroli serwera w Home Assistant

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.

Jeden komentarz

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *