CasaSmart guide
Гайд по локальному свету с Zigbee-датчиком и надёжными сценариями.
CasaSmart
Включение света по движению кажется банальностью, но на практике это одна из самых используемых и при этом чаще всего неправильно настроенных автоматизаций в Home Assistant. Наивный вариант — «датчик увидел движение, включи свет» — работает первый вечер, а потом начинает раздражать: свет горит, когда вы уже вышли из комнаты, гаснет ровно тогда, когда вы сидите неподвижно за столом, или включается на полную яркость в три часа ночи по дороге в ванную. Хорошая автоматизация чётко разделяет три независимых решения: когда включить, как долго держать свет включённым и насколько ярко светить в зависимости от времени суток и естественного освещения. В этом руководстве мы шаг за шагом строим именно такой сценарий на базе датчика движения Zigbee, нескольких вспомогательных сущностей (helpers) и одной понятной автоматизации, которую легко поддерживать. Подход одинаков, будь датчик Aqara, Sonoff или другая Zigbee-совместимая модель — важно, как вы интегрируете его через Zigbee2MQTT или ZHA и какую логику строите поверх. В итоге система ведёт себя естественно: свет появляется мгновенно, горит ровно столько, сколько нужно, и не слепит ночью.
Главное для хорошего результата — разделить момент включения и момент выключения. Включение должно быть мгновенным и зависеть только от уровня освещённости: вы не хотите ждать и не хотите света днём. Выключение, наоборот, требует собственного таймера — интервала «тишины» после последнего обнаруженного движения, — чтобы свет не гас, пока вы ещё в комнате, но и не горел часами после ухода. В Home Assistant такой таймер изящно строится через wait_for_trigger с параметром for, значение которого берётся из вспомогательной сущности input_number и которое можно менять в любой момент. Третье решение — яркость — это про комфорт: одно и то же движение должно давать яркий свет днём и слабый, тёплый свет ночью. Вспомогательная сущность input_boolean с именем mod_noapte или простое условие по времени решают это через ветвление choose. Все три решения умещаются в одной хорошо структурированной автоматизации, которую легко прочитать спустя полгода. Мы также используем mode: restart — маленькую, но важную деталь, которая не даёт параллельным экземплярам мешать друг другу и убирает большую часть мерцания. Понимая эти три оси — запуск, длительность, яркость — вы адаптируете сценарий под любую комнату.
Это руководство написано для энтузиаста, который настраивает дом сам, но логика ровно та же, что используем и мы, CasaSmart, в наших готовых инсталляциях в Молдове. Дешёвый датчик движения и умная лампа кажутся игрушкой, однако разница между раздражающей автоматизацией и той, которую семья просто перестаёт замечать, кроется именно в этих деталях: отдельный таймер, условие по свету, ночной режим, единственный хозяин состояния света. Местная реальность добавляет пару практических соображений: в длинных коридорах многоэтажек и на лестницах частных домов нужна хорошая зона покрытия Zigbee, а значит — удачно расположенный координатор и, возможно, промежуточные Zigbee-роутеры; а для комнат, где вы подолгу сидите неподвижно — кабинет, гостиная, ванная — датчик mmWave стоит вложений. Если вы предпочитаете не строить всё с нуля, CasaSmart подберёт подходящие датчики для каждого помещения, смонтирует и настроит их и передаст автоматизации либо полностью под ключ, либо как чистую отправную точку, которую вы поддерживаете сами. Первичная консультация бесплатна, а выезд на объект и детальное проектирование — платные услуги. В любом случае принципы из этого руководства остаются в силе.
Коротко
Разделите три решения: когда включать (триггер по датчику + условие sun/люкс), как долго держать (wait_for_trigger по off с длительностью из input_number) и насколько ярко (ночной режим с пониженной яркостью). Используйте датчик Zigbee через Zigbee2MQTT/ZHA, helpers для длительности и ночного режима, mode: restart против мерцания и mmWave для комнат, где вы сидите неподвижно.
Step 1
Перед любой автоматизацией добавьте датчик движения в сеть Zigbee и проверьте, какую сущность он создаёт. В Zigbee2MQTT привяжите датчик через веб-интерфейс (Permit join), переименуйте его понятно, например senzor_hol, и запишите сущность binary_sensor.senzor_hol_occupancy или ..._motion. В ZHA найдите устройство в Settings → Devices и увидите ту же binary_sensor с device_class «motion» или «occupancy». Откройте Developer Tools → States и помашите рукой перед датчиком: состояние должно переключаться между off и on. Запомните и время «остывания» датчика — многие PIR-модели сообщают on, а возвращаются к off лишь через фиксированный интервал, независимо от ваших настроек. Эта аппаратная деталь напрямую влияет на то, как вы построите таймер. Проверьте также уровень заряда батареи и качество сигнала (LQI), чтобы датчик не выпадал из сети.
Step 2
Создайте две вспомогательные сущности в Settings → Devices & Services → Helpers. Первая — переключатель (input_boolean) с именем mod_noapte, которым вы будете менять поведение света между днём и ночью, не переписывая автоматизацию. Вторая — число (input_number) с именем timp_asteptare, минимум 10, максимум 600, шаг 10, в секундах — оно задаёт, как долго свет горит после последнего движения. Преимущество helpers в том, что длительность можно менять прямо из интерфейса или с дашборда, не правя YAML каждый раз. По желанию добавьте input_datetime или используйте прямые условия по времени, чтобы автоматически включать mod_noapte. Эти сущности делают автоматизацию гибкой и удобной для настройки любым членом семьи, а не только тем, кто её создал.
Step 3
Создайте новую автоматизацию и перейдите в режим YAML для полного контроля. Триггер — переход датчика в состояние on: platform: state, entity_id: binary_sensor.senzor_hol_occupancy, to: 'on'. Первое действие простое — light.turn_on на свет в комнате, например light.hol. Пока не добавляйте условий; включение должно быть мгновенным и надёжным. Задайте для автоматизации mode: restart — почему это важно, объясним ниже. Сохраните и проверьте: при первом движении свет должен появляться без заметной задержки. Если свет включается с трудом, проблема почти наверняка в сети Zigbee или в самой лампе/реле, а не в логике. Держите триггер включения отдельно от логики выключения; мы объединяем их в одной автоматизации, но обрабатываем эти два момента отдельными, понятными действиями.
Step 4
Теперь добавьте логику выключения в ту же автоматизацию. После light.turn_on используйте действие wait_for_trigger, которое ждёт, пока датчик перейдёт в off и останется там какое-то время: триггер по binary_sensor.senzor_hol_occupancy, to: 'off', с for, взятым из helper через шаблон, например {{ states('input_number.timp_asteptare') | int }} секунд. Только после завершения этого ожидания выполняйте light.turn_off на light.hol. Суть в том, что таймер выключения полностью отделён от включения: датчик может сообщать о движении многократно, а mode: restart перезапускает отсчёт каждый раз. Так свет горит, пока вы в комнате, и гаснет лишь когда движения нет в течение выбранного интервала. Избегайте жёстко прописанных секунд; всегда используйте helper, чтобы легко регулировать.
Step 5
Нет смысла включать свет днём, когда в комнате и так светло. Добавьте условие перед включением. Самый простой вариант — условие на сущность sun.sun, state: below_horizon, чтобы свет включался только после заката. Точнее — условие по освещённости, если ваш датчик сообщает люксы (многие комбинированные модели имеют sensor...illuminance_lux). Тогда задайте условие numeric_state: включать, только если значение ниже порога, который вы установите, наблюдая комнату в разное время суток. Ставьте условие на ветку включения, а не выключения — иначе, если станет светлее, свет останется гореть бесконечно. Порог в люксах сильно отличается от комнаты к комнате, поэтому подбирайте его опытным путём, не копируйте значение из интернета. Сочетание sun + люксы даёт самый стабильный результат.
Step 6
Используйте helper mod_noapte, чтобы менять яркость в зависимости от времени. В действии замените простой light.turn_on на ветвление choose: если mod_noapte включён (или время, например, между 23:00 и 06:00), включайте свет на низкой тёплой яркости — небольшой brightness_pct и, если лампа позволяет, тёплая цветовая температура — чтобы не слепить ночью. Иначе включайте на обычной дневной яркости. Переключение mod_noapte можно автоматизировать второй автоматизацией по времени или по sun, чтобы не трогать его вручную. Здесь же стоит задать transition в одну-две секунды для turn_on и turn_off, чтобы свет появлялся и исчезал плавно, а не резко. Именно различие день/ночь превращает грубую автоматизацию в ту, которую семья действительно терпит.
Step 7
Мерцание возникает, когда автоматизация перезапускается и снова выполняет turn_on/turn_off короткими циклами, или когда вы гасите свет, который только что включила другая автоматизация. Помогают три меры. Первое — mode: restart: новое движение отменяет текущее ожидание и чисто запускает его заново, вместо параллельных экземпляров, которые мешают друг другу. Второе — не выключайте безусловно: если вы включили свет вручную, слишком агрессивная автоматизация может погасить его под вами; помечайте ручные включения или проверяйте input_boolean «ручного управления». Третье — если у вашей лампы есть встроенный таймер или реле Shelly имеет собственную задержку, отключите её, чтобы не было двух противоречащих таймеров. Единственный хозяин состояния света предотвращает большую часть мерцания и непредсказуемого поведения.
Step 8
Классические PIR-датчики ловят движение по изменению тепла, поэтому «забывают», что вы в комнате, если вы сидите неподвижно — отсюда свет, гаснущий за столом. Датчики mmWave (радар) видят и статическое присутствие, держат свет включённым, пока вы там, но могут реагировать на нежелательные мелкие движения и требуют тонкой настройки чувствительности и зоны. Для коридоров и лестниц хватает PIR; для кабинета, дивана или ванной mmWave или связка PIR + mmWave работает заметно лучше. Против ложных срабатываний: держите датчик подальше от источников тепла, потоков тёплого воздуха, прямого солнца и животных; меняйте угол и высоту установки; немного увеличьте таймер. Проверьте в истории сущности, когда возникло «фантомное» on, чтобы найти настоящую причину прежде, чем менять железо.
Классическая ошибка — одно правило «движение → включить» без отдельного таймера и без условия по свету: свет гаснет, когда вы сидите неподвижно, зря включается днём и слепит ночью. Так же часто секунды жёстко прописывают вместо helper, оставляют два таймера (лампа и автоматизация) противоречить друг другу и забывают mode: restart, что и порождает мерцание и непредсказуемые параллельные включения.
Потому что PIR-датчик улавливает изменение тепла, а не статическое присутствие; когда вы не двигаетесь, он сообщает «нет движения», и таймер гасит свет. Решения: увеличьте timp_asteptare, используйте mmWave-датчик (радар), который видит и статическое присутствие, или сочетайте PIR с mmWave в комнатах, где вы подолгу сидите неподвижно.
Для коридоров, лестниц и кладовок PIR дёшев, быстр и достаточен. Для кабинета, гостиной, спальни или ванной, где вы сидите неподвижно, mmWave (радар) точнее держит свет включённым, но требует настройки чувствительности, чтобы не реагировать на мелкие движения. Связка PIR + mmWave даёт и скорость, и обнаружение статического присутствия.
Добавьте условие на ветку включения: либо sun.sun below_horizon, либо порог в люксах, если ваш датчик сообщает освещённость. Ставьте условие только на включение, а не на выключение, чтобы уже горящий свет не завис, если на улице посветлеет. Подбирайте порог в люксах, реально наблюдая комнату, а не значением из интернета.
Да. Логика автоматизации не зависит от технологии света — важно лишь, чтобы свет был представлен как сущность light в Home Assistant. Можно использовать Wi-Fi лампу, реле Shelly или умный выключатель. Датчик может быть Zigbee, а свет — на другой технологии; Home Assistant их связывает. Главное — чтобы был активен только один таймер.
Да. CasaSmart — интегратор умных домов в Молдове, мы устанавливаем решения на базе Home Assistant, Zigbee и Shelly. Мы подберём подходящие датчики для каждой комнаты, смонтируем и настроим mmWave и построим автоматизации под ключ или как отправную точку, которую вы поддерживаете сами. Первичная консультация бесплатна; выезд и детальное проектирование — платные услуги.
● CasaSmart · Chișinău
CasaSmart настроит автоматизацию в Home Assistant и проверит её на реальных устройствах.