Node-RED
Node-RED — это автономный инструмент управления рабочими процессами, не являющийся частью ioBroker, но хорошо интегрирующийся с ним. Программирование осуществляется с помощью потоков : узлы размещаются на карте и соединяются линиями, по которым передаются сообщения.
Доступ осуществляется через адаптер Node-RED . Он включает Node-RED, запускает его и устанавливает соединение с состояниями ioBroker. Начиная с версии адаптера 7, в него включен Node-RED 5; он обновляется вместе с адаптером, а не отдельно.
Node-RED работает как отдельный процесс параллельно с ioBroker, имея собственное использование памяти и редактор. Для простых автоматизаций это существенная дополнительная нагрузка — Blockly — более простой вариант.
Схема работы редактора: узлы слева, область посередине. Узлы группы ioBroker — состояния чтения и записи.
Меблировать
- Установите адаптер Node-RED и создайте экземпляр.
- В настройках экземпляра при необходимости отрегулируйте порт и защиту доступа. По умолчанию используется порт 1880 на всех сетевых интерфейсах, без аутентификации.
- Редактор открывается с помощью кнопки экземпляра в панели администратора или непосредственно под ней.
http://<adresse-des-servers>:1880.
!> Доступность без регистрации и на всех интерфейсах означает: любой пользователь сети может изменять потоки и, таким образом, контролировать все, что контролирует ioBroker. Пользователям Node-RED следует настроить защиту доступа в параметрах экземпляра.
Узлы ioBroker
В палитре редактора появляется отдельная группа ioBroker, состоящая из шести узлов:
| узел | За что |
|---|---|
| ioBroker в | Триггер: выводит сообщение сразу после изменения состояния. |
| ioBroker out | Записывает содержимое сообщения в состояние |
| ioBroker получить | Получает текущее значение состояния, не дожидаясь его изменения. |
| ioBroker получить объект | Извлекает объект по его идентификатору, то есть по его описанию, а не по значению. |
| список ioBroker | Возвращает список штатов для заданного шаблона. |
| ioBroker sendTo | Отправляет команду экземпляру адаптера, например, Telegram. |
Таким образом, простой поток состоит из двух узлов: ioBroker для запуска, ioBroker для реакции, и между ними — узел, который необходимо решить.
Что важно в настройках экземпляра?
- Ограничение по памяти. По умолчанию — 128 МБ. Потокам, содержащим большие объемы данных, требуется больше памяти; в противном случае Node-RED завершит работу без видимой причины.
- Дополнительные узлы. Управление палитрой по умолчанию отключено. Чтобы установить дополнительные пакеты узлов, включите их или добавьте пакеты в настройках.
- Создание внешних объектов также отключено по умолчанию. Пока эта функция отключена, поток может создавать только состояния ниже своего собственного экземпляра.
- Контекстное хранилище. Node-RED может сохранять значения после перезапуска. Начиная с версии адаптера 7, это файловое хранилище называется...
fileвместоdefaultЛюбой пользователь, явно выбравший место хранения в узле, должен выбрать его там еще раз.
Почему стоит использовать Node-RED
Node-RED отлично подходит для работы с потоками данных: объединение нескольких источников, запросы и ответы через HTTP-интерфейсы, MQTT, многошаговые преобразования и очереди. Для классической домашней автоматизации — триггеров, условий, действий — он не превосходит JavaScript-адаптер, но требует второго процесса и второго редактора.
Одновременное возникновение обоих явлений возможно и распространено. Состояния — это общий язык: то, что записывает поток, скрипт видит немедленно, и наоборот.