Automatización con Node-RED
Introducción
Node-RED es una herramienta de programación visual basada en flujos, desarrollada por IBM y open source. Permite conectar dispositivos, APIs y servicios de forma visual, sin escribir código tradicional.
Instalación
En Raspberry Pi:
bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered) sudo systemctl enable nodered sudo systemctl start nodered
Acceder desde: http://IP:1880
Conceptos
Nodos
Cada bloque en el flujo es un nodo. Los nodos tienen entradas y salidas. Se conectan arrastrando cables entre ellos.
Tipos de nodos básicos
- inject: Dispara el flujo manualmente o por timer
- debug: Muestra el valor del mensaje en el panel lateral
- function: Ejecuta código JavaScript personalizado
- mqtt in/out: Conecta con broker MQTT
- http in/out: Crea endpoints HTTP
- switch: Enruta mensajes según condiciones
msg.payload
El mensaje que viaja entre nodos se llama msg. El dato principal está en msg.payload.
Ejemplo: leer temperatura MQTT y guardar en CSV
- Nodo MQTT In suscrito a "casa/temp"
- Nodo function para formatear datos
- Nodo file para escribir en CSV
Integración con Home Assistant
El add-on Node-RED de Home Assistant permite disparar automatizaciones avanzadas con la flexibilidad de Node-RED.