Node-RED

Automatizaciones con Node-RED vs Home Assistant: cuál usar y cómo ejecutar ambos en un mismo broker MQTT

Home Assistant y Node-RED automatizan dispositivos, pero piensan de forma distinta. Esta comparativa cubre el estilo de automatización, la integración MQTT, la depuración y el mantenimiento, y muestra una forma limpia de ejecutar ambos contra un mismo broker MQTT compartido.

Comparativa Node-RED vs Home Assistant con un editor de flujos y un panel de automatizaciones conectados a un mismo broker MQTT
Pruébalo en tu propio broker MQTTConsigue un broker MQTT privado y gestionado con el plan Free y empieza con ejemplos de código listos para usar.
Pruébalo gratis Ejemplos de código Sin tarjeta

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:

  1. 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".
  2. Ramas de topics separadas. Los dispositivos publican el estado bajo .../<device>/state y 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.
  3. 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.
  4. 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.
  5. 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.

Artículos relacionados

Cliente OPC UA en Node-RED hacia MQTT con topics ISA-95

Usa node-red-contrib-opcua para suscribirte a variables OPC UA de un PLC o de un servidor de simulación, asignar los node IDs a topics MQTT de estilo ISA-95 y publicar los valores con calidad y marcas de tiempo.

10 min de lectura

Node-RED Dashboard 2.0 con MQTT: indicadores, gráficos y controles

Un tutorial práctico de Node-RED Dashboard 2.0: suscríbete a telemetría MQTT en directo, muéstrala en indicadores y en un gráfico de líneas, y controla un dispositivo con un interruptor que publica comandos y refleja el estado real.

9 min de lectura

Todos los artículos →

Tu broker MQTT privado, a unos pocos clics

Crea una cuenta, obtén las credenciales de tu broker y conecta tu primer dispositivo, sin servidores que instalar, parchear ni escalar.