
Node-RED — це інструмент візуального програмування, який дозволяє створювати складні автоматизації без написання коду. Він може використовуватися для різноманітних завдань: від промислових застосувань до керування досвідом у квест-кімнатах, але також може стати потужним інструментом для вашого “розумного дому”.

Node-RED може керувати цілою квест-кімнатою
Візуальний інструмент програмування дозволяє з’єднувати пристрої та сервіси

Node-RED — це інструмент програмування, керований потоками (flow-based programming), який дозволяє створювати автоматизації, з’єднуючи серію вузлів. Замість написання коду, який говорить “якщо це, то те”, ви можете додати вузол для “якщо це” та з’єднати його з іншим вузлом для “то те”. Справжня потужність полягає в тому, що ви можете з’єднати кожен вузол з кількома іншими вузлами, що дозволяє будувати складні автоматизації без написання коду.
Node-RED може використовуватися для величезного спектра різноманітних застосувань, оскільки вузли можуть бути виключно логічними, але також можуть взаємодіяти із зовнішніми сервісами. Наприклад, ви можете використовувати вузол для керування промисловим верстатом і створити потік, який вимикає верстат, якщо його температура перевищує встановлений поріг.
Node-RED може навіть використовуватися для керування цілими квест-кімнатами. Використовуючи розширення, такі як Node-REDscape, потік може надсилати повідомлення контролерам реквізиту, таким як пристрої ESP32 або Raspberry Pi, запускати та зупиняти таймери, відображати час, що залишився до кінця гри, на LCD-дисплеї, реагувати на завершення ігрових завдань, керувати звуковими ефектами тощо.
7 функцій Home Assistant, якими я хотів би почати користуватися раніше
Давно не бачились.
Node-RED може працювати разом із Home Assistant
Ви можете створювати автоматизації, з’єднуючи вузли

Система Node-RED, керована потоками, також чудово підходить для створення автоматизацій “розумного дому”. Раніше, коли автоматизації Home Assistant доводилося писати повністю в YAML, Node-RED пропонував альтернативний спосіб створення автоматизацій за допомогою візуальної системи з низьким кодом.
Існує два способи використання Node-RED з Home Assistant. Ви можете встановити його як додаток (add-on), який працює паралельно з Home Assistant, або встановити його як окрему програму в іншому контейнері чи на зовсім іншому пристрої. Node-RED може спілкуватися з Home Assistant через його API.
Після налаштування ви можете створювати в Node-RED автоматизації, які отримують інформацію від ваших датчиків або пристроїв “розумного дому” та надсилають команди для керування іншими пристроями. Наприклад, ви можете мати вузол, який отримує поточну температуру з датчика. Потім його можна з’єднати з двома різними вузлами: один вузол, який виконує дію, наприклад, вмикає опалення, якщо значення температури нижче порогового, а інший — вмикає кондиціонер, якщо значення вище іншого порогу.
Існує безліч різних вузлів, які можуть обробляти логіку, виступати в ролі тригерів, виконувати дії тощо. Якщо існує автоматизація, яку ви хочете створити в Home Assistant, ви майже завжди можете зробити це за допомогою Node-RED.
Моя найскладніша автоматизація була б кошмаром без Node-RED
Візуальні потоки полегшують роботу зі складними автоматизаціями
До появи візуального редактора Home Assistant, створення автоматизацій вимагало написання YAML, але ті часи давно минули. Редактор автоматизацій зараз є дуже потужним інструментом, який ви можете використовувати для створення складних автоматизацій без написання коду, тож навіщо вам взагалі Node-RED?
Існують випадки, коли візуальна природа Node-RED може бути кориснішою, якщо ви створюєте складну автоматизацію. У мене налаштована автоматизація в Node-RED, яку, я не зовсім впевнений, чи зміг би я створити в редакторі автоматизацій Home Assistant, не втративши здорового глузду.
Це автоматизація, яка фактично є “мозком” універсального пульта дистанційного керування, який я налаштував. Вона використовує Wi-Fi пульт для керування кількома AV-пристроями, включаючи мій телевізор, систему об’ємного звучання, приставку тощо. Це означає, що кнопки на пульті повинні виконувати різні дії залежно від того, чи намагаюся я керувати телевізором, ресивером об’ємного звуку, чи приставкою.
Використовуючи Node-RED, кожна кнопка має свій потік з різними діями, залежно від того, чи я використовую додаток для смарт-телевізора, приставку, чи ввімкнена система об’ємного звучання, і так далі. Навіть з Node-RED, потік — це павутиння з’єднань, але візуальна природа дозволила (хоч і вимагала часу) створити відповідну логіку для кожної кнопки пульта.
Вам не потрібен Node-RED для всього
Редактор автоматизацій Home Assistant може зробити багато

Це не означає, що ви повинні використовувати Node-RED для всіх своїх автоматизацій. У мене є лише кілька автоматизацій, які працюють в Node-RED, а переважна більшість налаштована за допомогою вбудованого редактора автоматизацій Home Assistant. Функції постійно додаються, що робить редактор автоматизацій все більш потужним.
Однак, є деякі випадки, коли Node-RED може полегшити життя. Дуже складні автоматизації, такі як мій Wi-Fi пульт, часто легше зрозуміти, використовуючи візуальну схему автоматизації.
Node-RED також може зробити налагодження складних автоматизацій менш складним, оскільки ви можете додавати вузли налагодження в будь-якій точці потоку, щоб бачити вивід попереднього вузла. Хоча трасування автоматизацій в Home Assistant може бути корисним, ці вузли налагодження можуть полегшити пошук та виправлення проблем. Ви також можете використовувати вузли inject для тестування частин автоматизації, не чекаючи реального тригера.
Node-RED і Home Assistant — чудове поєднання
Якщо у вас немає дуже складних автоматизацій, Node-RED може не надати значних переваг. Однак, якщо ви “рвете на шматки” волосся, намагаючись створити складну автоматизацію, варто спробувати Node-RED. Він може стати чудовим доповненням до вбудованого редактора автоматизацій.
Оригінал статті: www.howtogeek.com







