Node red pasó a la versión 1.x en septiembre de 2019 con cambios notables, veamos los cambios introducidos en Node-RED a lo largo de sus versiones.
Versiones node-red: https://github.com/node-red/node-red/releases
Novedades Node-Red 0.20: https://programarfacil.com/blog/raspberry-pi/novedades-node-red-0-20/
Salto de la 0.x a la 1.x explica las diferencias:
- https://notenoughtech.com/home-automation/nodered-home-automation/whats-new-in-nodered-1-0/
- https://jejo.es/posts/electron/electronarduinonodered/nuevascaracteristicas_node-red_v1/
Version 1.0 (30/09/2019): https://nodered.org/blog/2019/09/30/version-1-0-released
- Asynchronous message passing – Nodos siempre asíncronos
- Node Send API – node.send(), saber cuando un node ha finalizado y nodo complete
- Cloning messages – clonado de mensajes en nodo función
- Reorganised palette
- Removed nodes – Algunos nodos ya no están instalados por defecto
- Action List – Nuevo menu: view -> action list
- Visual JSON Editor
- New wiring tricks
- More search results
- Context Sidebar auto-refresh
- Picking your language
- Editor CSS restructuring – Ver cambios
- Node updates – mejoras en los nodos de cores
- New Docker Images
- Flow Library Update – mejoras en https://flows.nodered.org/
Vídeo versión 1.0: https://www.youtube.com/watch?v=nIVBZQi18fQ&feature=youtu.be
Versión 1.1 (30/06/2020): https://nodered.org/blog/2020/06/30/version-1-1-released
- Editor Updates – barra de información y ayuda mejorada. Agrupación de nodos.
- Runtime features – mejoras de seguridad y en node-red-admin
- Node updates
- JSONata $moment support
- Inject node properties – enviar cualquier tipo de propiedad
- Function node lifecycle
- Debug node status
- Trigger node
Version 1.2 (15/10/2020): https://nodered.org/blog/2020/10/15/version-1-2-released
Vídeo versión 1.2: https://www.youtube.com/watch?v=rnM5sfb2qoY
Planes de releases: https://nodered.org/blog/2020/07/01/release-plans
Releases: https://nodered.org/about/releases/
Planes de futuro: https://nodered.org/blog/2020/10/13/future-plans
Vídeo de los creadores de Node-RED hablando del estado de Node-RED: https://openjsf.org/blog/2020/05/13/nodered-ama-recap/
Beta version 1.3 Node-RED: https://discourse.nodered.org/t/node-red-1-3-0-beta-1-released/41960
- change log: https://github.com/node-red/node-red/blob/15715a296862bf9603facd45bf1a7ef17623890b/CHANGELOG.md
- Uso de módulos npm en funciones. Al establecer functionExternalModules en verdadero en el archivo de configuración, podrá configurar sus nodos de función con una lista de módulos adicionales.
- Ahora es posible anidar referencias a las propiedades del mensaje en los nodos change y switch. Ejemplo: set flow.rooms[msg.topic] to the value of msg.payload
- Node-RED Plugins framework
- Ahora es posible empaquetar un subflujo como un módulo y publicarlo en npm para instalarlo en la paleta como cualquier otro nodo.
- El cuadro de diálogo Exportar ahora muestra una lista estructurada de lo que está exportando. El JSON sin formato aún se puede ver en una segunda pestaña del cuadro de diálogo.
- Con esta versión, si pulsa Mayús y hace clic en el lado izquierdo del nodo, seleccionaremos todos los nodos ascendentes. Si pulsa Mayús y hace clic en el lado derecho, seleccionaremos todos los nodos de corriente abajo. Shift-clic en el centro del nodo seleccionará todo el flujo como antes.
- Los nodos MQTT ahora son compatibles con MQTTv5 y la gran mayoría de las nuevas funciones que presenta la versión 5.
Versión 1.3 (08/04/2021): https://nodered.org/blog/2021/04/08/version-1-3-released
- Change Log: https://github.com/node-red/node-red/blob/28bfa8e4186e63c60894d8f34a1ff9a5838fa917/CHANGELOG.md
- Node-RED 1.3.1: https://discourse.nodered.org/t/node-red-1-3-1-released/43867
- El nodo de función puede usar módulos npm. Añadir módulos adicionales a las funciones poniendo functionExternalModules to true. El tiempo de ejecución intentará instalar automáticamente esos módulos cuando se despliegue el flujo. Más detalles: https://github.com/node-red/node-red/pull/2873 y https://nodered.org/blog/2021/04/08/version-1-3-released#function-node-use-of-npm-modules
- Ahora es posible anidar las referencias a las propiedades de los mensajes en los nodos Change y Switch. Más detalles: https://github.com/node-red/node-red/pull/2822
Por ejemplo, si recibe temperaturas de varios sensores. Cada mensaje tiene msg.topic configurado para la habitación en la que se encuentra el sensor y msg.payload es el valor. Desea almacenar la temperatura actual de cada habitación en contexto bajo flow.rooms, por ejemplo flow.rooms.kitchen y flow.rooms.garage. Esto puede hacer mediante una expresión JSONata, pero ahora se pueden anidad referencias como: flow.rooms[msg.topic] - Node-RED plugin framework: https://github.com/node-red/node-red/pull/2779
- Editor de temas: https://github.com/node-red-contrib-themes/
- Cargar recursos extra en el editor: https://nodered.org/docs/creating-nodes/resources
- Ahora es posible empaquetar un subflujo como un módulo y publicarlo en npm para que se instale en la paleta como cualquier otro nodo: https://nodered.org/docs/creating-nodes/subflow-modules
- El diálogo de exportación muestra ahora una lista estructurada de lo que se está exportando. El JSON sin procesar puede seguir viéndose en una segunda pestaña del diálogo. Esto debería ayudar a los usuarios a entender lo que están exportando.
- Mejorada la selección de nodos. Más información: https://github.com/node-red/node-red/pull/2877
- Hay un nuevo ajuste disponible que gobierna lo que puede ser instalado en Node-RED: externalModules. Esto cubre dos cosas separadas: qué nuevos nodos pueden ser instalados a través del gestor de paletas, y qué módulos pueden ser cargados por el nodo Function. Más información: https://github.com/node-red/node-red/pull/2797
- Los nodos MQTT ahora soportan MQTTv5 y la gran mayoría de las nuevas características que introduce v5.
Planning Node-RED 2.0: https://discourse.nodered.org/t/planning-for-node-red-2-0/41918
Versión 2.0 (Beta): https://discourse.nodered.org/t/node-red-2-0-0-beta-1-released/46990
- Imagen docker V2.0 Beta: https://discourse.nodered.org/t/v2-0-0-beta-docker-image/47046
Versión 2.0 (20/07/2021): https://nodered.org/blog/2021/07/20/version-2-0-released
- Node-RED 2.0 does not support anything earlier than Node.js 12.17.x.
- Node-RED 1.3.7 & 2.0.6: https://discourse.nodered.org/t/node-red-2-0-6-1-3-7-released/50531
- Comando node-red admin init permite ayudar a generar un settings file nuevo y actualizado haciendo una serie de preguntas, así como la seguridad. Más información: https://github.com/node-red/node-red-admin/pull/15
- Reorganizada la estructura por defecto de settings.js. Ver en https://github.com/node-red/node-red/blob/859c0c7f6c7b4692b54f0da97737c1f88fe7973c/packages/node_modules/node-red/settings.js. Se puede generar uno nuevo dando un nuevo nombre de fichero usando node-red admin init
- Ahora por defecto el nombre del fichero de flujos es flows.json anteriormente usaba el hostname para formar el nombre del fichero de flujos.
- Nuevo editor de texto Mónaco, por defecto sigue usando el editor de texto ACE y debe configurarse en settings.js. Más información: https://nodered.org/blog/2021/07/20/version-2-0-released#monaco-text-editor
- Nodo inject permite inyectar datos sin hacer un deploy, muy útil para hacer testeos.
- Nodo RBE renombrado a filter para ser encontrado más fácilmente.
- Node-RED Flow debugger. Esto actúa como depuradores de código normales, pero a nivel de flujo. Puede establecer puntos de interrupción en los nodos, ya sean entradas o salidas. Luego, cada vez que un mensaje llega a un punto de interrupción, se detiene en ese nodo o durante todo el tiempo de ejecución. Más información: https://discourse.nodered.org/t/node-red-flow-debugger-1-0-0-released/47044
- Node-RED Flow Linter (nrlint). Esto se puede utilizar para identificar problemas potenciales en el flujo según un gran conjunto de reglas que proporciona el linter. Por ejemplo, puede advertir si tiene nodos HTTP In que no están conectados a los nodos de respuesta HTTP. O si tiene nodos que se superponen físicamente y potencialmente se oscurecen entre sí. Más información: https://nodered.org/blog/2021/07/20/version-2-0-released#flow-linter—nrlint
Version 2.1 (21/10/2021): https://nodered.org/blog/2021/10/21/version-2-1-released
- Change log: https://github.com/node-red/node-red/blob/21304a695c3450fbf80cee69c84fe71ce753b076/CHANGELOG.md
- Node-RED 2.1.1: https://discourse.nodered.org/t/node-red-2-1-1-released/52554
- Nuevo Tour Guide: https://nodered.org/blog/2021/10/21/version-2-1-released#new-welcome-tour-guide
- Nodos MQTT dinámicos: es posible hacer suscripciones/desuscripciones a topics dinámicamente, conectar y desconectar a un broker pasando mensajes al nodo. Más información: https://github.com/node-red/node-red/pull/3189
- Autocompletado en msg TypedInputs al escribir los nombres de las propiedades del mensaje. Más información: https://nodered.org/blog/2021/10/21/version-2-1-released#auto-complete-in-msg-typedinputs
- Añadido soporte para variables de entorno a nivel de subflow, así como a nivel de Flow y Grupo.
- Actualizaciones en el nodo Delay en el modo “rate limiting”. Ver https://nodered.org/blog/2021/10/21/version-2-1-released#delay-node-updates
- Los nodos file han sido renombrados como file read y file write para ser más intuitivos.
- Deep Copy en nodo Change: https://nodered.org/blog/2021/10/21/version-2-1-released#deep-copy-option-on-change-node
Pingback: Saber Más Fundamentos IoT para Formación Profesional | Aprendiendo Arduino
Pingback: Diario del Curso IoT, Smart Cities y Node-RED | Aprendiendo Arduino