Допустим у вас есть:
Home Assistant
установленный в нем Zigbee2MQTT
установленный в нем Node-RED
желание что бы на всем этом горел свет когда кто-то находится в помещении
Конечно можно купить TS0601, он прикольный, может работать как роутер, но требует отдельного питания и довольно сильно спамит сообщениями.
Поэтому можно применить таймер и обойтись только датчиком движения. Выглядит это примерно так:
"Motion bathroom" - подписка на топик датчика движения
"Switch occupancy" - ветвление по данными из json
"state_right - ON" - формирование сообщения включения правого переключателя (у меня там стоит WS-EUK02 и свет только на правом, функция выглядит так:
msg.payload = {"state_right": "ON"};
return msg;
"Reset timer" выглядит так:
var msg = { reset:true };
return msg;
"state_right - OFF" - формирования json выключения:
msg.payload = {"state_right": "OFF"};
return msg;
"delay 15m" - задержка на 15 минут.
Ну и "Switch bathroom set" - отсылка сoобщений (mqtt out) в топик выключателя zigbee2mqtt/switch_bathroom/set.
Все комопоненты - стандарные из Node-Red. mqtt in / out из network, остальное все из functions.
Работает все тупенько, как понятно из схемы:
Если происходит движение - включается свет и сбрасывается таймер задержки на отсчет с нуля.
Если движения нет - запускается таймер и если движения не было 15 минут - свет вырубается.
Пару минусов этого решения:
Если лежать в ванной / сидеть на горшке и не шевелиться то таймер вырубит свет через 15 минут :) Такое редко, но бывает.
Свет будет гореть всегда 15 минут даже если вы ушли и он вам не нужен.
Комментарии (22)
ASD2003ru
28.06.2023 07:50Node-RED конечно прикольно, но оно может и подвиснуть, бывало такое. И да, такие простые действия можно и через автоматизации сделать. будет надёжнее.
Ну и использовать датчики движения лучше на микроволновом типе, да они дороже но не будет такого, что моясь за шторкой у вас погас свет.
sergeygals Автор
28.06.2023 07:50Упомянутый TS0601 именно такой да, цена да примерно та же, но к нему нужно питание постоянное
vviz
28.06.2023 07:50Проблемка есть с датчиками движения на батарейке. Для экономии энергии датчик после создании события засыпает на определенное время, заложенное в железе. И время сна бывает очень большим, что приводит к ситуации - датчик сработал, создал событие, реле сработало, датчик заснул, человек двигается, время на таймере истекло, реле выключилось, человек двигается, света нет, датчик проснулся, создал событие, реле сработало.
sergeygals Автор
28.06.2023 07:50+1ну именно в этих датчиках это 2 минуты, что сильно меньше 15 минут таймера + это в общем решаемо не сильно сложно https://community.smartthings.com/t/making-xiaomi-motion-sensor-a-super-motion-sensor/139806
vviz
28.06.2023 07:50есть и такие, и у них тоже есть беда - зоны чувствительности узкие и их явно две. Приходится долго и нудно подбирать срабатывание в небольшом помещении, например, спальной комнате.
Kill_Voice
28.06.2023 07:50Игрался с разными датчика в итоге больше понравились BLE Qingping CGPR1, а вот Aqara и Xiaomi вообще выкинул все, у них кривая реализация ZigBee в итоге они отваливаются при первой возможности. Но самое крутое открытие для меня оказался LD2410, нужно внешнее питание, но это того стоит, прекрасно встает под натяжной потолок и решает задачу без плясок с тайм-аутами и мертвыми зонами
GavriKos
28.06.2023 07:50Интересно, ни разу не отваливался xiaomi. С родным, но перепрошитым шлюзом +zigbee2mqtt
Kill_Voice
28.06.2023 07:50Родной шлюз это важный момент, с ним и не должны отваливаться, а вот с любым другим координатором будут приключения. Я использую Z-Stack
sergeygals Автор
28.06.2023 07:50У меня 38 устройств Xiaomi через самый простой USB CC2531/CC2540 с Ali. Проблемы были пока он торчал прям в порту малинки, как убрал через usb удлинитель на 20 см, проблема ушла
Kill_Voice
28.06.2023 07:50У меня порядка 100 устройств от разных производителей, вероятно что-то оказалось несовместимым с Aqara, в итоге после того как в очередной раз отвалились датчики дверей и пара кнопок, надоело заниматься траблшутингом и решил просто все это заменить
roofcat
28.06.2023 07:50Интереснее задачка, когда у вас в помещении есть выключатель, и хочется обеспечить автоматику и ручной контур параллельно, и чтобы они не мешали друг другу. Пример - проходная гостиная, с автоматическим и ручным включением контурного освещения, при этому иногда контур включают руками, а еще он должен включаться когда кто-то в темноте пытается пройти через гостиную, но только если на диване не спят гости которые выключили контур вручную.
vviz
28.06.2023 07:50так и есть, ZigBee кнопка и датчик, плюс брелок на 433 для реле, плюс датчик освещенности.
Если включено брелком - автоматика не работает.
Если определенное время суток - автоматика не работает.
В остальное время - если освещенность высока - освещение не включается.
Иначе включается.
Kill_Voice
28.06.2023 07:50+1Эту задачу кстати можно решить в одну ноду events: state, выставив for в 15 минут для значения off и включением по отработке false
reallord
28.06.2023 07:50+3А не проще использовать blueprint script?
У меня уже год работает простой скрипт: https://community.home-assistant.io/t/motion-activated-light-brightness/418066
Выставляешь лампу, датчик движения и время для таймера.
Хватает для всех моих целей и в ванной и в туалете и в коридоре.
Для особо долго сидящих в туалете, можно повесить второй датчик на уровне ног и снимать движение там.
Заводить для такого простого действия как свет по движению/присутствию Node-RED - по моему очень избыточно.sergeygals Автор
28.06.2023 07:50+2ну не наю, 397 строчный yaml не выглядит как проще :) а Node-RED у меня много где используется, это просто один из кусочков. хотя, конечно, до BP надо бы добраться и освоить
reallord
28.06.2023 07:50+1Там не совсем так. Скрипт просто импортируется в систему как шаблон в один клик, а потом через GUI в разделе Автоматизации, просто делаешь новую автоматизацию и там тыкаешь мышью в датчик движения, лампочку и указываешь время таймера.
Скрины как это вживую на сервере.
https://disk.yandex.ru/i/v8Xv9uqBQZQEnA
https://disk.yandex.ru/i/-R1J_rGZN4ALXQ
Там вообще не надо никаких скриптов редактировать.
Иногда даже крутому программеру хочется почувствовать себя домохозяйкой и настроить все в пару кликом мыши, а не сотни строк кода скриптов :)
lex899
28.06.2023 07:50Лично меня не устроил свет на одном датчике движения.
Его недостаточно на весь санузел, всегда будет мёртвая зона.
Он не видит сквозь шторку ванной.
Свет загорается с ощутимой задержкой. И после выхода сразу не гаснет.
-
По цене одного датчика можно не выключать свет в ванной 5 лет и обойтись без hass.
Подумайте о том чтобы добавить датчик открытия двери) А на этапе ремонта - датчик присутствия или пересечение линии с направлением идеально.
Skywrtr
Зачем ставить Node-RED, если в HA есть свои нормальные автоматизации?
sergeygals Автор
примеры нормальных автоматизаций в студию :) а вообще ответ очевиден конечно, что бы этим могли рулить и дети
Sollex
Зачем этим рулить детям, если это настраивается и забывается.
sergeygals Автор
В образовательных целях в первую очередь. Да и про настраивается и забывается - сомнительное утверждение, появляются новые датчики, вот недавно, например, появились два TS0601, появляются новые идеи