Как я сделал полностью автоматическое освещение в ванной комнате и почему датчики присутствия меня разочаровали

от автора

Прежде чем продолжить, хочу сделать важную оговорку.

Моя ванная комната имеет одну особенность — в ней отсутствует сама ванна, есть только душевая зона. Соответственно, помещение относительно небольшое, а зоны нахождения человека ограничены раковиной, душем и унитазом.

Кроме того, я не хочу создать впечатление, что датчики присутствия Tuya или Sonoff оказались плохими устройствами. Наоборот, оба датчика после экспериментов нашли своё место в других сценариях автоматизации и прекрасно работают до сих пор.

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

Датчик Sonoff переехал на кухню в зону приготовления пищи. Во время готовки человек постоянно совершает небольшие движения: режет продукты, открывает шкафчики, перемещается между рабочими поверхностями. В таких условиях датчик работает практически безупречно.

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

Когда я начал строить свой умный дом, мне пришла в голову простая мысль: а насколько он вообще умный?

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

Самым очевидным местом для экспериментов оказалась ванная комната.

Если вопрос с вытяжкой решился довольно быстро — я установил датчик влажности, подобрал пороги включения и выключения и практически забыл о его существовании, — то с автоматизацией света всё оказалось намного интереснее.

Первая попытка — датчик присутствия Tuya

Сначала я пошёл по пути наименьшего сопротивления и приобрёл популярный Zigbee-датчик присутствия от Tuya.

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

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

Однако очень быстро проявилась другая проблема.

Датчик отлично определял присутствие, но совершенно не умел определять отсутствие.

Стоило неподвижно посидеть несколько минут на унитазе или зависнуть в телефоне, как датчик начинал считать помещение пустым и выключал свет.

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

Обе ситуации меня не устраивали.

Вторая попытка — более дорогой Sonoff

Логично было предположить, что проблема в конкретном устройстве.

Следующим кандидатом стал более дорогой датчик присутствия Sonoff SNZB-06P.

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

При активном движении всё работало идеально. Но стоило человеку надолго замереть, как датчик рано или поздно терял цель.

Третья попытка — HLK-LD2450

Продолжая поиски, я наткнулся на HLK-LD2450.

Это уже не готовый датчик, а полноценный микроволновый радарный модуль, который подключается к ESP32. Среди домашних энтузиастов он считается одним из самых продвинутых решений для определения присутствия.

Производитель заявляет возможность фиксировать даже движение грудной клетки во время дыхания.

Звучало многообещающе.

Я подключил модуль через ESPHome, интегрировал его в Home Assistant и начал тестирование.

Результат снова оказался неожиданным.

Да, HLK-LD2450 работает лучше бытовых датчиков. Да, он действительно способен фиксировать очень слабые движения. Но в условиях готового ремонта его невозможно разместить в идеальной точке. А при неудачном расположении проблема полностью не исчезает.

Если долго сидеть неподвижно, датчик всё равно периодически теряет человека.

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

Расположение HLK-LD2450 в ящике коммуникаций

Неожиданное решение — лазерные дальномеры

Рассматривая планировку ванной комнаты, я заметил одну особенность.

Входная дверь находится рядом с раковиной. Каждый человек, входя в помещение, неизбежно проходит мимо неё.

Между тумбой и раковиной был небольшой зазор около сантиметра, куда идеально помещался модуль VL53L0X.

Так появился первый лазерный дальномер.

Второй такой же датчик я установил под раковиной, направив его в сторону унитаза.

Расположение VL53L0X под раковиной
Вид на раковину, дальномеры установлены слева и справа по углам

Вид на раковину, дальномеры установлены слева и справа по углам
Второй установлен аналогично только с противоположной стороны

Второй установлен аналогично только с противоположной стороны

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

При этом скорость обновления составляет около 100 мс, что значительно быстрее большинства бытовых датчиков присутствия.

Итоговая схема работы

В результате логика получилась комбинированной.

Первый VL53L0X фиксирует проход человека через дверной проём и мгновенно включает освещение.

После этого управление переходит к радару HLK-LD2450, который отслеживает нахождение человека в ванной комнате.

Когда радар сообщает об отсутствии присутствия, Home Assistant не выключает свет сразу.

Перед отключением дополнительно проверяются оба дальномера.

Если хотя бы один из них показывает изменение расстояния, значит человек всё ещё находится в помещении, и выключение отменяется.

На практике это полностью решило проблему.

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

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

Бонус: автоматизация вытяжки

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

Сейчас вентилятор выключается только тогда, когда одновременно выполняются два условия:

  • влажность вернулась к нормальному уровню;

  • в ванной выключен свет 10 минут назад.

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

ссылка на оригинал статьи https://habr.com/ru/articles/1043200/