Node-RED vs Home Assistant es un debate habitual para cualquiera que automatice una casa, un laboratorio o un pequeño edificio, y la respuesta honesta es que resuelven problemas que se solapan pero son distintos. Esta guía compara cómo construye cada uno las automatizaciones, cómo gestionan MQTT y en qué destaca cada uno, y después muestra cómo ejecutar ambos en paralelo sobre un mismo broker MQTT para que no tengas que elegir.
Dos herramientas distintas que se solapan
Home Assistant es una plataforma de domótica. Su idea central es la entidad: una luz, un sensor, un interruptor o un equipo de climatización con un estado y unos atributos. Cientos de integraciones convierten dispositivos de fabricantes y servicios en la nube en entidades, y el panel, el historial, las vistas de energía y los asistentes de voz trabajan todos sobre esas entidades. Las automatizaciones son una función entre muchas.
Node-RED es una herramienta de programación basada en flujos y de propósito general, de la OpenJS Foundation. No tiene el concepto de casa, habitación ni entidad. Tiene mensajes que circulan entre nodos: MQTT, HTTP, bases de datos, archivos, puertos serie, protocolos industriales y miles de nodos de la comunidad. Automatizar es lo que hace, y lo hace igual de bien para fábricas e integraciones en la nube que para salones.
Así que la comparación es menos "cuál es mejor" y más "qué modelo mental encaja con esta automatización concreta".
Node-RED vs Home Assistant de un vistazo
| Aspecto | Home Assistant | Node-RED |
|---|---|---|
| Propósito principal | Plataforma de domótica con interfaz, historial e integraciones | Integración y automatización generales basadas en flujos |
| Modelo de automatización | Disparadores, condiciones y acciones sobre entidades | Mensajes que pasan por nodos conectados |
| Edición | Editor visual de automatizaciones, YAML, blueprints, scripts | Editor visual de flujos más nodos function en JavaScript |
| MQTT | Integración MQTT integrada con descubrimiento de dispositivos | Nodos mqtt in y mqtt out integrados, cualquier estructura de topics |
| Soporte de dispositivos | Conjunto muy amplio de integraciones de consumo | Nodos a nivel de protocolo; los dispositivos son lo que tú conectes |
| Estado e historial | Integrados para cada entidad | Añades tú el contexto, las bases de datos o los paneles |
| Lógica compleja | Plantillas y scripts, pueden volverse difíciles de leer | Nodos function, subflujos, bucles y transformaciones de datos |
| Uso fuera del hogar | Posible pero incómodo | Habitual en integración industrial y de TI |
| Depuración | Las trazas de automatización muestran cada ejecución paso a paso | Barra lateral de depuración, estado de los nodos e inspección de mensajes |
| Instalación típica | Home Assistant OS en una Pi o mini PC, o contenedor | npm, Docker o como complemento de Home Assistant |
Cómo construye cada enfoque una automatización
Tomemos una regla sencilla: cuando la temperatura del invernadero supere los 30 grados, enciende el ventilador.
En Home Assistant
Primero, el sensor y el ventilador MQTT se convierten en entidades. Con la integración MQTT configurada, puedes declararlos en configuration.yaml:
mqtt:
sensor:
- name: "Greenhouse temperature"
unique_id: greenhouse_temperature
state_topic: "connectmq/demo/ha5k2m/greenhouse/temperature"
unit_of_measurement: "°C"
device_class: temperature
switch:
- name: "Greenhouse fan"
unique_id: greenhouse_fan
command_topic: "connectmq/demo/ha5k2m/greenhouse/fan/set"
state_topic: "connectmq/demo/ha5k2m/greenhouse/fan/state"
payload_on: "ON"
payload_off: "OFF"
Después, la automatización trabaja sobre entidades, no sobre topics:
automation:
- alias: "Greenhouse fan on when hot"
triggers:
- trigger: numeric_state
entity_id: sensor.greenhouse_temperature
above: 30
for: "00:02:00"
actions:
- action: switch.turn_on
target:
entity_id: switch.greenhouse_fan
La cláusula for, el gráfico histórico del sensor y la traza de cada ejecución de la automatización vienen incluidos. Puedes construir lo mismo en el editor visual sin tocar YAML.
En Node-RED
Node-RED trabaja directamente sobre topics y mensajes. Un nodo mqtt in se suscribe al topic de temperatura, un nodo function aplica la regla y un nodo mqtt out publica el comando:
// Turn the fan on above 30, off below 27, only on change
const t = Number(msg.payload);
if (isNaN(t)) return null;
const fanOn = context.get("fanOn") || false;
if (!fanOn && t > 30) {
context.set("fanOn", true);
return { topic: "connectmq/demo/ha5k2m/greenhouse/fan/set", payload: "ON" };
}
if (fanOn && t < 27) {
context.set("fanOn", false);
return { topic: "connectmq/demo/ha5k2m/greenhouse/fan/set", payload: "OFF" };
}
return null;
No hay registro de entidades, ni historial, ni panel a menos que los añadas. A cambio, obtienes control total: histéresis en tres líneas, acceso sencillo a cualquier protocolo y transformaciones que serían incómodas en plantillas YAML.
Dónde gana Home Assistant
- Dispositivos de consumo. Si un producto tiene integración con Home Assistant, obtienes sus entidades, estados y controles casi sin esfuerzo.
- Una interfaz orientada al hogar. Paneles, app móvil, detección de presencia, vistas de energía y control por voz vienen integrados.
- Automatizaciones legibles para reglas sencillas. Disparador, condición y acción es fácil de entender y editar para otras personas de la casa.
- Trazas de automatización. Ver por qué una regla se disparó o no es excelente para depurar las automatizaciones del día a día.
Dónde gana Node-RED
- Lógica compleja y transformación de datos. Las máquinas de estados, la agregación, la limitación de frecuencia y las transformaciones JSON son naturales en los nodos function.
- Protocolos y sistemas más allá del hogar. Modbus, OPC UA, bases de datos, APIs HTTP y correo electrónico están a una instalación de paleta. Consulta nuestras guías de Node-RED con MySQL y de endpoints HTTP en Node-RED.
- Trabajo con MQTT en bruto. Cualquier estructura de topics, suscripciones con comodines, mensajes retenidos y propiedades de MQTT 5, sin tener que modelar antes cada dispositivo como una entidad.
- Reutilización fuera de casa. Las mismas habilidades sirven para un taller, una finca agrícola o una línea de fábrica.
Ejecutar ambos en un mismo broker MQTT
No tienes por qué elegir uno. Muchas instalaciones usan Home Assistant para los dispositivos y la interfaz de usuario, y Node-RED para la lógica más pesada y las integraciones. MQTT es el pegamento más limpio entre ambos, porque los dos son clientes MQTT normales del mismo broker.
Sensors / ESP32 / Zigbee2MQTT ──┐
├──> MQTT broker <──> Home Assistant (entities, UI, simple automations)
Node-RED (logic, integrations) ─┘ <──> Node-RED (complex flows, databases, APIs)
Unas pocas reglas mantienen esta disposición bajo control:
- Un único responsable por decisión. Decide si el ventilador del invernadero lo controla Home Assistant o Node-RED, nunca ambos. Dos automatizaciones peleando por un mismo topic de comandos es la causa más común de los fallos del tipo "la luz se vuelve a encender sola".
- Ramas de topics separadas. Los dispositivos publican el estado bajo
.../<device>/statey aceptan comandos bajo.../<device>/set. Node-RED publica los datos derivados en su propia rama, como.../computed/..., que Home Assistant puede leer como sensores adicionales. - Client IDs únicos. Cada instancia de Home Assistant, cada instancia de Node-RED y cada dispositivo necesitan su propio client ID. Los IDs duplicados hacen que el broker desconecte la sesión más antigua, lo que se manifiesta como conexiones que se caen y vuelven cada pocos segundos.
- Estado retenido, comandos no retenidos. Retén los topics de estado para que un Home Assistant reiniciado vea los valores actuales; no retengas los comandos, o un ventilador podría volver a encenderse tras cada reconexión.
- Cuenta tus conexiones. Home Assistant, Node-RED, Zigbee2MQTT y una docena de placas ESP32 suman. El plan gratuito Serverless de ConnectMQ permite hasta 25 conexiones, lo que cubre la mayoría de los hogares; las instalaciones más grandes pasan a un plan de pago.
También puedes conectar Node-RED a la propia API de Home Assistant con los nodos node-red-contrib-home-assistant-websocket, que es como funciona el popular complemento de Node-RED. Eso da a Node-RED acceso a todas las entidades de Home Assistant, incluidas las que no son MQTT. El enfoque MQTT es más fácil de razonar cuando tus dispositivos ya hablan MQTT, y mantiene ambas herramientas independientes: cualquiera de ellas puede reiniciarse o sustituirse sin romper la otra.
Apuntar ambos al mismo broker
Para experimentar, ambas herramientas pueden usar el servidor MQTT público gratuito en broker.connectmq.com, puerto 1883, con un prefijo único como connectmq/demo/ha5k2m; está pensado para pruebas, no para datos reales. Para una casa real, usa credenciales privadas sobre TLS. En Home Assistant, configura la integración MQTT en Settings → Devices and services, introduciendo el host del broker, el puerto 8883, YOUR_USERNAME y YOUR_PASSWORD, y activando TLS en las opciones avanzadas. En Node-RED, configura el mismo host y puerto en el nodo de configuración mqtt-broker con TLS activado y un client ID diferente. El tutorial de Node-RED y MQTT explica el nodo de configuración, y la comparativa Node-RED vs n8n merece la pena si también estás valorando una herramienta de workflows para servicios en la nube.
¿Por qué usar un broker en la nube en lugar del broker del complemento?
Home Assistant OS ofrece un complemento local de Mosquitto y, para una sola casa con todo en la misma red, es perfectamente razonable. Un broker MQTT en la nube resulta atractivo cuando los dispositivos están en varios lugares (una casa de vacaciones, un invernadero en otra parcela, el piso de un familiar), cuando quieres reiniciar o reconstruir el equipo de Home Assistant sin tumbar la capa de mensajería, o cuando prefieres no abrir puertos en tu router. Un broker MQTT gestionado como ConnectMQ es accesible desde cualquier lugar mediante TLS, y su portal incluye un explorador de topics en vivo y reglas de alerta por umbral, muy útiles para comprobar lo que Home Assistant y Node-RED están publicando realmente. Nuestra guía sobre cómo elegir un broker MQTT para IoT repasa las ventajas y desventajas.
Recomendación
- Empieza con Home Assistant si tu objetivo es una casa inteligente con dispositivos de consumo en su mayoría, una interfaz cómoda para toda la familia y reglas sencillas.
- Empieza con Node-RED si tus automatizaciones implican lógica pesada, protocolos poco habituales, bases de datos o equipos que no son domésticos.
- Usa ambos, conectados a través de un mismo broker MQTT, en cuanto tus automatizaciones de Home Assistant empiecen a necesitar plantillas dentro de plantillas. Deja que cada herramienta se encargue de las decisiones que mejor se le dan.
Conecta Home Assistant y Node-RED a ConnectMQ
Crea un broker Serverless gratuito en app.connectmq.com, sin tarjeta de crédito, copia el usuario, la contraseña y el client ID generados y apunta tanto Home Assistant como Node-RED a él mediante TLS en el puerto 8883. Da a cada herramienta sus propias credenciales o su propio client ID, y tendrás una columna vertebral de mensajería compartida que no depende de ningún equipo concreto de tu casa.
Preguntas frecuentes
¿Es Node-RED mejor que las automatizaciones de Home Assistant?
Ninguno es estrictamente mejor. Las automatizaciones de Home Assistant son más sencillas para reglas simples basadas en entidades e incluyen trazas e historial, mientras que Node-RED maneja con más comodidad la lógica compleja, la transformación de datos y los protocolos no domésticos.
¿Pueden Home Assistant y Node-RED usar el mismo broker MQTT?
Sí. Ambos son clientes MQTT estándar. Da a cada uno un client ID único, acordad las ramas de topics para estado y comandos, y asegúrate de que solo uno de ellos controla cada dispositivo.
¿Necesito el complemento de Node-RED para usar Node-RED con Home Assistant?
No. El complemento es cómodo en Home Assistant OS, pero Node-RED puede ejecutarse en cualquier sitio y comunicarse con Home Assistant a través de un broker MQTT compartido o de los nodos websocket de Home Assistant.
¿Cuántas conexiones MQTT necesita una casa inteligente típica?
Una por dispositivo o gateway, más una para Home Assistant, otra para Node-RED y otra para cada puente como Zigbee2MQTT. Muchas casas caben en las 25 conexiones del plan gratuito Serverless de ConnectMQ.



