Автоматизация на 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.В нижнем левом углу зеленым цветом показаны ноды для Wiren Board.

Сценарий 1: самая полезная нода debug (отладка)

Ноду Debug я рассмотрю первой, поскольку она позволяет найти любое решение методом тыка, без документации, все как мы любим. Например, можно посмотреть, какое значение выдает тот или иной датчик, горит ли лампочка, какое напряжение заходит в сеть и так далее.

Мы воспользуемся датчиком температуры модуля WB-MSW v. 3 (на фото модуль показан слева).

bb2c7b3f49d2381a3f83d6679db7f6d4.jpeg

Я выставил на рабочее поле ноду wb-input, в свойствах выбрал устройство — датчик температуры wb-msw-v3_64/Temperature.

25f83723bbc60e860a810ce1ecd7dbb8.png

Затем я добавил ноду debug и нажал в правом верхнем углу интерфейса Node-RED кнопку «Развернуть». Последний шаг надо делать всегда, когда вы вносите какие-либо изменения.

89f937cfdeb47025e7b97b8e39634969.png

Обратите внимание на правое поле — вкладку «жучка». На ней выводится информация выбранного нами счетчика. Так можно снять информацию с любого устройства вашего умного дома. Чтобы остановить «спам» от ноды debug, ее достаточно отключить, нажав кнопку в правой части ноды.

Сценарий 2: мастер-выключатель

Здесь я покажу, как сделать кнопку, которая позволит отключать при выходе из квартиры/дома свет и все линии питания, кроме неотключаемых. Конечно, можно организовать мастер-выключатель через контактор, но лучше воспользоваться более умными возможностями контроллера, как показано на видео здесь.

Кнопка на выходе из квартиры будет отключать свет и все лишнее, кроме неотключаемых линий. Двойное нажатие на кнопку приведет к включению всех линий обратно. Внутри квартиры я добавлю кнопку, которая будет просто включать линии. Поехали.

af6bdebb879222b17bd95dd8a6312bde.jpeg

Для демонстрации я воспользовался модулем реле WB-MR6C v. 2 (справа от автоматов на фото), канал К1 никогда не отключается, а каналы К2-К6 будут отключаться, если никого нет дома.

Я воспользовался нодой Wb-button, которую привязал к первой кнопке модуля WBIO-DI-WD-14.

2532b6f76bdbeeba356506b8ec91b972.png

Теперь нужно отключить по нажатию кнопки каналы К2-К6 на модуле реле WB-MR6C v. 2. Я добавляю ноду change, которая вышлет значение msg.payload 0 на соответствующие каналы модуля через ноду wb-out.

0da5deb6029671f5f947d1b6739d4f84.png

При нажатии кнопки каналы К2-К6 будут отключаться. Теперь добавляю двойное нажатие на первую кнопку, которое будет включать каналы K2-K6 обратно. Снова модуль Wb-button, но уже DoubleClick. Обратите внимание, что можно регулировать время ожидания второго клика.

5e838d3b70ed081b1b6dae8965221647.png

Нода change теперь отсылает значение msg.payload 1, подключаю к ней ноду wb-out с каналами К2-К6.

bcd07ea4440145b725bb518d6e7d2c2f.png

Остается добавить кнопку внутри квартиры, которая будет включать каналы К2-К6. Для этого достаточно скопировать первую группу нод (отключение), поменять номер кнопки на вторую и выключение (0) в ноде change на включение (1).

237a7917a650aedaabc2f818c415d3e9.png

Все готово! Мастер-выключатель (кнопка 1) приводит к отключению каналов К2-К6, когда я выхожу из квартиры. Двойной клик на кнопку 1 или обычное нажатие на кнопку 2 включает каналы К2-К6. Конечно, можно добавлять различные сценарии, включать/выключать свет программно и т.д. Я же показал только базовую функцию мастер-выключателя.

Сценарий 3: включение вытяжки при превышении CO₂

Здесь мы будем использовать датчик WB-MSW v. 3, который позволяет измерить уровень CO₂. Приемлемым cчитается уровень ниже 600 ppm. Если уровень превысит 700 ppm, мы включим вытяжку.

d3a4e679c1fb306cf9aa0a7117a5a802.jpeg

Я воспользовался нодой wb-input, в которой взял значение CO2 датчика WB-MSW.

4d949be0272587a77ee07f4141830aaf.png

Затем я добавил ноду Switch, по верхнему пути ветвление пойдет в случае уровня CO₂ ниже 600 ppm, по нижнему — выше 700 ppm. Я добавил гистерезис, чтобы вентилятор включался на 700 ppm, а выключался на 600 ppm. И не было частых включений/выключений при близких к заданному значениях ppm.

a2681d9243299abdd826d09b2be8fa47.png

Нода change будет подавать 0 или 1, соответственно, на включение вытяжки — кнопку K2 на модуле WB-MDM3, к которой подключен вентилятор.

1a2fc0a6b9f32c14c652477d906c1bf5.png

На этом все готово, наша система работает!

Сценарий 4: приборная панель (dashboard)

Приборная панель Dashboard позволяет «прикрутить» к Node-RED интерфейс, который позволит смотреть показания датчиков, управлять устройствами умного дома и решать многие другие задачи.

f6294b3aa7371b10e9b19c72f6cbafdd.png

Я установил палитру node-red-dashboard с большим числом новых нод. Она может использоваться, например, для вывода любой информации, в качестве примера я покажу датчик углекислого газа.

На снимке показана работа ленты RGB, которую я настроил через dashboard.На снимке показана работа ленты RGB, которую я настроил через dashboard.

Я добавил ноду Dashboard Numeric, подключив ее к ноде wb.in c информацией CO₂ с модуля WB-MSW v. 3. В Dashboard Numeric я добавил новую группу Датчики.

f781669c43de7e166e650244335dc990.png

Затем в правом верхнем углу Node Red можно нажать на треугольничек и выбрать Dashboard.

78889b2337759c8703eb9341fcd9f726.png

И можно перейти напрямую к Dashboard в интерфейсе браузера. Я добавил датчик температуры и индикатор движения (нода Dashboard Gauge), получилось следующее.

bfbc4d17279cb1bf703042d3a11d3654.pngc4a74b895b487a52636dcb4251fc0387.png

Добавлю тумблер включения светодиодной ленты (нода Switch) и переключение между цветами (ноды Button).

28f90311e69e844de8687ceae1288006.png

В результате наш Dashboard выглядит следующим образом.

d0eebeaac0345fa4df00c8cbecf97e0c.png

Я потратил полчаса, но настроил базовый интерфейс, с помощью которого можно управлять умным домом через браузер.

Заключение

Я только осваиваю Node-RED и автоматизацию в целом, поэтому приведенные решения могут быть не идеальными. Если у вас появились замечания, буду рад услышать их в комментариях.

В статье я хотел показать, что создавать сценарии управления умным домом на Wiren Board 7 и Node-RED можно без сложного программирования и и без чтения томов документации. Если у вас есть навыки инженера и электрика, то проблем с созданием программной обвязки умного дома не будет.

В следующих статьях я планирую показать ещё несколько полезных сценариев, и рассказать о Wiren Board с разных сторон. Напишите, пожалуйста, в комментариях, про что вы хотели бы услышать.

© Habrahabr.ru