Stupid House

Автоматизация - Эффект рассвета в светильниках Yeelight Mijia Bedside lamp в Home Assistant


sunrise yeelight mijia bedside lamp home assistant

В приложении Yeelight для светильников Bedside lamp был режим пробуждения. В данном режиме задается расписание подъема утром, после чего светильник включается за 30 минут до подъема на минимальной яркости и минимальном значении цветовой температуры. Далее в течении 30 минут яркость и цветовая температура постепенно увеличиваются до, примерно, 90% яркости и 2500K - 3000K температуры цвета. Такой режим способствует более приятному пробуждению, нет неприятного ощущения при включении основного света в помещении, подъем становится более мягким и менее стрессовым для организма.

yeelight mijia bedside lamp

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 включается в главном меню программы.

Yeelight Mijia Bedside lamp developer mode

Начиная с версии 0.115 добавление в Home Assistant светильников YeeLight производится в меню Integrations. Список поддерживаемых моделей можно посмотреть на сайте Home Assistant. Данная модель интегрируется как bslamp1.

 

Home Assistant Yeelight integration
Home Assistant Mijia Bedside integration

 

Создание эффекта рассвета

Сценарий эффекта выполним как скрипт, это удобно т.к. потом его можно использовать в разных автоматизациях и других сценариях. Сценарий рассчитан на 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, найти эту автоматизацию и добавить недостающие данные в условии как показано в примере выше.

Автор: muxa, 28.10.2020
Войдите или зарегистрируйтесь, чтобы иметь возможность оставлять комментарии