Спойлер - попробуйте NodeRed + LightHub в нашей Демо - Песочнице. Подробности в статье Как начать.
В предыдущих статьях, я рассказывал про управляемое освещение, вентиляцию, теплые полы и пр.
Это все можно назвать "руками" и "ногами" Умного дома.
Датчики температуры, влажности, CO2, движения, освещенности и даже выключатели на стенах - это все органы чувств - глаза и уши.
Шина MQTT или ZWave или любая другая - своеобразная "нервная система", передающая сигналы от датчиков и к исполнительным устройствам.
Собственно, роль контроллера LightHub - присоединить органы чувств и руки-ноги к нервной системе. Уже после этого Дом превращается в подобие "тела" которое уже может шевелиться и выполнять простейшие операции.
Но теперь, когда создано "тело" Умного дома, начинается самое интересное! Собственно, то, ради чего все и затевалось - вдыхаем в этого зомби разум.
У используемой мной системы Openhab есть, в принципе, возможность создавать, так называемые, правила (rules), позволяющие на довольно странном языке описать взаимосвязь событий - например: состояние датчика освещенности изменилось на "темно" - включаем свет. Но язык трудно назвать "дружелюбным".
Поиск привел меня к интересному Opensource проекту от компании IBM с названием NodeRed
Это среда графического создания правил, работающая на известном движке NodeJs, настраиваемое прямо в браузере, позволяющая собрать всю логику управления и взаимосвязи событий в доме, буквально, из сотен готовых кубиков.
Есть стандартные кубики: привязка к нашей шине MQTT, таймеры, узлы выбора и манипуляции с событиями. Есть - устанавливаемые из внешних репозиториев:
например - интеграция с Telegram или PID регулятор, который может точно поддерживать температуру или, скажем влажность в вашем доме
Возможности по программированию сценариев ограничены только вашим воображением. В принципе, для того, чтобы далее складывать логику работы вашего дома из кубиков, даже не требуется быть программистом. Достаточно понять общую идею.
В дальнейшем, я планирую выпустить ряд видеоуроков на эту тему, а пока, самое правильное - прочитать прекрасную статью на Хабре: https://geektimes.ru/post/279814/
Примеры того, что сейчас реализовано в моем доме при помощи NodeRed:
- Перекрытие подачи уличного воздуха в квартиру, если на улице слишком холодно
- Включение освещения при обнаружении движения, если на улице темно, выключение по таймеру.
- Уведомление на месседжер и голосом через GoogleHome о движении при установленном режиме охраны, снятии, постановке на охрану, неисправностях (датчики температуры, протечки)
- Контроль счетчиков воды и протечек с уведомлением на мессаджер
- Регулировка интенсивности приточной вентиляции в зависимости от уровня CO2 в помещении.
- Включение/выключение, настройка электрических Теплых полов в зависимости от времени суток (у меня трехтарифный электросчетчик и экономия существенна)
- Управление домом при помощи радиовыключателя (в тех местах, куда в свое время не дотянул провод)
Прошивку Контроллера умного дома LightHub я доработал таким образом, чтобы было максимально удобно управлять всем из Node Red.
Основные функции, облегчающие программирование сценариев из кубиков NodeRed:
- Группы каналов. Можно обьединять в группы, фактически, любые каналы и другие группы. Например создать группу "весь свет" или "все теплые полы"
- В дополнение к стандартным командам ON и OFF добавлены HALT (выключить) и REST (включить, но только если было выключено командой HALT) - это позволило легко реализовывать удобную автоматизацию
Например, когда на улице становится очень холодно - вентиляция перекрывается. Когда теплет - открывается обратно, но только при условии, что она была изначально открыта.
Ну и такие вещи как кнопка перед выходом из дома, которая выключает все но включает только то, что было выключено - это очень удобно - Также, реализованы команды XON (включить) и XOFF (выключить, но только если было включено командой XON) - Это сделано специально, чтобы свет, включенный вручную (ON) - не выключался по таймеру датчика движения
Комментарии
RSS лента комментариев этой записи