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


В недавнем обновлении iOS 14 такая функция появилась в платформе HomeKit от Apple. Пока она поддерживается только парой производителей умного света.


В статье расскажу, как использовать адаптивное освещение с любым умным светом на примере платформы Home Assistant.



Вступление


Кому интересна именно настройка, сразу переходите к следующему разделу.


Эта история началась с появления в свободной продаже первых умных выключателей без нуля в круглый подрозетник. Они были на прошивке eWeLink и Tuya.


В то же время для платформы eWeLink вышла новая прошивка, добавляющая поддержку локального протокола. И эти выключатели выпускались уже с новой прошивкой.


В то время в сообществе умного дома было принято сразу же после покупки нового устройства подпаивать к нему UART и заливать в него одну из opensource-прошивок, например ESPHome или Tasmota. Это служило дополнительной преградой для прихода в сообщество «негиковской» аудитории.


Внимательно изучив вопрос, я понял, что паять совсем не обязательно, написал и выпустил компонент SonoffLAN. Он позволяет управлять практически любыми устройствами платформы eWeLink. Если устройство на третьей прошивке, оно будет управляться локально и резервно через облако. Если устройство на старой прошивке, оно будет управляться только через облако.


Всё работало отлично. Я заменил все выключатели у себя дома и раздал эти выключатели родственникам, ведь даже без Home Assistant их можно подключить напрямую к Яндекс.Алисе через облако.


Многие выключатели включались от датчиков движения, так что сам выключатель использовался для более быстрого выключения света (чтоб не ждать окончания таймера «без движения») и в качестве резервного канала на случай отказа умного дома.


Резервный канал — очень важный момент. Я никогда не ставлю свет, которым нельзя управлять физическими кнопками при выключенном сервере умного дома.


Через некоторое время я понял, что во многих помещениях мне не хватает управления яркостью, и начал искать диммер мечты.


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


Пока я возился с поиском диммера, на рынок вышел Xiaomi Gateway 3. Без локального API, но с полным доступом к системе без необходимости пайки (на тот момент). К нему я тоже написал отдельный компонент для Home Assistant.


Помимо Zigbee и BLE устройств этот гейт поддерживает лампы Bluetooth Mesh. Они не очень популярны в сообществе умного дома, потому что никто не умеет ими управлять из альтернативных систем. Но Gateway 3 всё изменил.


Самым важным для меня оказалось, что новые Mesh-лампы поддерживают функцию Flex Switch. Фирма Yeelight называет её SLISAON: Smart Light IS Always ON, или «умный свет всегда включен».


Эта функция позволяет управлять умной лампочкой с помощью обычного глупого настенного выключателя без электроники. Без необходимости переделывать проводку или вести к выключателю ноль.


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


Конечно, выключатели лучше переделать в возвратные. Yeelight даже начала продавать свои фирменные глупые возвратные выключатели.


Но! Когда у вас уже стоят умные выключатели, как у меня, их можно переделать в возвратные через автоматизацию умного дома. Нужно лишь настроить, чтоб выключатель сразу же включался после выключения. В этом случае умная лампочка будет всегда под напряжением, ей можно будет управлять с физического выключателя, плюс выключатели необязательно сразу переделывать на новые.


Ещё важный момент: Mesh-лампы поддерживают группы, благодаря чему могут включаться одновременно. Кстати, в приложении Mi Home при включении Mesh-групп вы теряете возможность управлять лампами индивидуально. В компоненте Home Assistant этой проблемы нет.


В моих тестовых моделях ламп была настройка питания после пропадания электричества. Тоже важно, чтоб среди ночи не получить пару ласковых от домашних (бывали случаи).


А ещё цены на некоторые модели были в два-три раза дешевле Zigbee-ламп, а сами лампы были в два раза «умнее» Zigbee-моделей. Такой умный дом меня устраивал.


В отличие от умных диммеров, умные лампы позволяют менять не только яркость света, но и температуру. Я заказал много ламп с такими характеристиками: Xiaomi Mesh E27 (MJDP09YL) / Mesh 5.0 / 5W 2700K-6500K 500lm — и стал изучать, как можно грамотно использовать возможность настройки цветовой температуры.


Важный момент. При ремонте с нуля я бы принимал совсем другие решения. Возможно, отказался бы полностью от проводных выключателей (но это не точно). Но ремонт уже был, люстры менять не хотелось, долбить квадратные подрозетники или тянуть к ним ноль — тоже.


Настройка адаптивного освещения


В Home Assistant есть много компонентов для адаптивного управления светом. Есть стандартный Flux, есть кастом Circadian Lighting, на его основе недавно сделан другой кастом — Adaptive Lighting.


Я включил несколько лампочек-пустышек через компонент Demo, подключил к ним все 3 компонента и построил графики изменения цветовой температуры и яркости в течении суток.



Компоненты самостоятельно подкручивают настройки именно включенных ламп. Включаете и выключаете лампы вы, а их температуру и яркость регулируют компоненты. Дополнительной автоматизации для этого не требуется: всё происходит само.


Стандартный компонент Flux показал себя хуже всех. От заката до восхода он держит минимальную температуру и странное значение яркости. На восходе он резко включает максимальную температуру и яркость и плавно снижает их до заката.


Логика работы компонентов Circadian и Adaptive не отличается. От заката до восхода они держат минимальную температуру и плавно понижают яркость до минимальной к середине ночи, а затем плавно повышают её до максимальной к восходу. От восхода до заката они держат максимальную яркость и плавно увеличивают температуру до середины дня, а затем плавно её понижают к закату до минимальной.


Время восхода и заката компоненты вычисляют, основываясь на указанных в конфиге координатах Home Assistant. У меня это время совпадает с данными на Яндексе.


Допустим, восход у вас в 6 часов, а закат в 16 (зима). Яркость вы настроили от 50 до 100 %, а температуру от 3000К до 5500К. Тогда алгоритм будет работать так:


Время Яркость Температура
06:00 восход 100 % 3000К
11:00 середина дня 100 % 5500К
16:00 закат 100 % 3000К
23:00 середина ночи 50 % 3000К

Все эти компоненты предлагают ужасные настройки по умолчанию. Обязательно их меняйте.


Apple в своём HomeKit меняет температуру как раз от 3000К до 5500К. Яркость они пока не пытаются трогать, очень индивидуальный вопрос.


Хотя стандартом теплого цвета является 2700К, многие умные лампочки без настройки температуры выпускаются именно такими (например, ИКЕА и Philips Hue), для себя я выбрал минимум именно 3000К.


Минимальную яркость также выбирайте удобную вам. Это может быть и 30, и 50, и 80 процентов. Или вообще без настройки яркости, как и у Apple.


Из разных компонентов я выбрал Adaptive Lighting. Он позволяет индивидуально настраивать не только яркость для разных ламп, но и температуру. Как оказалось, у разных моделей ламп с температурой есть проблемы.


  • У умной ленты Yeelight Lightstrip Plus (YLDD04YL) ужасно неправильная настройка температуры. Ей я поставил минимум в 3800К, и это примерно соответствует реальным 3000К.
  • У умных ночников Yeelight Bedside Lamp 2 (MJCTD02YL) температура изменяется большими ступеньками. Температура 3000К у них в реальности будет 3200К, а температура 2990К в реальности примерно такой и будет.
  • Лампочки Xiaomi Philips Wi-Fi (работают по протоколу miio) умеют от 3000К до 5700K. Если на них «подать» другую температуру, команду они не выполнят. Так что если в качестве общей минимальной температуры вы выбрали таки 2700К, для этих лампочек сделайте свою индивидуальную настройку с минимумом в 3000К.

Реальную температуру цвета своих ламп можете измерить на телефоне Android в приложении Light Meter. Вы в курсе, что датчики освещенности на современных смартфонах могут поддерживать RGB? На моём старом телефоне Samsung был датчик как раз с такой поддержкой. На новом телефоне этой поддержки уже не было. Рекомендую взять лампочки 2700К без регулировки температуры и откалибровать свой датчик по ним. Приложение это умеет. Не обязательно добиваться ровных цифр, стандарт подразумевает отклонения в разумных пределах.


В интерфейсе Home Assistant температура лампочек отображается в миредах. Странное решение. Для вычисления мидредов необходимо миллион поделить на значение в кельвинах.


Дополнительные плюсы компонента Adaptive Lighting:


  • настройка полностью через GUI;
  • возможность перехватить ручное управление лампой, если вы сами изменили настройки температуры или яркости, пока лампа включена, — компонент больше не будет трогать эту лампу;
  • возможность включить ночной режим с индивидуальными фиксированными настройкам яркости и температуры.

Компонет сейчас очень активно разрабатывает Quantum Simulation Engineer at Microsoft Bas Nijholt. Думаю, в течение нескольких месяцев в нём может многое поменяться, но общая идея останется прежней.


Компонент ставится через custom-репозиторий HACS — в стандартных репозиториях его нет. Похоже, автор планирует добавить его в стандартную сборку Home Assistant, но пока этого не сделал. Добавляется через Настройки > Интеграции. Сложностей возникнуть не должно.


В итоге у меня получилось три разных настройки этого компонента: для ленты Yeelight, для прикроватных светильников Yeelight и для всего остального. Пока я настроил адаптивное освещение для всех ламп, что у меня были, и жду посылку с новыми Mesh-лампами. Очень уж хочется, чтоб свет по пути в туалет по вечерам не выжигал глаза.


За развитием моих компонентов и другими находками по теме умного дома можете следить на моём канале в Telegram.