Od kilku lat posiadam dom letniskowy, który zupełnie nieoczekiwanie stał się moim głównym domem. Jego niecodzienna rola, sąsiedztwo podobnego obiektu moich bliskich oraz fakt bycia technologicznym geekiem powoduje, że mój domek stał się poligonem testowym dla różnych systemów automatyki i urządzeń, których próżno szukać w klasycznych polskich domach. Poniżej dzielę się czteroma automatyzacjami, które może i nie są skomplikowane, ale wydatnie poprawiają komfort przebywania w moich 4 ścianach.

PS.

Kilka z automatyzacji oprócz opisu zawiera również kod YAML, który może być wykorzystany do samodzielnego stworzenia automatyzacji. Have fun!

1. Zamykanie bram o zachodzie słońca

Najprostsza z całej czwórki. Home Assistant zamyka bramy wjazdowe o zachodzie słońca. Koniec. Z pozoru banalna automatyzacja, ale zapewnia jedną rzecz mniej do zapamiętania, szczególnie, że moje dwie bramy w ciągu dnia są otwarte dla wszystkich zwiedzających, których potrafi być wielu! Każdy, kto ma sąsiadów, czeka na serwisantów Energii lub nałogowo korzysta z dostaw do domu w Allegrowym Smarcie, wie o czym mówię ;)

alias: Close gates
description: ''
triggers:
  - trigger: sun
    event: sunset
    offset: 0
conditions: []
actions:
  - action: cover.close_cover
    metadata: {}
    target:
      entity_id:
        - cover.boneio_piwnica_brama_las
        - cover.boneio_piwnica_brama_pole
    data: {}
mode: single

2. Trzeci głos aka Text-to-speech

Oprócz mnie i żony, do głosu w naszym domu dopuszczona jest jeszcze jedna osoba: Pani Tablet. To ona powiadamia nas głosowo o alarmach z kamer i gotowym praniu. I o praniu chciałbym tutaj wspomnieć! Nasza pralka i suszarka fizycznie znajdują się w piwnicy domku moich bliskich, który znajduje się kilkadziesiąt metrów od nas. Niestety, nasza pralka to wielka kłamczucha. Przewidywany czas zakończenia niejednokrotnie wydłużał się o 10 czy 15 minut, zmuszając nas do wielokrotnych wycieczek do piwnicy w celu sprawdzenia statusu. Nigdy więcej! Przy pomocy Smart Gniazdka i prostej automatyzacji jesteśmy w stanie otrzymać powiadomienie w kilka chwil od momentu zakończenia prania. Oprócz powiadomienia Push, wyżej wspomniany “Trzeci Głos” ogłasza wszystkim domownikom ten istotny fakt: “Pranie zakończone!”.

TTS w Androidzie i wsparcie tej technologii w mobilnej aplikacji Home Assistant to prawdziwy ukryty klejnot!

Przykładowa automatyzacja wywoływana, gdy binary_sensor.pralka_aktywna zmieni się na off:

description: Use TTS on Android tablet via Companion App
triggers:
  - entity_id:
      - binary_sensor.pralka_aktywna
    to: 'off'
    trigger: state
conditions: []
actions:
  - action: script.1759929160071
    metadata: {}
    data:
      content: Pranie zakończone!
      skip_throttling: true
      skip_time_check: true
mode: single

oraz skrypt wywoływany przez automatyzację:

sequence:
  - if:
      - condition: or
        conditions:
          - condition: device
            device_id: 1f75d08e8e9683b3b5d57e350e39e290
            domain: device_tracker
            entity_id: f37ec4bca0e55d284da74038bbe6467b
            type: is_home
          - condition: device
            device_id: badc1de53c4fe0d0b95f3ae69dd67527
            domain: device_tracker
            entity_id: 5cab03d9d35f52e57c263c78fbcdf2b0
            type: is_home
      - condition: or
        conditions:
          - condition: time
            after: '07:30:00'
            before: '22:00:00'
            enabled: true
          - condition: template
            value_template: '{{skip_time_check}}'
      - condition: template
        value_template: |
          {% set last = states('input_datetime.last_tts_tablet_run') %}
          {% if last in ['unknown', 'unavailable', ''] or skip_throttling %}
            true
          {% else %}
            {{ (as_timestamp(now()) - as_timestamp(last)) > 20 }}
          {% endif %}
        enabled: true
    then:
      - action: notify.mobile_app_t30ultra
        metadata: {}
        data:
          data:
            ttl: 0
            priority: high
            tts_text: '{{ content }}'
          message: TTS
        enabled: true
      - action: input_datetime.set_datetime
        metadata: {}
        data:
          datetime: '{{ now().isoformat() }}'
        target:
          entity_id: input_datetime.last_tts_tablet_run
    enabled: true
fields:
  content:
    selector:
      text: null
    default: DOMYSLNY TEKST
    required: true
    name: content
  skip_throttling:
    selector:
      boolean: {}
    name: skip_throttling
  skip_time_check:
    selector:
      boolean: {}
    name: skip_time_check
alias: Domek Tablet TTS
description: ''
  • skrypt wywołuje TTS tylko raz na 20 sekund
  • TTS działa tylko w godzinach 7.30 - 22.00

3. Ładowanie tabletu w widełkach 20-80%

Moje centrum sterowania to tablet, który wisi na ścianie i pozwala na manualne sterowanie domem. Jest to zwykły DOOGEE T30 Ultra, podpięty na stałe kablem USB do Inteligentnego Gniazdka. Nic skomplikowanego, ale tablet pracuje 24/7 jako ścienny dashboard, więc stałe ładowanie baterii to jego najsłabszy punkt.

Trzymanie baterii podpiętej pod ładowarkę przez 100% czasu skraca jej żywotność, a rozładowany do zera tablet na ścianie to żadna pomoc, tylko czarna cegła. Dlatego Home Assistant włącza Smart Gniazdko z ładowarką, gdy bateria spadnie poniżej 20%, i wyłącza je, gdy przekroczy 80%. Bateria żyje dłużej, a ja nie muszę pamiętać ani martwić się baterią. Zalecam jednak sprawdzać, czy bateria “nie puchnie” - nawet najlepsze metody zarządzania energią nie chronią w 100% przed wydatnym skracaniem żywotności i awariami baterii.

alias: Tablet - keep charging when 20 < x < 80
triggers:
  - entity_id:
      - sensor.t30ultra_battery_level
    trigger: state
actions:
  - choose:
      - conditions:
          - condition: numeric_state
            entity_id: sensor.t30ultra_battery_level
            below: 20
        sequence:
          - target:
              entity_id: switch.plug_tablet
            action: switch.turn_on
            data: {}
      - conditions:
          - condition: numeric_state
            entity_id: sensor.t30ultra_battery_level
            above: 80
        sequence:
          - target:
              entity_id: switch.plug_tablet
            action: switch.turn_off
mode: single

4. Przycisk “spanie”

Jedna z tych “prostych”, ale najbardziej docenianych przez moją drogą połówkę. Główny aktor to zwykły, zdalny, prosty przycisk Zigbee. Klikasz = Home Assistant wywołuje automatyzację. Automatyzacja wykonuje kilka różnych czynności:

  • uzbraja kamery w Frigate
  • wyłącza wszystkie światła
  • zamyka zamek w drzwiach piwnicy
  • wyłącza cyrkulację ciepłej wody
  • wymusza tryb nocny w klimatyzacji
  • żegna się słowami “Dobranoc” ;)

To jedyna automatyzacja, która nie będzie miała YAML-a. Sama w sobie jest bardzo prosta do stworzenia, a jej akcje w dużej mierze zależą od tego, jakie potrzeby ma nasz dom.

Skąd ten wpis

Skąd pomysł na wpis? Z życia! Prawie wszystkie z powyższych automatyzacji zrodziły się z realnej potrzeby. Pranie prześcieradła? 63 minuty zamiast planowanych 35 minut wymusiły 3 zbędne wycieczki do piwnicy w celu kontroli statusu. Nigdy więcej. “Trzeci głos”? Piękne polskie lato spędzane na tarasie nie sprzyja byciu na bieżąco z każdym powiadomieniem. “Trzeci głos”, mimo że nieinwazyjny, ciężko zignorować i przegapić, gdy jest się w okolicy tabletu.

Każdy dom jest inny, każdy dom wymaga innych automatyzacji. Posiadanie pralni w osobnym budynku, dwóch bram znajdujących się setki metrów od domu czy brak chęci bycia przywiązanym do powiadomień mobilnych nie musi być przeszkodą w implementacji inteligentnego domu. Automatyzacje nie muszą być skomplikowane, aby poprawiały jakość życia.