Node-RED – это инструмент для визуального программирования, разрабатывается и поддерживается открытым сообществом. Он использует визуальное представление потоков данных для создания IoT-приложений и автоматизированных рабочих процессов. Node-RED основан на языке JavaScript и работает на платформе Node.js. Он предоставляет библиотеку нод, которые могут быть связаны друг с другом для создания потоков данных, обрабатывающих входящие и исходящие сигналы. Node-RED также предлагает простой способ создания пользовательского интерфейса для управления потоками данных и визуализации получаемой информации. Это популярный инструмент в сфере разработки IoT-приложений и сенсорных сетей.
Проект стартовал как подтверждение концепции визуализации и манипулирования мэппингами между топиками сообщений в протоколе Message Queuing Telemetry Transport (MQTT). Node-RED быстро стал более универсальным инструментом, который можно было легко расширять в любом направлении.
Исходный код проекта был открыт в сентябре 2013 года. С тех пор он разрабатывался в открытом виде, кульминацией развития стало признание Node-RED одним из фундаментальных проектов JS Foundation в октябре 2016 года.
Потоки, созданные в Node-RED, сохраняются в JSON-файлы, которые можно без труда экспортировать и импортировать для обмена с другими пользователями.
Кроме того, с помощью онлайн-библиотеки потоков становится возможным делиться своими лучшими творениями с миром.
Программирование осуществляется в браузерном редакторе, где пользователи могут создавать потоки, подключая друг к другу ноды разного назначения, а также выполнять развертку созданных потоков в среду выполнения всего в один клик.
Также в наличии текстовый редактор, позволяющий создавать JavaScript-функции прямо в редакторе Node-RED.
Встроенная библиотека позволяет сохранять полезные функции, шаблоны и потоки для повторного использования.
Таким образом, Node-RED является очень хорошим инструментом для программирования систем умного дома, в частности Home Assistant.