В прошлой статье были рассмотрены основные составляющие автоматизацию элементы — trigger, condition и action. В этой же статье я решил привести несколько примеров автоматизаций в Home Assistant.

Содержание:

  1. Пример простой автоматизации в Home Assistant.
  2. Включаем розетку (и подключенный к ней обогреватель) когда холодно.
  3. Настраиваем яркость подсветки Gateway 2 в зависимости от времени суток.

Пример простой автоматизации в Home Assistant

Начнем с самого простого. Автоматизация будет включать определенный светильник в заданное время. Ее код будет выглядеть следующим образом:

- alias: 'LightOn at 21:00'
  trigger:
    - platform: time
      at: '21:00:00'
  action:
    - service: light.turn_on
      entity_id: light.yeelight_650
  • alias — название автоматизации. Пишем латинскими буквами любое, понятное Вам.
  • trigger — событие, при наступлении которого автоматизация будет срабатывать. В данном примере в качестве такого события выступает время (21:00).
  • action — действие, которое будет выполнено при выполнении условия выше. В данном примере — включение света.

Включаем розетку (и подключенный к ней обогреватель) когда холодно

Для включения розетки при падении температуры ниже определенного значения подойдет следующая автоматизация:

- alias: Turn on the socket
  trigger:
  - platform: numeric_state
    entity_id: sensor.temperature_158d00047e0285
    below: 18
  action:
    service: switch.turn_on
    entity_id: switch.wifi_xiaomi_socket

Для выключения:

- alias: Turn off the socket
  trigger:
  - platform: numeric_state
    entity_id: sensor.temperature_158d00047e0285
    above: 25
  action:
    service: switch.turn_off
    entity_id: switch.wifi_xiaomi_socket

В данных автоматизациях в качестве триггера используется платформа numeric_state. Срабатывание происходит при пересечении заданного значения. Т е когда температура с 19 градусов опустится ниже 18 или же поднимется выше 25. Если на момент составления автоматизации температура уже будет выше 25 или ниже 18, то автоматизация не сработает. Триггером выступает именно пересечение данных значений.

В разделе action соответственно прописано включение и выключение розетки.

Настраиваем яркость подсветки Gateway 2 в зависимости от времени суток

Данная автоматизация включает подсветку шлюза Xiaomi Gateway 2 при появлении движения. Яркость подсветки зависит от времени суток:

  • С 23:00 и до 7:00 подсветка включается с яркостью 10%.
  • С 7:00 до 9:00 и с 18:00 до 23:00 — на 100%.
  • В остальное время (с 9:00 до 18:00) — не включается вообще.

Работает данный сценарий у меня с помощью двух автоматизаций — одна включает подсветку, другая — выключает. Возможно есть и вариант сделать все проще и короче, но у меня пока получилось только так. И главное — работает.

Автоматизация на включение выглядит следующим образом:

- alias: Gateway 2 light On
  trigger:
  - platform: state
    entity_id: binary_sensor.motion_sensor_158d00048497ca
    to: "on"
  action:
    - choose:
        #если с 23:00 и до 7:00
        - conditions:
            - condition: template
              value_template: "{{ now().hour < 7 or now().hour >= 23 }}"
          sequence:
            - service: light.turn_on
              entity_id: light.gateway_light_04cf8caa59fe
              data:
                brightness: 25
        #если с 7:00 и до 9:00
        - conditions:
            - condition: template
              value_template: "{{ now().hour >= 7 and now().hour < 9 }}"
          sequence:
            - service: light.turn_on
              entity_id: light.gateway_light_04cf8caa59fe
              data:
                brightness: 255
        #если с 18:00 и до 23:00
        - conditions:
            - condition: template
              value_template: "{{ now().hour >= 18 and now().hour < 23 }}"
          sequence:
            - service: light.turn_on
              entity_id: light.gateway_light_04cf8caa59fe
              data:
                brightness: 255
      # если с 9:00 до 18:00
      default:
        - service: light.turn_off
          entity_id: light.gateway_light_04cf8caa59fe

Блок trigger — переход датчика движения в состояние «on».

В разделе action задается несколько сценариев работы скрипта в зависимости от времени суток:

  • {{ now().hour < 7 or now().hour >= 23 }} — проверяет, сколько сейчас времени в часах и если значение меньше 7 или больше или равно 23, то включается подсветка шлюза со значением яркости в 25 единиц (10%).
  • {{ now().hour >= 7 and now().hour < 9 }} — если больше либо равно 7, но меньше 9 часов, то включается подсветка на 100% яркости (соответствует значению 255). Аналогично и для промежутка времени с 18:00 и до 23:00.
  • В остальное время подсветка не включается (блок default).

Для выключения света используется отдельная автоматизация, которая запускается, когда датчик движения изменяется свое состояние на «off». В датчиках Xiaomi и Aqara это происходит через две минуты, после последнего обнаруженного движения.

- alias: Gateway 2 light Off
  trigger:
  - platform: state
    entity_id: binary_sensor.motion_sensor_158d00048497ca
    to: "off"
  action:
    service: light.turn_off
    entity_id: light.gateway_light_04cf8caa59fe

Ссылки на другие уроки по настройке Home Assistant.

У этой записи 2 комментариев

  1. aynur

    Добрый день.Вашу автаматизацию вписал в home assistent у меня не сработало. может я не туда пишу. можно де то просмотреть видео включение switch по времени.

    1. Admin

      Добрый день!
      Поищите на Youtube канале Alex Kvazis. Не уверен, что есть, но должно быть, т к он разбирал автоматизации.

Добавить комментарий