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

23 сентября 2019, 08:52

Материалов на эту тему не мало, но, благодаря участникам портала, 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.

o01-1.jpg

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

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

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

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

1600x_image.png?1569078610

Установим контрибьюшн для связи с 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
k01-1.jpg

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

  • 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 (Делается один раз)
1600x_image.png?1569087604

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

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

Добавление моста HomeKit (Делается один раз)
1600x_image.png?1569088596

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

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

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

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

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

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

node-red-restart

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

Дочерние сервисы
o01-1.jpg

У датчика касания есть батарейка, поэтому нам нужно добавить ноду батареи. Для этого перетягиваем ноду 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 командой).

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

1600x_image.png?1569083957

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

Flows

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

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

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

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


Все новости мира умных домов - t.me/SprutAI_News или Instagram
Остались вопросы? Мы в Telegram - @Soprut

Хочешь умный дом но нет времени разбираться?
Посмотри примеры работ и выбери себе интегратора.
  1. Дмитрий Батюшин (ReD)
    Дмитрий Батюшин (ReD) 9 месяцев назад

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

  2. Дмитрий Гоцюк (aka.GDM)
    Дмитрий Гоцюк (aka.GDM) 9 месяцев назад

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

  3. Артем Симоненко (TopGun)
    Артем Симоненко (TopGun) 9 месяцев назад

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

  4. (evgenyz89)
    (evgenyz89) отредактировано 8 месяцев назад

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

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

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

  5. Артем Меркулов (Artemiy)
    Артем Меркулов (Artemiy) 8 месяцев назад

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

  6. (niko0d)
    (niko0d) 7 месяцев назад

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

  7. (Wayfarer)
    (Wayfarer) 4 месяца назад
    тоже сегодня привезли ConBee2
    отличная статья для старта)
К списку статей

Устройства в материале

Wall Switch

Производитель: Aqara
Заказать на:

deCONZ Conbee 2

Производитель: Phoscon

Raspberry Pi 4

Производитель: Raspberry Pi
Заказать на:

Скидки для сообщества

Интернет-магазин yourhomekit.ru

+7 914 550-51-11
Промокод:
SPRUT-BLG
Размер скидки:
8%
Cамый большой ассортимент в России аксессуаров Apple HomeKit

LifeControl

+7 495 240-81-01
Промокод:
sprut10
Размер скидки:
10%
На весь ассортимент Lifecontrol

Похожие статьи

09 ноября 2018, 20:54
Кейс создания умного дома без каких либо прокладок в виде Raspberry pi
04 сентября 2018, 12:14
Интеграция RGB ленты на ESP8266 с прошивкой tasmota в систему HomeBridge (HomeKit)
15 октября 2018, 09:05
Прошивка для Sonoff c нативным HomeKit
15 ноября 2018, 09:42
Способы автоматизации механических ворот
27 октября 2018, 12:20
Нативный Термостат для котла на ESP8266 с поддержкой Apple HomeKit
15 ноября 2018, 13:11
Xiaomi Mi Remote 360 добавляем Apple HomeKit
01 октября 2018, 07:43
Нативный HomeKit на ESP8266
11 апреля 2020, 14:15
Повествование про разработку ZigBee стика для SprutHub
28 августа 2018, 09:48
От голого Raspbian до веб-интерфейса homebridge за четыре команды в терминале.
02 октября 2018, 18:41
Установка SDK для компиляции прошивок под HomeKit