Автоматизация на Wiren Board и Node-RED: четыре полезных сценария без программирования
Меня зовут Дмитрий, и я готов признаться: я не программист. Я знаю, что многие электрики и технари тоже не пишут код, и эта статья для вас! Ниже я покажу, как с помощью Wiren Board 7 и Node-RED настроить самые полезные сценарии умного дома. И ни строчки кода писать не придется.
Node-RED — популярная визуальная среда, которая позволяет с помощью логических блоков (узлы или ноды) задать нужные сценарии использования. Достаточно выбрать правильные блоки, указать параметры и связать их. Это совсем просто, что я покажу ниже.
Тестовый чемодан
Для сценариев я буду использовать тестовый чемодан, который мне выслали коллеги.
В первой части статьи я рассмотрю ноду Debug и сценарии мастер-выключателя, включения вытяжки при превышении концентрации CO₂, приборной панели (dashboard). Вторая часть будет посвящена сценариям темной комнаты, дневного/ночного освещения, термостата для теплого пола и батарей.
Установка Node-RED
Первое — необходимо установить Node-RED на контроллер Wiren Board 7. Все это я подробно описывал в отдельной статье, поэтому повторяться не буду, а дам ссылку. Прочитайте, ознакомьтесь, установите. Для дальнейшей работы у вас должна быть готова визуальная среда Node-RED и установлены ноды Wiren Board. Примерно как на картинке ниже.
В нижнем левом углу зеленым цветом показаны ноды для Wiren Board.
Сценарий 1: самая полезная нода debug (отладка)
Ноду Debug я рассмотрю первой, поскольку она позволяет найти любое решение методом тыка, без документации, все как мы любим. Например, можно посмотреть, какое значение выдает тот или иной датчик, горит ли лампочка, какое напряжение заходит в сеть и так далее.
Мы воспользуемся датчиком температуры модуля WB-MSW v. 3 (на фото модуль показан слева).
Я выставил на рабочее поле ноду wb-input, в свойствах выбрал устройство — датчик температуры wb-msw-v3_64/Temperature.
Затем я добавил ноду debug и нажал в правом верхнем углу интерфейса Node-RED кнопку «Развернуть». Последний шаг надо делать всегда, когда вы вносите какие-либо изменения.
Обратите внимание на правое поле — вкладку «жучка». На ней выводится информация выбранного нами счетчика. Так можно снять информацию с любого устройства вашего умного дома. Чтобы остановить «спам» от ноды debug, ее достаточно отключить, нажав кнопку в правой части ноды.
Сценарий 2: мастер-выключатель
Здесь я покажу, как сделать кнопку, которая позволит отключать при выходе из квартиры/дома свет и все линии питания, кроме неотключаемых. Конечно, можно организовать мастер-выключатель через контактор, но лучше воспользоваться более умными возможностями контроллера, как показано на видео здесь.
Кнопка на выходе из квартиры будет отключать свет и все лишнее, кроме неотключаемых линий. Двойное нажатие на кнопку приведет к включению всех линий обратно. Внутри квартиры я добавлю кнопку, которая будет просто включать линии. Поехали.
Для демонстрации я воспользовался модулем реле WB-MR6C v. 2 (справа от автоматов на фото), канал К1 никогда не отключается, а каналы К2-К6 будут отключаться, если никого нет дома.
Я воспользовался нодой Wb-button, которую привязал к первой кнопке модуля WBIO-DI-WD-14.
Теперь нужно отключить по нажатию кнопки каналы К2-К6 на модуле реле WB-MR6C v. 2. Я добавляю ноду change, которая вышлет значение msg.payload 0 на соответствующие каналы модуля через ноду wb-out.
При нажатии кнопки каналы К2-К6 будут отключаться. Теперь добавляю двойное нажатие на первую кнопку, которое будет включать каналы K2-K6 обратно. Снова модуль Wb-button, но уже DoubleClick. Обратите внимание, что можно регулировать время ожидания второго клика.
Нода change теперь отсылает значение msg.payload 1, подключаю к ней ноду wb-out с каналами К2-К6.
Остается добавить кнопку внутри квартиры, которая будет включать каналы К2-К6. Для этого достаточно скопировать первую группу нод (отключение), поменять номер кнопки на вторую и выключение (0) в ноде change на включение (1).
Все готово! Мастер-выключатель (кнопка 1) приводит к отключению каналов К2-К6, когда я выхожу из квартиры. Двойной клик на кнопку 1 или обычное нажатие на кнопку 2 включает каналы К2-К6. Конечно, можно добавлять различные сценарии, включать/выключать свет программно и т.д. Я же показал только базовую функцию мастер-выключателя.
Сценарий 3: включение вытяжки при превышении CO₂
Здесь мы будем использовать датчик WB-MSW v. 3, который позволяет измерить уровень CO₂. Приемлемым cчитается уровень ниже 600 ppm. Если уровень превысит 700 ppm, мы включим вытяжку.
Я воспользовался нодой wb-input, в которой взял значение CO2 датчика WB-MSW.
Затем я добавил ноду Switch, по верхнему пути ветвление пойдет в случае уровня CO₂ ниже 600 ppm, по нижнему — выше 700 ppm. Я добавил гистерезис, чтобы вентилятор включался на 700 ppm, а выключался на 600 ppm. И не было частых включений/выключений при близких к заданному значениях ppm.
Нода change будет подавать 0 или 1, соответственно, на включение вытяжки — кнопку K2 на модуле WB-MDM3, к которой подключен вентилятор.
На этом все готово, наша система работает!
Сценарий 4: приборная панель (dashboard)
Приборная панель Dashboard позволяет «прикрутить» к Node-RED интерфейс, который позволит смотреть показания датчиков, управлять устройствами умного дома и решать многие другие задачи.
Я установил палитру node-red-dashboard с большим числом новых нод. Она может использоваться, например, для вывода любой информации, в качестве примера я покажу датчик углекислого газа.
На снимке показана работа ленты RGB, которую я настроил через dashboard.
Я добавил ноду Dashboard Numeric, подключив ее к ноде wb.in c информацией CO₂ с модуля WB-MSW v. 3. В Dashboard Numeric я добавил новую группу Датчики.
Затем в правом верхнем углу Node Red можно нажать на треугольничек и выбрать Dashboard.
И можно перейти напрямую к Dashboard в интерфейсе браузера. Я добавил датчик температуры и индикатор движения (нода Dashboard Gauge), получилось следующее.
Добавлю тумблер включения светодиодной ленты (нода Switch) и переключение между цветами (ноды Button).
В результате наш Dashboard выглядит следующим образом.
Я потратил полчаса, но настроил базовый интерфейс, с помощью которого можно управлять умным домом через браузер.
Заключение
Я только осваиваю Node-RED и автоматизацию в целом, поэтому приведенные решения могут быть не идеальными. Если у вас появились замечания, буду рад услышать их в комментариях.
В статье я хотел показать, что создавать сценарии управления умным домом на Wiren Board 7 и Node-RED можно без сложного программирования и и без чтения томов документации. Если у вас есть навыки инженера и электрика, то проблем с созданием программной обвязки умного дома не будет.
В следующих статьях я планирую показать ещё несколько полезных сценариев, и рассказать о Wiren Board с разных сторон. Напишите, пожалуйста, в комментариях, про что вы хотели бы услышать.