Статья

Node-RED - пошаговая инструкция для новичков. Часть 1

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

В этой статье я опишу установку и настройку Node-RED на Raspberry Pi  deCONZ и интеграцию ZigBee устройств в HomeKit.

Установка deCONZ

Я использую официальный образ deCONZ без HomeBridge (Raspbian Buster Desktop). HomeBridge лучше установить отдельно. Например так.

Установка Node-RED

Подключаемся к малине по SSH и устанавливаем Node-RED следующей командой:

bash <(curl -sL https://raw.githubusercontent.com/node-red/raspbian-deb-package/master/resources/update-nodejs-and-nodered)

Соглашаемся два раза, нажав ''Y''.

Добавляем Node-RED в авто загрузку и запускаем его:

sudo systemctl enable nodered.service node-red-start

Запуск Node-RED и установка необходимых плагинов

После успешной установки Node-RED, запускаем веб-интерфейс, вбив в браузере: IP малины:1880.

Слева видим список всех доступных нам нод. В правом верхнем углу - кнопку Deploy (она нужна, чтобы задействовать все изменения, которые мы делаем). Чуть правее от нее - 3 полоски (это кнопка меню).

Установка необходимых нам contributions:

В данной статье мы будем использовать всего несколько нод. Существует два способа их установки:

Через терминалЧерез веб-интерфейс Node-RED

Установим контрибьюшн для связи с HomeKit через веб-интерфейс. Для этого нужно перейти:

Меню->Manage palette->install, ввести в строке поиска node-red-contrib-homekit-bridged и нажать install.

Теперь в нодах (раздел advanced) появилась нода HomeKit.

Также установим контрибьюшн для связи deCONZ и Node-RED. Эти ноды существенно упростили добавление устройств в Node-RED и HomeKit. Огромное спасибо @popov1988 за создание этих нод.

Вводим в строке поиска node-red-contrib-deconz и устанавливаем.

Теперь перезагрузим Node-RED и почистим кэш, выполнив следующие команды:

node-red-stop sudo npm cache clean --force node-red-start

Как видим, у нас появились новые ноды:

homekit - для проброса устройств в HomeKit;battery - для передачи уровня заряда батареи;in - входящая нода от deCONZ;

get - получить текущий статус устройства;event - выводит все события, которые приходят от deCONZ;out - вывод в deCONZ.

Добавление устройств в HomeKit

Рассмотрим добавление на примере геркона от Aqara и проводного одноклавишного выключателя без нулевой линии Aqara, которые у нас уже добавлены в deCONZ. В процессе добавления первого устройства, нам потребуется добавить сервер deCONZ и мост HomeKit, но делается это единоразово.

Датчик касания (геркон)

Перетягиваем ноды: in и homekit на белое поле нашего флоу. Соединяем их ниточкой (в ноде in - с нижнего выхода).

В ноде in имеется 2 выхода(серые маленькие квадратики):

  • Верхний - для автоматизаций в Node-RED.
  • Нижний - для HomeKit.

Добавление сервера deCONZ (Делается один раз)

Дважды нажимаем на ноду in, нажимаем на карандашик.В новой вкладке браузера открываем deCONZ->Settings->Gataway->Advanced и нажимаем на кнопку Authenticate app.Возвращаемся в Node-RED и жмем кнопку "Получить настройки". Можно поменять IP адрес на локальный 127.0.0.1Если по какой-то причине настройки сервера не выставились автоматически, то придется это сделать вручную.Название сервера можно написать любое.Нажимаем кнопку Add, Done.Нажимаем кнопку Deploy в правом верхнем углу.Сервер настроен.

В ноде in пишем любое название, выбираем созданный нами сервер и выбираем нужное нам устройство.

Добавление моста HomeKit (Делается один раз)

Дважды нажимаем на ноду homekit, нажимаем на карандашик напротив строки Bridge.

Pin Code и Name пишем любые (Пин код должен быть строго в таком же формате ***-**-***).

Нажимаем кнопку Add, Confim. Мост настроен.

В строке "Bridge" ноды homekit выбираем созданный нами мост, в строке "Service" выбираем тип нашего устройства (в данном примере - это contact sensor), в строке "Name" - имя устройства в HomeKit.

Нажимаем кнопку Deploy в правом верхнем углу.

Перезагружаем Node-RED:

node-red-restart

Теперь мы можем добавить мост в приложении Дом на устройстве Apple. Вместе с мостом добавится и наш датчик касания.

Дочерние сервисы

У датчика касания есть батарейка, поэтому нам нужно добавить ноду батареи. Для этого перетягиваем ноду battery и homekit.

В ноде battery выбираем наш датчик и пишем любое имя в строке "название". Нажимаем Done.

В ноде homekit в строке "Service Hierarchy" выбираем Linked (т.к батарея у нас это дочерний сервис). В строке "Parent service" выбираем наше родительское устройство (т.е сам датчик касания). В строке "Service" выбираем BatteryService. Имя выбираем любое.

Возле кнопки Deploy нажимаем на треугольник и выбираем Modified Nodes.

Теперь в HomeKit мы сможем увидеть заряд батареи на нашем датчике касания.

Далее устройства добавлять гораздо проще т.к сервер и мост уже есть.

Добавление выключателя Aqara

В ноде in - все, как и с датчиком касания.В ноде homekit - тоже, но в строке "Service" выбираем Switch.В нашем случае, выключателю требуется нода "out".В ней мы: выбираем наш сервер, выбираем устройство и в строке "команда" выбираем homekit слева.

Возле кнопки Deploy нажимаем на треугольник и выбираем Modified Nodes(если выключатель не появился в HomeKit, то нужно перезагрузить Node-RED командой).

Импорт примеров и Флоу

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

Flows

Все ваши ноды можно экспортировать, и импортировать чьи-либо себе, через import/export->Clipboard.

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

В следующей части постараюсь так же подробно рассказать про автоматизации в самом Node-RED.

Всем Спасибо за внимание.


Для начинающих то что нужно! 

Очень пригодилась статья. Сегодня как раз ConBee привезли. Спасибо!

Скажите, а как я могу в homekit геркон перекинуть как датчик протечки? Так сказать поменять тип устройства, это возможно?

Возможно.Спросите в чате Node-RED 

Очень круто - Спасибо


а как устройства конектить?


Теперь как пробросить Xiaomi Камеры в HOMEKIT?

А можно еще пример по простым http командам типа включить и выключить? Акары нет, но хочется понять принцип добавления устройств на более простых вещах. 

После последнего НА апдейта немогу увидеть устрайства. В смысле к Деконз потключен, но дроплист с устройствами не показывает. кликаешь, кликаешь...

тоже сегодня привезли ConBee2
отличная статья для старта)
"В новой вкладке браузера открываем deCONZ->Settings->Gataway->Advanced и нажимаем на кнопку Authenticate app."
Я все обыскал и не нашел это меню. Подскажите, пожалуйста, где искать?

Статье почти год).И плагины и сам софт деконза могли поменяться.Рекомендую уточнить это в спрут-чате деконза.


Вернуться назад

Устройства


Aqara

Wall Switch

(3 отзыва)

Phoscon

deCONZ Conbee 2

(5 отзывов)

Raspberry Pi

Raspberry Pi 4

(15 отзывов)

Вернуться назад