Найти в Дзене
SAV LABS

Изменим и добавим немного автоматизации для умного дома в Node-Red. Home Assistant

Кучу времени убил на поиск информации в этих ваших интернетах по поводу того, как дополнить автоматизацию по включению света в прихожей при сработке датчика движения, описанной в предыдущей статье, еще одной функцией - включением экрана планшета. Одним из вариантов, информацию по которому я довольно быстро нашел - создание автоматизации "руками" в файле automations.yaml. В моем случае это выглядело бы, например, так Т.е. при сработке датчика движения мы с помощью сервиса в моем случае notify.mobile_app_u320 отправляем планшету команду comand_screen_on. Автоматизация рабочая, но как-то "некамильфо" делать автоматизацию частично руками, частично в Node-Red. Поэтому решил заморочиться и все-таки решить все в Node-Red. Собственно, больше всего времени ушло на то, чтобы выяснить какую именно команду нужно отослать планшету, точнее как правильно ее оформить. Заранее в настройках планшета отключил блокировку экрана и выставил время отключения при бездействии в 2 минуты. Далее в автоматизацию

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

Т.е. при сработке датчика движения мы с помощью сервиса в моем случае notify.mobile_app_u320 отправляем планшету команду comand_screen_on. Автоматизация рабочая, но как-то "некамильфо" делать автоматизацию частично руками, частично в Node-Red. Поэтому решил заморочиться и все-таки решить все в Node-Red. Собственно, больше всего времени ушло на то, чтобы выяснить какую именно команду нужно отослать планшету, точнее как правильно ее оформить. Заранее в настройках планшета отключил блокировку экрана и выставил время отключения при бездействии в 2 минуты. Далее в автоматизацию из прошлой статьи добавил три блока (ноды) - еще одну "Action" и две "Inject".

Две ноды "Inject" нужны нам для того, чтобы можно было в ручном режиме направлять на ноду "switch" (направить) или сообщение "on" или сообщение "off", имитируя событие обнаружения движения датчиком - так нам не придется бегать каждый раз к датчику при отладке. Нода "Action" будет отправлять на планшет команду "comand_screen_on". Для этого в свойствах ноды делаем следующие настройки

-3

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

{"message":"command_screen_on","title":"keep_screen_on"}

Не забыв нажать кнопку "Резвернуть" в верхнем правом углу, наслаждаемся работой.

Однако, не предела совершенству. Решил добавить еще кое-что в эту автоматизацию - "проверку" на светлое/темное время суток при включении освещения в прихожей. В светлое время мы включать свет в прихожей не будем. В крайнем случае, включим его по-старинке переключателем. Как вариант - можно это сделать с помощью датчика освещения, но мы же легких путей не истчем... Возможно, я намудрил - может подскажете в комментариях путь полегче.

Идем в Настройки->Устройства и службы->Вспомогательное и создаем вспомогательны объект "Число" с именем "Светло/.Темно" - в дальнейшем этой полученной глобальной переменной input_number.svetlo_temno мы будем присваивать значение "0" или "1" в зависимости от освещенности на улице.

<<< Подборка статей на этом канале про Home Assistant >>>

Создаем в Node-Red дополнительный поток "Светло/Темно", вытягиваем ноду "sunrise", которая сразу сама переименуется в "Рассвет/Закат". В ее свойствах указываем координаты своего города ( в моем случае), начало и окончание события. Я пока выбрал начало/окончание гражданских сумерек (далее понаблюдаю еще) - эти события будут вычисляться и будет в начале передаваться сообщение "1", а при окончании "0". Нода дает обрабатывать сообщение либо раз в минуту, либо в момент события. Возьмем ноду "switch" дабы разделить поток на две ветки.

Ну а после этой ноды добавляем две ноды "Action" - одна из них будет присваивать созданной нами ранее глобальной переменной input_number.svetlo_temno значение "0" (ночь) или "1" (день). Не забываем нажимать кнопку "Развернуть".

В модифицированную выше автоматизацию по включению/.выключению света добавим еще одну ноду - "current state" (назвал "Темно?"). Эту ноду "врезаем" в существующую связь по включению света.

Эта нода проверяет значение глобальной переменной input_number.svetlo_temno (не забудем сменить тип State Type на number, как и сама переменная).Если значение равно "0" (Темно), значит передаем далее сообщение "on", дабы включился свет, планшет включаем без проверки. В противном случае па-любому выключаем свет. Опять же не забываем нажимать кнопку "Развернуть" и наслаждаемся работой.

О многом другом интересном поговорим в следующих статьях

Ставьте лайки, оставляйте комментарии, страница в VK, подписывайтесь на канал, присоединяйтесь в Telegram чтобы ничего не пропустить!

Поддержите канал донатом

-8

#умныйдом #календарь #HA #HomeAssistant #сделайсам #минипк #неттоп #nettop #HACS #nodered #node-red #dwainsdashboard #dwains #dashboard #планшет