Адаптивное освещение в Home Assistant

Адаптивное освещение в Home Assistant

Адаптивное освещение — это автоматическая подстройка температуры света в вашем доме в течение дня. Исследователи утверждают, что такой подход плодотворно сказывается на циркадных ритмах тела.

· 5 мин.

В жизни каждого автоматизатора наступает такой момент, когда Алиса уже не доставляет включением лампочек голосом и хочется чего-то большего. Тут и приходит время для адаптивного освещения.

Пост честно спижен позаимствован у @AlexxIT. Хотел бы выразить ему огромную благодарность за вклад в развитие умных домов. Он - Илон Маск в мире Home Assistant, не иначе 😄.

В оригинальном посте много мотивации, но мало сказано по настройке. Хотя там и нет ничего сложного, но хочу вставить свои пять копеек.

🕯️ Коротко об адаптивном освещении

Адаптивное освещение — это автоматическая подстройка температуры света в вашем доме в течение дня. Исследователи утверждают, что такой подход плодотворно сказывается на циркадных ритмах тела.

Я уже давно задумывался об адаптивном освещении, и даже реализовал вручную один из вариантов для своей прихожей, выглядело это как-то так.

Пример ручной автоматизации

Что здесь происходит:

  • Если время между 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%.

Так же я настроил включение и отключение ночника, если в доме кто-то спит. В общем не всегда вам нужно адаптивное освещение, поэтому существует простая возможность его быстро отключить.