В прошлой статье были рассмотрены основные составляющие автоматизацию элементы — trigger, condition и action. В этой же статье я решил привести несколько примеров автоматизаций в Home Assistant.
Содержание:
- Пример простой автоматизации в Home Assistant.
- Включаем розетку (и подключенный к ней обогреватель) когда холодно.
- Настраиваем яркость подсветки 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 assistent у меня не сработало. может я не туда пишу. можно де то просмотреть видео включение switch по времени.
Добрый день!
Поищите на Youtube канале Alex Kvazis. Не уверен, что есть, но должно быть, т к он разбирал автоматизации.