Has leído nuestra comparativa entre Home Assistant y Node-RED y has tomado la pastilla roja. Has decidido que quieres el control total, la lógica visual avanzada y la potencia de los flujos.
Pero al instalar Node-RED por primera vez, te encuentras con un lienzo en blanco que intimida. Muchos usuarios abandonan aquí porque intentan hacerlo todo con los nodos básicos, complicándose la vida innecesariamente.
El secreto de los expertos no es ser más listos, es tener mejores herramientas. En Node-RED, estas herramientas se llaman Paletas. En esta guía vamos a instalar el motor y, acto seguido, vamos a equiparte con el «Kit de Supervivencia» (Companion, Time Range y Stoptimer) que te ahorrará cientos de horas de diseño.
Introducción a Node-RED y su Ecosistema IoT
Node-RED no nació para la domótica; fue creado por IBM para conectar hardware en el Internet de las Cosas (IoT). Sin embargo, su flexibilidad lo ha convertido en el estándar de facto para gestionar hogares inteligentes complejos.
¿Qué es Node-RED? Programación visual basada en flujos
Olvida el código escrito línea a línea. Node-RED funciona como una tubería de agua. La información (llamada Mensaje o msg) entra por un lado, viaja a través de cables, pasa por distintos «procesadores» (Nodos) y sale transformada por el otro lado.
Cada nodo es una pequeña caja negra que hace una sola cosa muy bien:
- Nodos de Entrada (Input): Escuchan eventos (ej: «Sensor de movimiento activado»).
- Nodos de Proceso (Function/Logic): Toman decisiones (ej: «¿Es de noche?», «¿Hay alguien en casa?»).
- Nodos de Salida (Output): Ejecutan acciones (ej: «Encender luz», «Enviar Telegram»).
💡 El concepto «Low-Code»
Node-RED es una herramienta Low-Code. Significa que puedes hacer el 95% de las cosas arrastrando y soltando cajas, pero te deja una puerta abierta (el nodo Function) para escribir código JavaScript si necesitas hacer algo muy específico. Es lo mejor de ambos mundos.
Requisitos previos de hardware y software
Node-RED es una aplicación ligera basada en Node.js. Para ejecutarla junto a tu Home Assistant, necesitas preparar el terreno. Dependiendo de cómo montaste tu servidor, tienes dos caminos:
- Hardware: Cualquier cosa donde corra Home Assistant sirve. Desde una Raspberry Pi 4 (mínimo 2GB RAM recomendado si usas ambos sistemas) hasta un Mini PC dedicado.
- Software (Instalación):
- Opción A (Add-on): Si usas Home Assistant OS, es tan fácil como ir a la tienda de complementos e instalarlo. Es la opción recomendada para principiantes.
- Opción B (Docker/LXC): Si seguiste nuestra guía de Proxmox, puedes instalar Node-RED en un contenedor separado. Esto te da más estabilidad: si reinicias Home Assistant, Node-RED sigue vivo.
Instalación Multi-Plataforma de Node-RED
Node-RED es un camaleón. Puede ejecutarse en casi cualquier cosa que tenga un procesador, desde tu portátil Windows hasta servidores en la nube. Sin embargo, para domótica, necesitamos estabilidad y bajo consumo. Vamos a ver las tres vías principales.
Instalación en Entornos Locales (Windows y macOS)
Esta opción es ideal para pruebas y desarrollo. Si quieres aprender Node-RED sin miedo a romper tu casa, instálalo en tu PC personal. No lo recomendamos para producción (si apagas el PC, tu casa deja de funcionar).
Instalación de Node.js y NPM
Node-RED es una aplicación escrita en JavaScript que corre sobre Node.js. Por tanto, el primer paso no es instalar Node-RED, sino su motor.
- Ve a la web oficial de Node.js.
- Descarga la versión LTS (Long Term Support). Es vital elegir la LTS (actualmente la v20 o v22) y no la versión «Current», para asegurar máxima estabilidad.
- Instálalo como cualquier otro programa (Siguiente > Siguiente).
Comandos de arranque y acceso al Editor
Una vez tienes Node.js, abres tu terminal (PowerShell en Windows o Terminal en Mac) y escribes el siguiente comando mágico que descargará Node-RED desde los repositorios mundiales:
npm install -g --unsafe-perm node-red
Cuando termine, simplemente escribe node-red y pulsa Enter. Verás unas líneas de texto indicando que el servidor ha arrancado. Abre tu navegador y ve a:
http://localhost:1880
Despliegue en Raspberry Pi (Recomendado para Domótica)
Si tienes una Raspberry Pi dedicada (sin Docker ni Proxmox) corriendo Raspberry Pi OS, esta es la forma canónica de hacerlo.
Uso del script oficial de instalación automática
La comunidad de Node-RED ha creado un script maravilloso que hace todo el trabajo sucio: comprueba tu versión de Linux, instala la versión correcta de Node.js, limpia basura antigua e instala Node-RED.
Copia y pega esto en tu terminal SSH:
bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)
Te hará un par de preguntas (¿Quieres instalar nodos extra de Pi? ¿Quieres personalizar el tema?). Di que sí a todo y espera unos 10-15 minutos.
Configuración como servicio (Autostart)
Por defecto, si reinicias la Raspberry, Node-RED no arranca solo. Para domótica esto es inaceptable. El script anterior ya prepara el servicio, solo tienes que activarlo con este comando:
sudo systemctl enable nodered.service
Ahora tu domótica sobrevivirá a cortes de luz y reinicios.
Instalación Avanzada con Docker
Esta es la opción profesional y la que encaja con nuestra filosofía de virtualización con Proxmox. Aislar Node-RED en un contenedor te permite hacer copias de seguridad fáciles y evitar conflictos de dependencias.
Despliegue mediante Docker Compose
Crea un archivo docker-compose.yml con el siguiente contenido. Usamos la imagen oficial que es ligera y segura.
version: "3.7"
services:
node-red:
image: nodered/node-red:latest
container_name: mi-node-red
environment:
- TZ=Europe/Madrid # ¡IMPORTANTE! Ajusta a tu zona horaria
ports:
- "1880:1880"
volumes:
- ./node_red_data:/data
restart: unless-stopped
🕒 El error del principiante: La Zona Horaria
Fíjate en la línea TZ=Europe/Madrid. Si no configuras esto, el contenedor vivirá en hora UTC (Londres). Tus automatizaciones de «encender a las 8:00» se ejecutarán a las horas incorrectas. No olvides cambiarlo según tu país.
Gestión de volúmenes para persistencia de datos
En el código anterior, la línea ./node_red_data:/data es la más importante. Le dice a Docker:
«Guarda todo lo que pase dentro de la carpeta
/datadel contenedor en mi disco duro real».
Sin esto, si actualizas el contenedor de Node-RED a una nueva versión, perderás todos tus flujos y configuraciones. Asegúrate siempre de tener este volumen mapeado correctamente para que tus flujos sean inmortales.
Configuración Esencial del Entorno
Instalar Node-RED es solo el primer paso. Por defecto, viene configurado de forma «abierta» y básica. Para un entorno de domótica serio, necesitamos ajustar el motor bajo el capó. Todo esto se controla desde un único archivo sagrado: settings.js.
El archivo settings.js: Ajustes clave
Este archivo reside en tu carpeta de datos (/data o ~/.node-red). Es un archivo de texto largo con muchas opciones comentadas. Vamos a editarlo para mejorar la usabilidad.
Te recomendamos buscar y modificar estas líneas específicas:
module.exports = {
// 1. Cambia el idioma a Español (si lo prefieres)
// lang: "es-ES",
// 2. Formato bonito para los archivos JSON
// Esto hace que si abres el archivo de flujos con un editor de texto,
// sea legible y no una sola línea kilométrica.
flowFilePretty: true,
// 3. Aumentar el límite de tamaño para debug
// Útil si depuras objetos JSON grandes de Home Assistant.
debugMaxLength: 2000,
// ... resto del archivo
}
Seguridad y Autenticación
De serie, cualquiera que entre en tu red Wi-Fi puede acceder a la dirección IP de Node-RED y borrar tus automatizaciones. Aunque confíes en tu familia, un dispositivo infectado en tu red podría hacer estragos. Vamos a ponerle candado.
Protección del Editor con usuario y contraseña
Node-RED no guarda las contraseñas en texto plano, usa un «hash» (cifrado). Para generar tu contraseña, necesitas acceso a la terminal del contenedor o de la Raspberry Pi.
- Ejecuta el siguiente comando:
node-red-admin hash-pw(Si usas Docker:
docker exec -it mi-node-red node-red-admin hash-pw) - Escribe tu contraseña y pulsa Enter. Te devolverá un código largo que empieza por
$2b$. Cópialo. - Ve a tu archivo
settings.js, busca el bloqueadminAuth, descoméntalo y pega el hash:
adminAuth: {
type: "credentials",
users: [{
username: "admin",
password: "$2b$08$J9..TU_HASH_COPIADO_AQUI...7Yg.",
permissions: "*"
}]
},
Cifrado de credenciales
Node-RED guarda las contraseñas de tus servicios (token de Telegram, clave MQTT, password de la base de datos) en un archivo separado llamado flows_cred.json. Por defecto, este archivo es legible.
Para cifrarlo, busca la propiedad credentialSecret en settings.js y pon una frase de paso:
credentialSecret: "MiFraseSuperSecretaParaDesencriptar",
⚠️ Advertencia Crítica
Si activas el credentialSecret y en el futuro olvidas esa frase o reinstalas Node-RED sin copiarla al nuevo settings.js, perderás el acceso a todas tus cuentas configuradas y tendrás que volver a introducir todas las contraseñas en tus nodos.
Sistema de Backup y Control de Versiones (Proyectos)
Esta es la característica «oculta» más potente de Node-RED. Por defecto viene desactivada, pero te permite activar la integración con Git directamente en el editor.
Al activarlo, el menú de Node-RED cambia. Ya no solo tienes «Deploy», tienes una pestaña de «Cambios Locales» que te permite:
- Ver qué has modificado desde la última vez.
- Crear «Snapshots» (copias de seguridad) de tu estado actual.
- Revertir cambios si rompes algo («Deshacer» avanzado).
Para activarlo, edita el final de tu settings.js:
editorTheme: {
projects: {
enabled: true // Cambia esto de false a true
}
}
Reinicia Node-RED y verás una pantalla de bienvenida nueva pidiéndote configurar tu primer «Proyecto». ¡Felicidades, acabas de profesionalizar tu flujo de trabajo!
Gestión de Paletas (Palette Manager)
Node-RED viene «pelado» de fábrica. Trae los nodos básicos para hacer lógica (If/Else, Switch, HTTP), pero no trae nada específico para domótica avanzada. Para conectar con Home Assistant, Telegram o Alexa, necesitas instalar extensiones.
En el mundo Node-RED, estas extensiones se llaman Nodos y se agrupan en paquetes llamados Paletas.
Cómo buscar e instalar nodos desde la interfaz gráfica
La forma más sencilla y segura de instalar complementos es desde el propio editor. No necesitas tocar la consola.
- En la esquina superior derecha, haz clic en el Menú de Hamburguesa (≡).
- Selecciona Manage palette (Gestionar paleta).
- Ve a la pestaña Install.
- Escribe en el buscador lo que necesitas (ej: «telegram», «alexa», «home assistant»).
- Busca el paquete con más estrellas y descargas (señal de calidad) y pulsa el botón pequeño de Install.
💡 Consejo de Seguridad
Cualquiera puede subir nodos a la librería. Antes de instalar nada, fíjate en la fecha de «Last updated». Si un nodo no se ha actualizado en 4 años, probablemente no funcione con las versiones modernas de Node.js. Busca siempre alternativas mantenidas (ej: usa node-red-contrib-telegrambot en lugar de versiones abandonadas).
Instalación manual vía terminal (NPM) para expertos
A veces, el gestor gráfico falla. Puede ser por falta de memoria RAM (común en Raspberry Pi antiguas) o por permisos de red. En esos casos, bajamos al barro y usamos la consola.
Si usas Docker, entra primero en la consola del contenedor:
docker exec -it mi-node-red /bin/bash cd /data
Una vez dentro (o en tu carpeta ~/.node-red si no usas Docker), usa el comando npm:
npm install node-red-contrib-home-assistant-websocket
Tras la instalación manual, es obligatorio reiniciar Node-RED para que aparezcan los nuevos nodos en la barra lateral.
Resolución de conflictos de dependencias
Este es el error más frustrante: intentas instalar una paleta y te sale un error rojo gigante diciendo EPEERINVALID o Engine Incompatible.
Esto ocurre porque el nodo que intentas instalar requiere una versión de Node.js muy nueva (v20) o muy vieja (v12), y tú tienes otra diferente. Node-RED protege tu sistema impidiendo la instalación para no romper el arranque.
¿Cómo solucionarlo?
- Actualiza tu base: Si usas Docker, actualiza la imagen (
docker pull nodered/node-red:latest). A menudo, tener un Node.js obsoleto es la causa. - Fuerza la instalación (Bajo tu riesgo): Solo vía terminal, puedes intentar ignorar las advertencias, aunque no garantizamos que funcione:
npm install node-red-contrib-nombre-paquete --force
Paleta Imprescindible 1: Integración «Companion» (Home Assistant / Móvil)
Si Node-RED es el cerebro y tu móvil es el mando a distancia, esta paleta es el sistema nervioso que los une. Aunque muchos la llaman «la integración de Home Assistant», técnicamente nos referimos a node-red-contrib-home-assistant-websocket.
Es la paleta que te permite leer sensores, ejecutar escenas y, lo más divertido, interactuar con la Home Assistant Companion App de tu móvil para enviar notificaciones con botones y recibir geolocalización.
Instalación de node-red-contrib-home-assistant-websocket
Es vital instalar la versión correcta. Hay muchas imitaciones antiguas que ya no funcionan.
- Abre el Palette Manager.
- Busca exactamente:
node-red-contrib-home-assistant-websocket. - Verás que el autor es Zachowj (este es el mantenido por la comunidad oficial).
- Instálala. Verás aparecer una categoría nueva en tu barra lateral de color azul llamada «Home Assistant».
Configuración del Servidor y Webhooks
Antes de arrastrar nodos, hay que hacer el «apretón de manos» entre Node-RED y HA.
- Si usas el Add-on (HA OS): Es automático. Arrastra cualquier nodo azul (ej:
events: state), edítalo y verás que en «Server» ya aparece una opción preconfigurada. Márcala y listo. - Si usas Docker / Proxmox: Necesitas generar un token.
- En Home Assistant, ve a tu Perfil (abajo a la izquierda) > Tokens de acceso de larga duración > Crear Token.
- Copia ese código kilométrico.
- En Node-RED, edita un nodo azul, añade un nuevo Server.
- Base URL:
http://tu-ip-home-assistant:8123 - Access Token: Pega el código.
Nodos de Sensores del Dispositivo
Gracias a la App Companion instalada en tu móvil, tu teléfono es un sensor con patas. Node-RED puede reaccionar a lo que le pasa a tu móvil.
Lectura de batería, ubicación y estado del teléfono
La App móvil crea entidades en Home Assistant (ej: sensor.mi_iphone_battery_level o sensor.mi_pixel_geocoded_location). En Node-RED usamos el nodo events: state o current state para leerlas.
Ejemplo práctico: Aviso de batería baja inteligente
- Nodo events: state escuchando
sensor.mi_movil_battery_level. - Nodo Switch: «Si el valor es menor (<) de 20».
- Nodo Current State: Comprueba
sensor.mi_movil_battery_statepara ver si está «Not Charging». - Resultado: Alexa te avisa solo si te queda poca batería Y no lo has puesto a cargar.
Nodos de Notificación
Enviar mensajes es fácil. Hacer que el usuario pueda responder desde la notificación es el siguiente nivel.
Envío de notificaciones simples y con datos adjuntos
Usamos el nodo call service (Llamar servicio).
- Domain:
notify - Service:
mobile_app_mi_movil(o el nombre de tu dispositivo). - Data (JSON): Aquí definimos el mensaje.
{
"title": "Lavadora terminada",
"message": "La ropa está lista para tender.",
"data": {
"image": "https://mi-camara.com/snapshot.jpg", // Adjuntar foto
"ttl": 0,
"priority": "high"
}
}
Creación de notificaciones accionables (Actionable Notifications)
Esto permite poner botones en la notificación (ej: «Abrir Garaje» / «Ignorar»). Requiere un flujo de ida y vuelta.
Paso 1: Enviar la notificación con botones (Nodo call service)
{
"message": "Te has dejado el garaje abierto. ¿Lo cierro?",
"data": {
"actions": [
{
"action": "CERRAR_GARAJE", // Este es el ID del evento
"title": "Sí, cierra"
},
{
"action": "IGNORAR",
"title": "No, déjalo"
}
]
}
}
Paso 2: Capturar la respuesta (Nodo events: all)
Cuando pulsas el botón en el móvil, Home Assistant emite un evento invisible. Node-RED debe cazarlo.
- Coloca un nodo events: all.
- En «Event Type» escribe:
mobile_app_notification_action. - Conecta un nodo Switch que mire
msg.payload.event.action. - Crea una salida para cuando sea
CERRAR_GARAJEy conéctala a la acción de cerrar la puerta.
🚀 Automatización Interactiva
Las notificaciones accionables son la mejor forma de evitar la «fatiga de alertas». En lugar de que la casa haga cosas sola y te moleste si se equivoca, la casa te pregunta educadamente: «Parece que no hay nadie, ¿apago la calefacción?». Tú tienes la última palabra.
Paleta Imprescindible 2: Gestión del Tiempo con time-range
La regla de oro de la domótica es: «Las luces solo deben encenderse si es necesario». Un sensor de movimiento que enciende la luz del baño a las 12 de la mañana a pleno sol no es inteligente, es un desperdicio.
Para solucionar esto, necesitamos una forma de filtrar acciones basándonos en el reloj. La paleta node-red-contrib-time-range es la herramienta estándar para esto. Es sencilla, ligera y maneja la posición del sol automáticamente.
¿Por qué usar node-red-contrib-time-range en lugar de nodos nativos?
Podrías pensar: «Pero si Home Assistant ya sabe si es de día…». Sí, pero importar ese estado a Node-RED y crear condicionales «Switch» cada vez que quieres comprobar la hora es tedioso y ensucia el flujo.
El nodo nativo de Node-RED (Inject) permite lanzar cosas a una hora, pero no permite filtrar cosas que pasan a una hora aleatoria (como tu movimiento). time-range actúa como un portero de discoteca: se coloca en medio de un cable y decide: «¿Es la hora correcta? Pasa. ¿No? Te quedas fuera».
Configuración de Coordenadas para Eventos Solares
Para que Node-RED sepa cuándo anochece en tu casa (que no es lo mismo en Madrid que en Buenos Aires), necesita saber dónde vives.
- Arrastra un nodo
time-rangeal lienzo. - Haz doble clic. Verás una opción llamada «Latitude & Longitude».
- Pulsa el icono del lápiz (✏️) para editar la configuración global.
- Introduce tus coordenadas decimales.
🌍 Truco: Google Maps es tu amigo
No necesitas ser un cartógrafo. Abre Google Maps, haz clic derecho sobre tu casa y selecciona la primera opción (los numeritos). Esas son tu Latitud y Longitud. Cópialas y pégalas en Node-RED. Sin esto, la función «Sunset/Sunrise» fallará.
El nodo Time Range (Rango de Tiempo)
Este es el nodo estrella. Su funcionamiento es binario: define una ventana de tiempo (Inicio y Fin).
Configuración de hora fija vs. hora solar (Amanecer/Atardecer)
Dentro del nodo tienes dos formas de definir los límites:
- Hora Fija (24h): «De 22:00 a 06:00». Útil para modos de silencio o modos nocturnos estrictos.
- Eventos Solares (Sun Event): Aquí está la magia. Puedes seleccionar «Sunset» (Puesta de sol) o «Sunrise» (Amanecer).
El poder del Offset (Desplazamiento):
A veces, «Sunset» es demasiado pronto (aún hay claridad). El nodo permite añadir un Offset en minutos.
Ejemplo: «Desde Sunset + 30 minutos» (30 minutos después de que se ponga el sol, cuando ya está oscuro de verdad).
Lógica de enrutamiento: Salidas «Dentro» y «Fuera» del rango
Fíjate bien: este nodo tiene dos salidas (dos cuadraditos grises a la derecha).
- Salida 1 (Arriba): Se activa si la hora actual está DENTRO del rango.
- Salida 2 (Abajo): Se activa si la hora actual está FUERA del rango.
Ejemplo práctico: Sensor de Pasillo
Cablea tu sensor de movimiento a la entrada del time-range.
→ Salida 1: Conéctala al nodo «Encender Luz» (Es de noche, enciende).
→ Salida 2: Déjala vacía o conéctala a un nodo de depuración (Es de día, no hagas nada).
El nodo Time of Day (Momento del día)
Aunque a veces se confunden, en algunas versiones de la paleta (o complementarias como node-red-contrib-time-of-day), existe una variante que no filtra, sino que etiqueta.
Diferencias clave y casos de uso específicos
Mientras que time-range bloquea o deja pasar el mensaje (Filtro), time-of-day suele usarse para generar estados.
- Time Range (Filtro): «¿Puedo encender la luz ahora?» -> SÍ/NO.
- Time of Day (Estado): «¿Qué momento del día es?» -> «Mañana», «Tarde», «Noche».
Usarás time-range en el 90% de tus automatizaciones de luces. Usarás nodos tipo «Day/Night» cuando quieras establecer variables globales para que toda la casa cambie de comportamiento (ej: bajar el volumen de Alexa automáticamente cuando el estado global sea «Noche»).
Paleta Imprescindible 3: Temporizadores Avanzados con stoptimer
Hasta ahora sabemos encender luces y saber si es de noche. Pero, ¿cómo hacemos para que la luz se apague sola después de 5 minutos, pero solo si no hay nadie?
Aquí es donde fallan el 90% de los novatos que intentan usar las herramientas básicas. Necesitamos un temporizador inteligente que se pueda «reiniciar» cada vez que detecte movimiento. Para eso existe node-red-contrib-stoptimer.
Limitaciones del nodo Delay nativo frente a stoptimer
Node-RED trae de serie un nodo llamado Delay. Muchos intentan usarlo para las luces, pero tiene un problema fatal: funciona como una cola de espera.
El problema del Delay:
Si pasas por delante del sensor 3 veces, el nodo Delay recibe 3 mensajes. Esperará 5 minutos y luego enviará la orden de «Apagar» 3 veces seguidas. No «extiende» el tiempo, solo lo pospone. El resultado es que la luz se te apagará en la cara aunque te estés moviendo.
La solución Stoptimer:
El nodo Stoptimer funciona como un microondas. Si le quedan 30 segundos y le das al botón otra vez, vuelve al principio (5 minutos). Si te detecta, reinicia la cuenta atrás. Solo cuando la cuenta llega a cero real, apaga la luz.
Instalación de node-red-contrib-stoptimer (o variantes modernas como stoptimer-var)
La paleta original es legendaria, pero lleva tiempo sin actualizarse. La comunidad ha creado «forks» (copias mejoradas).
- Ve al Palette Manager.
- Te recomendamos buscar e instalar
node-red-contrib-stoptimer-varo simplementestoptimer(la clásica de scots sigue funcionando perfectamente para esto). - Busca el nodo rojo llamado stoptimer en la barra lateral.
Funcionamiento y Lógica del Nodo
Este nodo es especial porque altera el flujo del tiempo. Tiene una entrada y dos salidas.
Configuración del tiempo de espera
Al hacer doble clic, la configuración es minimalista:
- Duration: El número (ej: 5).
- Units: La unidad (Segundos, Minutos, Horas).
Una vez configurado, verás que debajo del nodo aparece un texto de estado. Cuando esté funcionando, verás una cuenta atrás en tiempo real («Running: 4:59»). ¡Es genial para depurar!
Cómo detener el temporizador (Payload STOP)
Esta es su característica homónima. Si en cualquier momento envías un mensaje que contenga exactamente el texto STOP en el msg.payload, el temporizador se cancela inmediatamente y no hace nada (o se va por la segunda salida).
Esto es vital si, por ejemplo, enciendes la luz manualmente con el interruptor de pared y quieres cancelar el auto-apagado.
Manejo de la segunda salida (Salida inmediata vs. Salida temporizada)
El nodo tiene dos «patitas» a la derecha:
- Salida 1 (Arriba): Se dispara SOLO cuando el tiempo se agota (Time’s up). Aquí conectaremos la acción de «Apagar Luz».
- Salida 2 (Abajo): Se dispara si detienes el temporizador manualmente (STOP). Generalmente se deja vacía en automatizaciones sencillas.
Ejemplo Práctico: Automatización de luces por movimiento
Vamos a crear la automatización más demandada de la historia: «Luz de pasillo que se enciende al pasar y se apaga a los 2 minutos si no vuelvo a pasar».
Creación del flujo con reinicio de temporizador
Visualiza el flujo de izquierda a derecha:
- Events: State (Sensor Movimiento): Configurado para detectar «ON».
- Call Service (Encender Luz): Conectado directamente al sensor. Al detectar, enciende al instante.
- Stoptimer (2 Minutos): Conectado TAMBIÉN a la salida del sensor.
- Call Service (Apagar Luz): Conectado a la Salida 1 del Stoptimer.
¿Qué ocurre aquí?
- Entras al pasillo -> El sensor envía «ON».
- La luz se enciende.
- El Stoptimer recibe el «ON» y empieza a contar: 2:00, 1:59…
- A los 30 segundos, te mueves otra vez -> El sensor envía otro «ON».
- El Stoptimer recibe el nuevo «ON» y se reinicia. Vuelve a 2:00.
- Te vas del pasillo. El sensor deja de enviar cosas.
- El Stoptimer llega a 0:00 -> Dispara la Salida 1 -> La luz se apaga.
💡 ¿Y si uso el nodo nativo «Trigger»?
Los usuarios expertos dirán que el nodo nativo Trigger puede hacer esto mismo (tiene una opción de «extend delay if new message arrives»). Es cierto.
Sin embargo, recomendamos Stoptimer para principiantes porque es mucho más visual: ves la cuenta atrás en la pantalla y es más fácil de entender conceptualmente que configurar los modos avanzados del nodo Trigger.
Depuración y Buenas Prácticas
Cuando empieces a conectar cables, te sentirás como un electricista loco. Al principio todo es divertido, pero cuando tengas 50 flujos activos, si no eres ordenado, tu Node-RED se convertirá en un plato de espaguetis incomprensible. Además, las cosas fallarán. Aquí te enseñamos a encontrar el error y a mantener la casa limpia.
Uso del nodo Debug y la barra lateral de mensajes
El nodo Debug (el verde oscuro con forma de bicho) es tu estetoscopio. Es la única forma de ver qué está pasando por dentro de los cables.
Cómo usarlo correctamente:
- Conecta la salida de cualquier nodo (ej: un sensor) a la entrada del nodo Debug.
- Pulsa Deploy.
- Abre la barra lateral derecha y haz clic en el icono del bicho (Debug messages).
- Haz que pase la acción (pasa la mano por el sensor).
Verás aparecer mensajes en tiempo real. Por defecto, solo muestra msg.payload (el dato principal), pero a veces el dato que buscas está escondido.
💡 Truco Pro: Ver el objeto completo
A veces el sensor no envía el dato en msg.payload, sino en msg.data.attributes.battery. Para encontrarlo, abre el nodo Debug y cambia la configuración de «msg.payload» a «complete msg object». Ahora verás toda la estructura JSON y podrás buscar dónde está el tesoro.
Organización visual de flujos (Link In/Out y Grupos)
No cruces los rayos… ni los cables. Si tienes un cable que atraviesa toda la pantalla de izquierda a derecha pasando por encima de otros nodos, estás haciéndolo mal.
1. Grupos (Cajas visuales):
Selecciona varios nodos relacionados (ej: toda la lógica de la calefacción), haz clic derecho y pulsa Group Selection. Esto crea una caja de color alrededor que puedes mover en bloque. Ponle título y color para saber qué hace de un vistazo.
2. Nodos Link (Teletransporte):
Los nodos Link In y Link Out son portales de teletransporte.
Imagina que tienes un nodo de Telegram al final de tu flujo. En lugar de tirar cables desde 20 automatizaciones distintas hasta ese único nodo (creando una telaraña), pon un Link In pegado al nodo de Telegram. Luego, usa nodos Link Out en cada automatización. La información viaja invisiblemente de un punto a otro.
Optimización de recursos en instalaciones limitadas (Rpi Zero)
Node-RED es eficiente, pero si usas hardware modesto (Raspberry Pi 3, Zero o servidores antiguos), debes cuidar la memoria RAM.
- Apaga los Debugs: El nodo Debug consume CPU y memoria del navegador pintando mensajes. Cuando termines de arreglar un flujo, pulsa el botón cuadrado que tiene el nodo Debug a su derecha para desactivarlo. No necesitas borrarlo, solo silenciarlo.
- Cuidado con los Bucles Infinitos: Si creas un flujo que se activa a sí mismo (A activa B, y B activa A), bloquearás el servidor en segundos. Usa siempre nodos RBE (Report by Exception) o retardos para evitar tormentas de mensajes.
- Divide y vencerás: No metas 100 automatizaciones en una sola pestaña (Flow). Usa el botón + arriba para crear pestañas nuevas (ej: «Iluminación», «Clima», «Seguridad»). Node-RED carga igual, pero tu cerebro te lo agradecerá.
Conclusión: Tu caja de herramientas ya no está vacía
Al principio de este artículo, Node-RED era un lienzo en blanco intimidante. Ahora tienes un motor instalado, asegurado con contraseña, optimizado para no perder datos y, lo más importante, equipado con las tres herramientas fundamentales.
Con la integración Companion, el filtro Time Range y el temporizador Stoptimer, tienes el 90% de lo que necesitas para automatizar cualquier casa. El otro 10% es pura imaginación.
🏆 El Consejo Final
No intentes migrar toda tu casa de golpe. Empieza por una automatización sencilla (ej: la luz del pasillo) usando lo que has aprendido hoy. Cometerás errores, crearás bucles y bloquearás alguna luz, pero es parte del proceso. Recuerda: un flujo limpio es un flujo feliz. Usa grupos, pon etiquetas y no cruces los cables.
Preguntas Frecuentes (FAQ)
¿Dónde se guardan mis flujos? ¿Cómo hago backup?
Todos tus flujos se guardan en un único archivo de texto llamado flows.json dentro de tu carpeta /data (o la carpeta mapeada en Docker). Si copias ese archivo a un USB o a Google Drive, tienes una copia de seguridad completa de toda tu inteligencia domótica. Así de simple.
¿Se actualizan las paletas automáticamente?
No. Node-RED no toca tu instalación sin permiso para evitar romper cosas. De vez en cuando, entra en el Palette Manager. Si hay actualizaciones disponibles para tus nodos instalados, verás un botón pequeño de «Update». Hazlo con precaución y siempre ten un backup antes.
Mi móvil no aparece en los nodos de Home Assistant, ¿por qué?
Asegúrate de haber abierto la App de Home Assistant en tu móvil al menos una vez y de haberle dado permisos de ubicación y notificaciones. Además, en Node-RED, asegúrate de que el servidor (Server) esté configurado correctamente con el token de acceso. A veces un simple reinicio del nodo «Server» (o de Node-RED) hace que aparezcan las entidades nuevas.
¿Puedo tener varios flujos separados para organizar mi casa?
¡Por supuesto! De hecho, es obligatorio para no volverse loco. En la parte superior del editor hay un botón «+». Úsalo para crear pestañas nuevas (ej: «Salón», «Cocina», «Seguridad»). Todos los flujos corren a la vez, las pestañas son solo para tu organización visual.
¿Te ha sido útil? ¡Compártelo con otros!
Únete a la Comunidad
Síguenos en nuestras redes para ver tutoriales en vídeo, ideas de decoración y trucos rápidos para tu hogar inteligente.