Node-RED dispone de una biblioteca de nodos, flujos y colecciones que la comunidad alimenta, donde obtener muchos recursos para la programación de Node-RED.
Los nodos de Node-RED se empaquetan como módulos y se publican en el repositorio público de npm https://www.npmjs.com/. Una vez publicados en npm, se pueden agregar a la biblioteca de flujo mediante un formulario.
Instalar desde npm con el comando npm install <nombre-paquete>
Con el fichero package.json que se genera en los proyectos. npm agregará automáticamente módulos adicionales instalados a la sección de dependencias del archivo package.json en su directorio de usuario.
Para actualizar los nodos:
La forma más fácil de buscar actualizaciones de nodos es abrir el Administrador de paleta en el editor.
También puede buscar actualizaciones desde la línea de comandos usando npm. En su directorio de usuario, ~/.node-red ejecute el comando: npm outdated y luego para los paquetes actualizables usar npm install <name-of-module>@latest
Cualquiera que sea la opción que adopte, deberá reiniciar Node-RED para cargar las actualizaciones.
Cuando instala Node-RED, se inicia con un conjunto predeterminado de nodos. Hay 8 categorías principales de nodos en la instalación predeterminada: entradas, salidas, funciones, social, almacenamiento, análisis, avanzado y Raspberry Pi (si se instala en una Raspberry Pi).
Este flujo muestra en un dashboard la CPU, Memoria, uso del disco y temperatura del CPU de la Raspberry Pi donde está Node-RED. También hay dos botones para reiniciar y apagar el sistema. Es necesario instalar el nodo de Dashboard.
Este temporizador en NodeRED se puede implementar como un único subflujo configurable a través de variables de entorno. Para configurar el subflujo, debe proporcionar la iteración del temporizador (cada temporizador debe tener su propio número como: 1 | 2 |… n) y valores para la payload en el inicio y la parada (cadena).
Un nodo Node-RED que proporciona informes por excepción (RBE) y capacidad de banda muerta. RBE = Report by Exception
El nodo se bloquea a menos que el valor entrante cambie – modo RBE, o cambie en más de una cierta cantidad (valor absoluto o porcentaje) – modos de banda prohibida.
Básicamente este nodo hace de filtro, de detector de flanco y puede servir para implementar histéresis.
El nodo exec le permite tomar cualquier comando del sistema existente, programa de Python o script que haya escrito y ejecutarlo desde node-red e incorporar los resultados en su flujo. Ejecuta un comando de sistema y devuelve su salida.
El nodo puede ser configurado para esperar hasta que el comando se complete, o para enviar su salida a medida que el comando la genera.
Para más información leer la información del nodo en Node-RED
El comando que se ejecuta puede ser configurado en el nodo o proporcionado por el mensaje recibido.
Una mejora: https://flows.nodered.org/node/node-red-node-daemon. Similar al nodo exec pero este llama al comando en el momento de inicio y luego conduce cualquier entrada al nodo al STDIN del comando en ejecución, y alimenta cualquier STDOUT a la primera salida. Útil para monitorear procesos basados en la línea de comandos.
JSON, es una forma estándar de representar un objeto JavaScript como una cadena. Las API web suelen utilizarlo para devolver datos.
Si una propiedad de mensaje contiene una cadena JSON, primero se debe analizar en su objeto JavaScript equivalente antes de poder acceder a las propiedades que contiene. Node-RED proporciona un nodo JSON para realizar esta conversión.
Nodo file, lee y escribe ficheros locales en el host donde está instalada la instancia de Node-RED.
El nombre del archivo debe ser una ruta absoluta, de lo contrario será relativo al directorio de trabajo del proceso Node-RED, que normalmente es .node-red
Uso de nodo file storage en docker.
ruta de fichero en docker es /data
ruta por defecto /usr/src/node-red/
Nodo Lógica Booleana
Un conjunto de nodos lógica booleana mejorado para Node-RED: flow interruption node, blinker node, invert node, filter node, etc… con valores persistentes después del reinicio y más.
Un temporizador de Node-RED fácil, intuitivo y preciso que le permite encender/apagar algo varias veces al día y admite horarios de tan solo 1 segundo.
BigTimer es un nodo de temporización Node-Red que ofrece una gama de funciones de temporización. Los BigTimers se pueden utilizar individualmente o en grupos. Soporte completo para crepúsculo/atardecer y variaciones también control día/semana/mes (y días especiales). El nodo ofrece salidas adecuadas para MQTT, voz y bases de datos.
Crea patrones de diseño extensibles, en bucle y reutilizables para flujos.
ActionFlows trae bucles fáciles de usar y características OOP (programación orientada a objetos) al paradigma de programación de flujo de Node-RED. Tres nodos le permiten crear flujos extensibles, con alcance, en bucle y priorizados. Las utilidades incluyen evaluaciones comparativas de rendimiento con precisión de nanosegundos.
Para comprender ActionFlows, revise cada sección comenzando con Conceptos básicos a continuación y los ejemplos de cada sección.
Envía el mensaje a través de la primera salida después de la duración del temporizador. Un nuevo mensaje recibido antes de que expire el temporizador reemplazará el mensaje existente y el temporizador se reiniciará, a menos que el nuevo mensaje tenga un payload de ‘stop’ o ‘STOP’, que detendrá el temporizador.
Toggle switch node para Node-red. Nodopara cualquier conmutador (físico o virtual), almacenando su estado y proporcionando operación de alternancia sin necesidad de utilizar nodos de función o variables de flujo / globales.
Socket.IO es una biblioteca de JavaScript para aplicaciones web en tiempo real. Permite la comunicación bidireccional en tiempo real entre servidores y clientes web. Tiene dos partes: una biblioteca del lado del cliente que se ejecuta en el navegador y una biblioteca del lado del servidor para Node.js. Ambos componentes tienen una API casi idéntica. Como Node.js, está impulsado por eventos.
Nodos Node-RED para la funcionalidad del navegador, como carga de archivos, cámara y micrófono. Muy interesante para subir datos, tomar datos de la cámara y del micrófono.
Un nodo Node-red para gestionar un diálogo con un servidor telnet sobre IP. Está destinado a simplificar el envío de consultas a un servidor y tratar las respuestas de forma asincrónica
Redlink es una forma de conectar muchas instancias de Node-Red juntas usando conexiones de «servicio» soft para crear esencialmente un cluster de «servicio» usando hardware dispar para crear una gran red de Node-Red.
Redlink no utiliza un sistema de mensajería tradicional, en realidad crea una malla jerárquica de servicios web interconectados utilizando HTTPS-POST como transporte y un concepto de enrutamiento similar a OSPF.
quantity (1:65535) of coils/inputs/registers to be read from the start address
Modbus-getter y Modbus-read indicas en el nodo los registros a leer. Importante: If you have more than 10 nodes on one communication configuration, use the Modbus-Flex-Getter or think about multiple connections to your Modbus device, please! You can do polling with the Modbus-Getter and Modbus-Flex-Getter, too by using an injecting node with an interval.
Controle su instalación KNX a través de Node-Red. KNX IN/OUT de nodo único con importador de direcciones de grupo ETS opcional. Fácil de usar y altamente configurable.
Nodo-RED Nodo para almacenar/recuperar fácilmente información almacenada en un archivo .json. Se implementa un almacenamiento en caché diferido para cargar la colección solo cuando sea necesario. Además, es posible configurar la colección para que solo escriba en el archivo json cuando Node-RED se detiene o se vuelve a implementar un flujo.