В предыдущих статьях, я рассказывал про управляемое освещение, вентиляцию, теплые полы и пр.

Это все можно назвать "руками" и "ногами" Умного дома.

Датчики температуры, влажности, CO2, движения, освещенности и даже выключатели на стенах - это все органы чувств - глаза и уши.

Шина MQTT или ZWave или любая другая - своеобразная "нервная система", передающая сигналы от датчиков и к исполнительным устройствам.

Собственно, роль контроллера LightHub - присоединить органы чувств и руки-ноги к нервной системе. Уже после этого Дом превращается в подобие "тела" которое уже может шевелиться и выполнять простейшие операции.

Но теперь, когда создано "тело" Умного дома, начинается самое интересное! Собственно, то, ради чего все и затевалось - вдыхаем в этого зомби  разум.

У используемой мной системы Openhab есть, в принципе, возможность создавать, так называемые, правила (rules), позволяющие на довольно странном языке описать взаимосвязь событий - например: состояние датчика освещенности изменилось на "темно" - включаем свет. Но язык трудно назвать "дружелюбным".

Поиск привел меня к интересному Opensource проекту от компании IBM с названием NodeRed

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

Есть стандартные кубики: привязка к нашей шине MQTT, таймеры, узлы выбора и манипуляции с событиями. Есть - устанавливаемые из внешних репозиториев:

например - интеграция с Telegram или PID регулятор, который может точно поддерживать температуру или, скажем влажность в вашем доме

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

В дальнейшем, я планирую выпустить ряд видеоуроков на эту тему, а пока, самое правильное - прочитать прекрасную статью на Хабре: https://geektimes.ru/post/279814/

Примеры того, что сейчас реализовано в моем доме при помощи NodeRed:

  • Перекрытие подачи уличного воздуха в квартиру, если на улице слишком холодно
  • Включение освещения при обнаружении движения, если на улице темно, выключение по таймеру.
  • Уведомление на месседжер о движении при установленном режиме охраны, снятии, постановке на охрану, неисправностях (датчики температуры, протечки)
  • Регулировка интенсивности приточной вентиляции в зависимости от уровня CO2 в помещении.
  • Включение/выключение, настройка электрических Теплых полов в зависимости от времени суток (у меня трехтарифный электросчетчик и экономия существенна)
  • Управление домом при помощи радиовыключателя (в тех местах, куда в свое время не дотянул провод)

Прошивку Контроллера умного дома LightHub я доработал таким образом, чтобы было максимально удобно управлять всем из Node Red.

Основные функции, облегчающие программирование сценариев из кубиков NodeRed:

  • Группы каналов. Можно обьединять в группы, фактически, любые каналы и другие группы. Например создать группу "весь свет" или "все теплые полы"
  • В дополнение к стандартным командам ON  и OFF добавлены HALT (выключить) и REST (включить, но только если было выключено командой HALT) - это позволило легко реализовывать удобную автоматизацию
    Например, когда на улице становится очень холодно - вентиляция перекрывается. Когда теплет - открывается обратно, но только при условии, что она была изначально открыта.
    Ну и такие вещи как кнопка перед выходом из дома, которая выключает все но включает только то, что было выключено - это очень удобно
  • Также, реализованы команды XON (включить) и XOFF (выключить, но только если было включено командой XON) - Это сделано специально, чтобы свет, включенный вручную (ON) - не выключался по таймеру датчика движения

 

 

 

You have no rights to post comments

0
0
0
s2sdefault