Автоматизация - Эффект рассвета в светильниках Yeelight Mijia Bedside lamp в Home Assistant
В приложении Yeelight для светильников Bedside lamp был режим пробуждения. В данном режиме задается расписание подъема утром, после чего светильник включается за 30 минут до подъема на минимальной яркости и минимальном значении цветовой температуры. Далее в течении 30 минут яркость и цветовая температура постепенно увеличиваются до, примерно, 90% яркости и 2500K - 3000K температуры цвета. Такой режим способствует более приятному пробуждению, нет неприятного ощущения при включении основного света в помещении, подъем становится более мягким и менее стрессовым для организма.
Mijia Bedside lamp это обновленная версия прикроватной лампы Yeelight Bedside lamp. В отличии от предшественника, светильник с логотипом Mijia подключается к сети и управляется по Wi-Fi, а также выступает как BLE шлюз для Bluetooth устройств производства компании Xiaomi. Внешне отличие в цвете нижней части светильника и нанесенном логотипе.
Подключение Mijia Bedside lamp к Home Assistant
Для подключения Mijia Bedside lamp к Home Assistant в приложении YeeLight на телефоне необходимо включить Управление по LAN (он же Режим разработчика). Если светильники не подключены в приложении, то их необходимо подключить! Управление по LAN включается в главном меню программы.
Начиная с версии 0.115 добавление в Home Assistant светильников YeeLight производится в меню Integrations. Список поддерживаемых моделей можно посмотреть на сайте Home Assistant. Данная модель интегрируется как bslamp1.


Создание эффекта рассвета
Сценарий эффекта выполним как скрипт, это удобно т.к. потом его можно использовать в разных автоматизациях и других сценариях. Сценарий рассчитан на 30 минут, каждые 3 минуты увеличиваем яркость на 9% и цветовую температуру на 100K. Уровень яркости устанавливается параметром brightness, регулируется от 0 до 255. Последнее выставляемое значение яркости равняется 220, что будет соответствовать примерно 86%. Цветовая температура задается параметром kelvin и находится в диапазоне 1700K - 6500K. Создаем скрипт Configuration -> Scripts -> + или пишем непосредственно в файл scripts.yaml.
sunrise_effect: alias: Sunrise Effect sequence: - service: light.turn_on entity_id: light.night_light data: brightness: 1 kelvin: 1700 - delay: 00:03:00 - service: light.turn_on entity_id: light.night_light data: brightness: 23 kelvin: 1800 - delay: 00:03:00 - service: light.turn_on entity_id: light.night_light data: brightness: 46 kelvin: 1900 - delay: 00:03:00 - service: light.turn_on entity_id: light.night_light data: brightness: 69 kelvin: 2000 - delay: 00:03:00 - service: light.turn_on entity_id: light.night_light data: brightness: 92 kelvin: 2100 - delay: 00:03:00 - service: light.turn_on entity_id: light.night_light data: brightness: 115 kelvin: 2200 - delay: 00:03:00 - service: light.turn_on entity_id: light.night_light data: brightness: 128 kelvin: 2300 - delay: 00:03:00 - service: light.turn_on entity_id: light.night_light data: brightness: 151 kelvin: 2400 - delay: 00:03:00 - service: light.turn_on entity_id: light.night_light data: brightness: 174 kelvin: 2500 - delay: 00:03:00 - service: light.turn_on entity_id: light.night_light data: brightness: 197 kelvin: 2600 - delay: 00:03:00 - service: light.turn_on entity_id: light.night_light data: brightness: 220 kelvin: 2700 mode: single icon: mdi:weather-sunset-up
light.night_light - Entuty ID светильника.
Автоматизация
Автоматизация должна срабатывать утром по будним дням, если подъем в 07:00 утра, то, с учетом 30 минут работы скрипта, автоматизация устанавливается на 06:25 - 06:30. Добавляем автоматизацию Configuration -> Automation -> + или в файл automations.yaml.
- id: 'light_sunrise'
alias: Light - Sunrise
description: Освещение - Эффект рассвета
trigger:
- platform: time
at: 06:30:00
condition:
- condition: time
weekday:
- mon
- tue
- wed
- thu
- fri
- condition: and
conditions:
- condition: sun
before: sunrise
action:
- service: script.sunrise_effect
data: {}
mode: single
Автоматизация запускается каждый день в 06:30 утра, но запуск скрипта sunrise_effect происходит только с понедельника по пятницу и пока не начался восход солнца за окном. В летний период, когда солнце встает раньше времени срабатывания триггера, автоматизация выполняться не будет.
Теперь о боли при создании автоматизации в мастере. В мастере автоматизации при создании условия time нельзя указать день(дни) недели, чтобы их указать необходимо сохранить текущую автоматизацию, после чего открыть файл automations.yaml, найти эту автоматизацию и добавить недостающие данные в условии как показано в примере выше.