В жизни каждого автоматизатора наступает такой момент, когда Алиса уже не доставляет включением лампочек голосом и хочется чего-то большего. Тут и приходит время для адаптивного освещения.
🕯️ Коротко об адаптивном освещении
Я уже давно задумывался об адаптивном освещении, и даже реализовал вручную один из вариантов для своей прихожей, выглядело это как-то так.
Что здесь происходит:
- Если время между 23:00-5:00 и люстра в спальне выключена или ее яркость установлена в 29, то включаем свет в коридоре с яркостью 10%. Режим ночника, чтобы никого не будить.
- Если время между 23:00-5:00 и люстра в спальне включена, то яркость света в прихожей 80%.
- Если время между 16:00-23:00, а датчик освещённости в прихожей ниже 30, то включаем свет на 100%
Выглядит дико сложно и громоздко. К счастью, я узнал о существовании компонентов, которые могут управлять яркостью и температурой автоматически. При использовании одного из таких компонентов, этот большой скрипт превратился в такой.
Да, просто включение света, так как все остальные настройки компонент взял на себя и сделал это прекрасно.
Какие существуют компоненты
Компоненты самостоятельно подкручивают настройки именно включенных ламп. Включаете и выключаете лампы вы, а их температуру и яркость регулируют компоненты. Дополнительной автоматизации для этого не требуется: всё происходит само.
В Home Assistant есть много компонентов для адаптивного управления светом. Есть стандартный Flux, есть кастом Circadian Lighting, на его основе недавно сделан другой кастом — Adaptive Lighting.
Ниже представлены графики изменения цветовой температуры и яркости в течение суток.
Flux. Стандартный компонент показал себя хуже всех. От заката до восхода он держит минимальную температуру и странное значение яркости. На восходе он резко включает максимальную температуру и яркость и плавно снижает их до заката.
Circadian и Adaptive. Логика работы компонентов не отличается. От заката до восхода они держат минимальную температуру и плавно понижают яркость до минимальной к середине ночи, а затем плавно повышают её до максимальной к восходу. От восхода до заката они держат максимальную яркость и плавно увеличивают температуру до середины дня, а затем плавно её понижают к закату до минимальной.
Время восхода и заката компоненты вычисляют, основываясь на указанных в конфиге координатах Home Assistant.
Компонент Adaptive Lighting
Из разных компонентов я выбрал Adaptive Lighting. Его можно добавить через HACS.
Он позволяет индивидуально настраивать не только яркость для разных ламп, но и температуру. Как оказалось, у разных моделей ламп с температурой есть проблемы.
Дополнительные плюсы компонента Adaptive Lighting:
- возможность перехватить ручное управление лампой, если вы сами изменили настройки температуры или яркости, пока лампа включена, — компонент больше не будет трогать эту лампу;
- возможность включить ночной режим с индивидуальными фиксированными настройкам яркости и температуры.
- настройка полностью через GUI;
Вы можете добавить столько экземпляров интеграции, сколько вам нужно. Например отдельно на люстру на кухне и отдельную на люстру в спальне.
Добавление в Home Assistant
- Необходимо сначала добавить кастомный репозиторий в HACS.
- Переходим в HACS, в пункт Integration
- В правом верхнем углу нажимаем в многоточие, после чего “Custom Repositories”
- Теперь вставляем ссылку с github в нижнее поле - Add custom repository URL.
https://github.com/basnijholt/adaptive-lighting
- Выбираем категорию Integration
- Нажимаем ADD.
- Теперь переходим в Настройки Home Assistant в пункт Интеграции
- В правом нижнем углу нажимаем на кнопку Добавить интеграцию
- В поиске находим Adaptive Lighting
- Вводим название экземпляра, например “Люстра в спальне” или “Адпативный свет Спальня”.
После этого будут созданы 4 объекта, но о них позже. Сейчас переходим к параметрам настройки экземпляра интеграции.
Пройдемся по настройкам, которые можно изменять в GUI:
prefer_rgb_color
- по возможности использует ‘rgb_color’ вместо ‘color_temp’lights
- выберите источники света, которые будут управляться этим экземпляром интеграции.initial_transition
- Плавность перехода в секундах из состояния выключено во включено, или при изменении режима сна.transition
- Переход в секундахinterval
- время между обновлениями переключателей в секундахmin_brightness
- минимальная яркость светаmax_brightness
- максимальная яркость светаmin_color_temp
- минимальная температура светаmax_color_temp
- максимальная температура светаsleep_brightness
- яркость в режиме ночникаsleep_color_temp
- температура в режиме ночникаsunrice_time
- время закатаsunrice_offset
- отклонение от заката в секундахsunset_time
- время восходаsunset_offset
- отклонение от восходаonly_once
- адаптировать освещение только при включенииdetect_non_ha_changes
- обнаруживает все >10% изменений, внесенных в лампы (также вне HA), требует, чтобы ‘take_over_control’ был включен (вызывает ‘homeassistant.update_entity’ каждый ‘interval’)!separate_turn_on_commands
Отдельные команды включения, для каждого атрибута (цвет, яркость и т.д.) в ‘light.turn_on’, необходимо для некоторых светильников.
Я менял параметры initial_transition
и transition
, но это ни оказывает никакого эффекта.
Если не перезагрузить Home Assistant, то может возникнуть следующая проблема: при включении света в адаптивном режиме будет сначала включаться свет в том состоянии, в котором он был до установки компонента, после чего компонент будет быстро регулировать свет.
То есть, при включении режима ночника до установки компонента яркость была 100%, то при включении света яркость будет установлена в 100%, а через секунду компонент установит заданную яркость.
Чтобы этого не происходило, перезагрузите Home Assistant. Тогда свет будет включаться сразу с настройками от компонента.
Созданные объекты
После включения адаптивного освещения, придется немного настроить ваши старые автоматизации, основанные на свете. В этом вам помогут автоматически созданные объекты.
Каждый экземпляр интеграции создает в вашем Home Assistant 4 новых сущности, в виде устройства switch:
switch.adaptive_lighting_name
- полностью отключает/включает адаптивное управление светом.- При выключении ничего не изменяется, но адаптивное освещение выключается
- При включении меняется яркость и цвет света, в соответствии с настройками
switch.adaptive_lighting_adapt_brightness_name
- вкл/выкл управление яркостью.- При выключении и выключении ничего не изменяется, но адаптивное управление яркостью включается.
switch.adaptive_lighting_adapt_color_name
- вкл/выкл управление температурой света.- При выключении и выключении ничего не изменяется, но адаптивное управление яркостью включается.
switch.adaptive_lighting_sleep_mode_name
- вкл/выкл режим ночника.
Эти переключатели позволяют вам управлять некоторыми параметрами. Например моя люстра на кухне не умеет управлять цветом, но умеет управлять яркостью. Я отключил для нее возможность управлять цветом, чтобы она даже не пыталась, и установил минимальную яркость в 50%.
Так же я настроил включение и отключение ночника, если в доме кто-то спит. В общем не всегда вам нужно адаптивное освещение, поэтому существует простая возможность его быстро отключить.
Резюмирую
Адаптивное освещение в умном доме это классная фича, которой стоит пользоваться. Мне эта функция пришлась по душе. А теперь и вы можете настроить себе адаптивное освещение в доме.