Спасибо за детальное видео с пояснением каждого шага, благодаря Вам перехожу на Node-RED, он действительно в разы лучше чем штатный редактор автоматизации НА
@JohnSilver6663 жыл бұрын
было бы хорошо , если бы вы записали уроки с азов по ноду, от установки до добавления нод. с объяснениями для чайников) а то я роюсь, но ничего подобного в сети нет помоему, на русском языке , а у вас талант простым языком пояснять многие сленговые вещи🙃
@СергейБушманов-е4ж3 жыл бұрын
Жаль, так мало твоих выпусков !
@IsaenkovPro3 жыл бұрын
Редко, но метко! ;)
@MrChudotvorec3 жыл бұрын
Автор, не теряйся. Очень полезная автоматика! Напиши, пожалуйста, какие ноды используешь для другой автоматики, например, по климату в квартире/доме.
@IsaenkovPro3 жыл бұрын
Про отопление есть отдельное видео. По кондиционированию кратко: Broadlink RM2 Pro + SmartIR (HACS) + Simple thermostat (HACS).
@MrChudotvorec3 жыл бұрын
@@IsaenkovPro У вас в туалете нет принудительной вытяжки? Просто её можно использовать вместо освежителя воздуха, а освежитель воздуха вручную в нужном количестве, если необходимо.
@IsaenkovPro3 жыл бұрын
Есть вытяжка. Поэтому освежитель используется просто для создания фонового аромата, а не перебивания запахов.
@Денис-щ7ю6ы3 жыл бұрын
Отлично! Ещё больше примеров для НР!!! Например, включение света в разное время с разной яркостью и разной температурой (в том же с/у)
@IsaenkovPro3 жыл бұрын
По свету вот готовый кусок для включения при открытии двери: raw.githubusercontent.com/isaenkovpro/configs/master/006%20Bathroom%20Light%20Control/nodered_flow_part_light_brightness.json Туда же можно и датчик движения подключить в начале. Ниже блок кода для записи текущего периода суток в глобальную переменную в рамках Node-RED и в mqtt-топик. Дополнительно в Node-RED нужно доустановить модули interval и time-range-switch.
@Денис-щ7ю6ы3 жыл бұрын
@@IsaenkovPro модули interval, какую конкретно подскажите пожалуйста, их много выдало
@IsaenkovPro3 жыл бұрын
node-red-contrib-interval и node-red-contrib-time-range-switch
@Kaban7973 жыл бұрын
Большое спасибо, если мог бы поставил 10 лайков
@rsergio993 жыл бұрын
Спасибо за видео. На Vera Lite делал такое же с помощью плагина, где концепция примерно похожа. Там были не состояния, а условия последовательности, т.е. можно было отличить когда вручную включили свет и когда свет включился по датчику, ну и т.д. И также был реализован вариант, что если после закрытие двери был обнаружено движение, то команда отключения по таймауту не срабатывала. Скучаю по этому плагину на Aqara, но увидел свет в конце туннеле ;)
@rsergio993 жыл бұрын
Чуть глубже изучил Home Assistant и понял, что его штатных средств вполне хватает, чтобы сделать почти любую автоматизацию. Для примера с ванной комнатой нужно лишь задействовать таймер, который будет ставится на паузу при обнаружении движения при закрытой двери и с паузы сниматься только открытием двери.
@maks023rus Жыл бұрын
@@rsergio99 а что если пока ты принимаешь ванну, например зашла жена, взяла что-то и ушла, то таймер отключения снимется с паузы.
@pavel_seregin Жыл бұрын
Очень скучаю по workflows из AltUi Vera. Не нашли ли Вы подобного?
@zaza68737 ай бұрын
К чему такие сложности, если можно использовать датчик присутствия, который будет давать команду на вкл/откл свет?
@IsaenkovPro4 ай бұрын
На момент создания сценария, датчиков присутствия еще не было в продаже.
@denissolovjov9184 Жыл бұрын
Help! Всё сделал по шаблону, открываешь дверь - свет включается и сразу тухнет, в чем может быть причина? И сенсор движения также себя вдёт!
@IsaenkovPro Жыл бұрын
Начните с отслеживания состояний нод датчика двери и выключателя света в момент открывания двери. Иногда фоном проскакивает несколько событий on-off-on-off.
@houna_ez75692 жыл бұрын
"Помещение помечается занятым (8). С этого момента свет сам не погаснет". У меня в состоянии занято, через какое-то время триггер наружного выключателя отправляет состояние выключателя (on), на таймер 5мин. и после 5мин свет отключается. Как сделать чтобы он отправля (on) только после физического включения выключателя? Чтобы он не отправлял периодически состояние выключателя.
@юрийк-т7ц2 жыл бұрын
Та же самая фигня ((. Наружный выключатель через 5 минут отправляет ON на таймер и запускает процесс выключения.
@houna_ez75692 жыл бұрын
Я заменил эту ноду такой же, как та по которой включается свет, они почти одинаковые. Теперь работает чётко.
@IsaenkovPro2 жыл бұрын
Это решается параметром включением параметра "Ignore state change event when: Current State Equals Previous State" в свойствах ноды.
@kuzhakhmetov2 жыл бұрын
@@IsaenkovPro Для триггера такой опции нет в свойствах ноды.
@петр_кожухов2 жыл бұрын
перестала работать автоматизация, какое-то время работала, но внезапно прекратила, после истечение таймера Стейт машина переходит в состояние - не занята
@IsaenkovPro2 жыл бұрын
Проверяйте отдельно каждый этап, подключая Debug-ноды в ключевые места. Можно также имитировать движение или открывание двери inject-нодами, чтобы не ходить туда-сюда при проверке.
@skycheron3 жыл бұрын
А если приходится находиться в помещении с открытой дверью, вариантов нет? Может лучше датчик присутствия поставить? Слышал есть микроволновые, которые даже за стеклом движение обнаруживают
@Умныйдомсдиваном3 жыл бұрын
Как вариант, можно применить ультразвуковой датчик HC-SR04 или лазерный датчик расстояния TOF10120. Используя их, можно определять присутствие человека. Также, есть вариант использования датчика воды Arduino. Встроить датчик воды в водопровод и когда в санузле будут включать воду, значит кто-то есть и свет не выключать. Можно встроить датчик воды в сифон для ванных комнат и как в горловине окажется вода, значит кто-то принимает душ. Если использовать множество сенсоров ( датчик двери, движения, лазерный датчик расстояния, датчик воды ), то можно сделать хорошую автоматизацию и исключить ложное выключение света.
@IsaenkovPro3 жыл бұрын
Можно задать большой таймаут (30 минут) таймеру, который используется для режима "Забыли закрыть дверь". И он будет сбрасываться на ноль при любом движении при открытой двери.
@houna_ez75693 жыл бұрын
Отлично работает. Не сразу получилось настроить, т.к. датчик движения срабатывал быстрее, чем датчик открытия двери приклееный в районе дверных петель. Единственное, не работает mqtt в node-red, установлен брокер москито. Бывает так, что пару раз сработает, а после нажатия кнопки развернуть, снова перестаёт работать.
@IsaenkovPro3 жыл бұрын
У меня mqtt в этом месте исторически остался. По идее, можно этот участок переделать на использование, например, input_boolean. А датчик движения я расположил так, чтобы зона его действия не подпадала в приоткрытую дверь.
@ДмитрийСуетин-у5й2 жыл бұрын
Можно добавить сюда условие освещенности?
@IsaenkovPro2 жыл бұрын
Можно. Конкретное место размещения ноды зависит от личных предпочтений и экспериментов.
@юрийк-т7ц2 жыл бұрын
Добрый день. Успешно повторил вашу схему, с небольшими изменениями на свои сенсоры. Все долгое время работало почти идеально. Но вот на днях делал последние обновления всего и что то пошло не так. Появилась такая проблема. Обычно утром при посещении заведения и выходе из него не выключается свет. Статус занято. Приходится повторно открыть закрыть дверь. Подробно посмотреть не могу так как все спешат на работу. Далее все работает нормально. Вечером пытаюсь повторить- все тоже работает. Как так? Куда копать? PS Отловил этот глюк. После выхода из туалета и закрывания двери, система переходит в режим "ожидание движения". И тут по какой то причине прилетает движение. Не знаю почему. Поставил чувствительность датчика на среднюю. Посмотрим.
@IsaenkovPro2 жыл бұрын
Так бывает, когда у ноды датчика движения не установлена галочка, и повторное событие о движении прилетает при уже обнаруженном движении. Ignore state change event when: Current state equals previous state Вероятно, при обновлении комплнентов Node-Red какие-то настройки сбрасываются.
@юрийк-т7ц2 жыл бұрын
Добрый день. У меня вот такая проблема. Если войти в туалет не закрывая дверь, что то там сделать при открытой двери а потом выйти и соответственно закрыть дверь. У туалета висит статус занято и свет не гаснет. Это так или я уже что то намудрил?
@IsaenkovPro2 жыл бұрын
Вам стоит проверить состояние датчика в тот момент, когда он уже находится в статусе "движение обнаружено". Подключив в нему ноду Debug, можно отслеживать, не посылается ли повторно сообщение об обнаружении движения. Если так, то включите галку "Current State Equals Previous State" в разделе "Ignore state change event when в свойствах ноды.
@RMcCalll3 жыл бұрын
Данный алгоритм до сих пор работает отлично. Неделю назад поменял aqara дешевый датчик на самый топовый у них (aqara датчик присутствия). Там время обновления можно уменьшить до 2 секунд. Теперь not_occupied при закрытой двери запускается через 4 секунды. Не успеваешь даже до комнаты дойти)) Сейчас думаю начать автоматизировать спальные комнаты, но уже с тремя сенсорами (открытие, движение и co2). Заметил просто, что co2 очень хорошо реагирует на каждый вход/выход из комнаты. Но что-то не получается разобраться как сравнивать предыдущие значения на node red. Например: co2 уменьшается с определенной скоростью (10ppm в минуты или 20ppm в минуту при закрытой двери). Пробовали что-нибудь писать с увел/уменьшением значений на nodered?
@IsaenkovPro2 жыл бұрын
Не пробовал, поэтому готового решения не подскажу.
@IsaenkovPro2 жыл бұрын
Вообще, вам теперь не нужен весь этот сценарий, ведь state-машина, как раз, и эмулирует датчик присутствия. Вы можете просто заменить условие на "Есть присутствие - свет горит", "Нет присутствия - свет выключен".
@RMcCalll2 жыл бұрын
@@IsaenkovPro Только движением сложно определить присутствие в спальне, так как один человек может выйти, а второй остаться на кровати.
@SkodaYetiTalgat3 жыл бұрын
Спасибо за видео, можете ещё показать как при помощи ноде рэд управлять светом в комнатах и освещенности от времени суток. А так же открытия и закрытия штор
@IsaenkovPro3 жыл бұрын
Что касается освещенности, то бывает, что в пасмурную погоду в середине дня дома темно. На этот случай можете использовать такой пример с датчиком освещенности: raw.githubusercontent.com/isaenkovpro/configs/master/006%20Bathroom%20Light%20Control/nodered_flow_part_lux_sensor.json Здесь же есть второй блок, который отвечает за запись текущего периода суток в глобальную переменную в рамках Node-RED и в mqtt-топик. Период "Evening" активируется за полчаса до заката, когда на улице уже скоро будет темнеть. Я по нему ориентируюсь, чтобы включать вечернее освещение по движению в определенных зонах и для закрытия штор. Дополнительно в Node-RED нужно доустановить модули node-red-contrib-interval и node-red-contrib-time-range-switch.
@SERGIO090519743 жыл бұрын
Никак не могу понять, но у меня после закрытия двери и сработки датчика движения в состояние "занято", так и не переходит, минут через 6 выключается свет, если спровоцировать датчик движения (Акара), то свет еще на 1,5 минуты включается, затем опять гаснет. Если выйти из ванной и принудительно выключить свет, то через пару минут свет опять включается. Все сделал по схеме в видео, как отловить ошибку? Заранее благодарен
@IsaenkovPro3 жыл бұрын
Это связано с дополнительным 90-секундным таймером для датчика движения Aqara. Достаточно поменять значение таймера на 120 секунд для исправления ситуации. Также внёс эти правки в Node-RED flow на github.
@SERGIO090519743 жыл бұрын
@@IsaenkovPro Спасибо, мы мне уже помогли на другом ресурсе)))
@SERGIO090519743 жыл бұрын
@@IsaenkovPro Подписался на Ваш канал, жду еще что-нибудь вкусненькое по Node-RED
@юрийк-т7ц Жыл бұрын
Добрый день. Ваша схема уже долгое время работает безупречно. Но иногда случаются глюки. Примерно раз в 10 дней свет не выключается. Причину понять не могу. Поставил везде ноды "дебаг". Но как это отловить? Пытаюсь повторить - все работает как часы. Вы случайно не знаете, как сделать так, чтоб мои ноды "дебаг" постоянно писали в некий журнал? Чтоб позже после сбоя я его смог открыть и все изучить.
@IsaenkovPro Жыл бұрын
Можно посмотреть в сторону модуля node-red-contrib-flogger, который будет писать всё в файл. Либо на сколько-то дней оставить открытой вкладку с Node-RED, чтобы всё в Debug писалось.
@RMcCalll3 жыл бұрын
Попробовал реализовать данную автоматизацию, но на выходе state machine ничего нету. В debug пишет: not_occupied : msg.payload : undefined . Может знаете как подправить?
@IsaenkovPro3 жыл бұрын
Попробуйте перед state-машиной расставить inject-ноды, в каждой из которых задается строковое значение: msg.payload = motion_on msg.payload = door_off и т.д., и посмотрите, что debug покажет на выходе. Вот кусок кода для Node-RED с этим примером: pastebin.com/3fVCZRhY
@RMcCalll3 жыл бұрын
@@IsaenkovPro Перед state машиной установил inject-ноды. После того как отключил Output Only On State Change в Debug появились сообщения: not_occupied : msg.payload : string[8] "door_off" , not_occupied : msg.payload : string[7] "door_on". Если state машине включить Throw Error On Invalid Transition, то в debug появляются сообщения: "Can not transition 'binary_sensor.e4aaec359104_contact' from state 'not_occupied'"
@IsaenkovPro3 жыл бұрын
Может быть версии Node-RED и модуля играют роль. У меня node-red-contrib-persistent-fsm v1.1.0 и Node-Red v1.3.5
@RMcCalll3 жыл бұрын
@@IsaenkovPro Установил через Supervisor версию 9.2.0
@IsaenkovPro3 жыл бұрын
Да, в hass.io у меня версия дополнения тоже 9.2.0. У вас будто проблема в том месте, где происходит соединение сенсора со state-машиной, либо в настройках самого сенсора. Я попытался воспроизвести, и напрямую подключил датчик двери к SM, включив Throw Error On Invalid Transition. Получился такой вывод: "Can not transition 'on' from state 'not_occupied'" То есть в SM передаётся статус датчика (on), а не его имя, как в вашем случае (binary_sensor.e4aaec359104_contact).
@PWSteald3 жыл бұрын
Огромное спасибо за видео! Сейчас на основе этого алгоритма делаю автоматизации в Home Assistant, и впроде все работает,осталось допилить некоторые редкие ситуации. Node Red лень осавивать :) Увидел в интерфейсе на 2:01 выключатель "Освежитель воздуха" - можно поподробнее, что за устройство, и как интегрируется?
@IsaenkovPro3 жыл бұрын
В обычный Glade на батарейках вставил модуль ESP и подвел внешнее питание. ESP всегда на связи, и по команде полевой транзистор замыкает цепь питания платы освежителя. Освежитель после включения всегда делает пшик в течение нескольких секунд. Затем цепь разрывается.
@apaex13 жыл бұрын
Очень круто, реально вы прям до мелочей проработали всё. Подскажите, пожалуйста, у вас карточка в интерфейсе "Санузел" - это кастомная какая-то? Не могу на стандартной такой вид получить
@IsaenkovPro3 жыл бұрын
Карточка стандартная с дополнительным расширением для HACS: github.com/jcwillox/lovelace-paper-buttons-row Код карточки в lovelace: pastebin.com/HicnhFJ3
@RMcCalll3 жыл бұрын
Есть несколько простых автоматизаций: 1) свет включается при низкоосвещенности и 2) выключается если нет движения 1 минуты. Нужно сделать так, чтобы при выключении света вручную, 1ая автоматизация не работала 7 секунд. Возможно ли на Node red как-то принудительно остановить поток или только через глобальную переменную Payload?
@IsaenkovPro3 жыл бұрын
Можно с использованием флага (переменной): pastebin.com/x0M41Gi8
@RMcCalll3 жыл бұрын
@@IsaenkovPro Спасибо, все получилось. Очень удобно)
@pavel_seregin2 жыл бұрын
Это нода state machine не стандартная похоже. И поиск выдает несколько разных. Какую используете?
Спасибо за автоматизацию! Node-RED пользуетесь raspberry?
@IsaenkovPro3 жыл бұрын
Да. В качестве дополнения к hass.io
@василийка-и1р11 ай бұрын
ставим датчик присутствия и выключаем свет как только в ванной никого нет
@IsaenkovPro4 ай бұрын
На момент создания сценария, датчиков присутствия еще не было в продаже.
@CrazyPit2 жыл бұрын
а мктт топик нельзя было использовать как state machine :)
@IsaenkovPro2 жыл бұрын
Можно было, если бы знал про существование такой концепции раньше, чем нашел ее в Node-Red.
@NikK0lay Жыл бұрын
А не проще датчик присутствия?))))))
@IsaenkovPro Жыл бұрын
Сейчас, конечно, проще. Два года назад и более их еще не было.
@tuxamat12 жыл бұрын
Лучшей, это автоматизацию не назвать. По поводу выключения света с выключателя. Можно доработать, можно ловить по event выключение света именно вручную с выключателя, и если такой event появился, то сразу включать свет обратно, не дожидаясь движения (а то будет как в начале видео). и Второе: зачем перед вызовом службы делать проверку стейта на включение? это же лишняя нода, можно просто сразу включать или выключать без проверки, т.к. иных действий по стейту не предусмотрено. Третье, датчик акара/сяоми можно доработать, чтобы было не 90 сек, а от 5 и выше. Четвертое и основное - это длинный таймаут на выключение, которое в целом убивает эту автоматизацию. Идеально - выключение при открытии двери, чтобы гости не щелкали выключателем и не было дискомфорта, что дверь закрыл, а свет горит. И сенсор mqtt можно было описать тоже в НР, в ХА ток его свич пробросить для наглядности, не нравится когда все в разных местах. Я сделал на одном герконе авто с одни косяком, если попросишь бумажки авто крашится. Лучший вариант - это использовать Aqara FP1, т.е. датчик присутствия, не нужны огороды автоматизаций. В целом логика и воплощение очень интересное. Почерпнул нового. Спасибо.
@IsaenkovPro2 жыл бұрын
Без state-машины подобное реализовать крайне накладно. Важен общий принцип - лучше я не встречал. Поиск этого решения занял много лет, когда Aqara FP1 еще в помине не было. 3. Датчик Aqara будет батарейку быстрее высаживать при переделке на 5 сек. Тут кому что важнее. 4. Таймаут на выключение - тоже индивидуальная история. Практика показала, что совсем маленький таймаут иногда доставляет больше неудоств.
@LeasingCarcade Жыл бұрын
Датчик присутствия вышел из чата) Датчик открытия двери? Серьёзно? Давно пора заняться умными заслонками вентиляции, которые будут ограничивать, поток воздуха автоматически по СО2 и влажности. Вот это задача. Любая автоматизация, кроме вышеизложенной решается компонентами системы протокола zigbee
@IsaenkovPro Жыл бұрын
Я рад, что у вас в 2021 году уже был датчик присутствия. Можно также называть его датчик закрытия двери :)
@maks023rus2 жыл бұрын
Я бы при отключении света выключателем, сразу бы свет, не выключал, а тоже запускал бы таймер. Так сказать защита от детей и дураков 😉, а если за время таймера, опять будет обнаружено движение, то перезапускаем таймер автоматического отключения света.
@IsaenkovPro2 жыл бұрын
Это не всегда возможно сделать, когда выключатель физически связан с релейным модулем в подрозетнике. Хотя модули Shelly имеют режим, когда кнопка отвязана от реле и работает независимо как отдельный бинарный сенсор.
@maks023rus Жыл бұрын
Но с другой стороны, если делать защиту от детей, тогда не получится принудительно выключить освещение, что тоже не хорошо.
@LeXX_0092 жыл бұрын
Слишком много допущений, а если дверь не закрыл, можно же быть в туалете с открытой дверью ))
@IsaenkovPro2 жыл бұрын
Если дверь не закрыл, то предусмотрен долгий таймаут (10-20-30 минут), который каждый раз обнуляется при любом движении.
@LeXX_0092 жыл бұрын
@@IsaenkovPro То есть если я сижу в туалете с открытой дверью 10 минут, то свет выключиться ?
@юрийк-т7ц Жыл бұрын
@@IsaenkovPro Подскажите пожалуйста. Каким образом таймер обнуляется при движении? Не могу ппроследить эту цепочку (
@ognevdv11 ай бұрын
А не проще было поставить не датчик движения, а УЗ датчик присутствия? И все эти шаманства будут неактуальны.
@IsaenkovPro4 ай бұрын
На момент создания сценария, датчиков присутствия еще не было в продаже.
@re9hx6 ай бұрын
Это полнейший бред))) Проблемы не существовало, пока не появились умнодомщики. Обычный выключатель решал проблему. Зачем усложнять простое?
@IsaenkovPro4 ай бұрын
Вы что-то путаете. Грамотное решение непростой задачи путем создания работающего алгоритма - это достижение. А щелкнуть выключателем любому под силу.
@re9hx4 ай бұрын
@@IsaenkovProнапротив, я ничего не путаю. Автоматизации уместны только в тех случаях, когда механический включатель невозможно поставить в удобном доступе. Туалет и ванная - не те случаи. Обычный включатель на входе решает все вопросы. И при этом дешев и легко заменим. Ваше решение - это изобретение велосипеда. Чисто для любителей поебаться на пустом месте
@IsaenkovPro4 ай бұрын
Не вижу смысла убеждать в чем-либо. Каждый занимается тем, что ему нравится. И вопрос экономии или дешевизны тут вообще не стоит.
@MrPvoronin3 жыл бұрын
Этот способ описан уже миллион раз на всевозможных ресурсах.