Node-RED vs Home Assistant é um debate comum para quem automatiza uma casa, um laboratório ou um pequeno prédio, e a resposta honesta é que eles resolvem problemas que se sobrepõem, mas são diferentes. Este guia compara como cada um monta automações, como lida com MQTT e onde cada um se destaca, e depois mostra como rodar os dois lado a lado em um único broker MQTT, para que você não precise escolher.
Duas ferramentas diferentes que se sobrepõem
O Home Assistant é uma plataforma de automação residencial. A ideia central dele é a entidade: uma lâmpada, um sensor, um interruptor ou um dispositivo de climatização, com um estado e atributos. Centenas de integrações transformam dispositivos de fabricantes e serviços na nuvem em entidades, e o dashboard, o histórico, as visões de energia e os assistentes de voz funcionam todos sobre essas entidades. As automações são um recurso entre muitos.
O Node-RED é uma ferramenta de programação baseada em fluxos, de uso geral, da OpenJS Foundation. Ele não tem o conceito de casa, cômodo ou entidade. Ele tem mensagens fluindo entre nós: MQTT, HTTP, bancos de dados, arquivos, portas seriais, protocolos industriais e milhares de nós da comunidade. Automação é o que ele faz, e ele faz isso para fábricas e integrações na nuvem com a mesma facilidade que para salas de estar.
Então a comparação é menos "qual é melhor" e mais "qual modelo mental combina com esta automação específica".
Node-RED vs Home Assistant em resumo
| Aspecto | Home Assistant | Node-RED |
|---|---|---|
| Finalidade principal | Plataforma de automação residencial com UI, histórico e integrações | Integração e automação de uso geral baseadas em fluxos |
| Modelo de automação | Gatilhos, condições e ações sobre entidades | Mensagens passando por nós conectados |
| Criação | Editor visual de automações, YAML, blueprints, scripts | Editor visual de fluxos mais nós function em JavaScript |
| MQTT | Integração MQTT nativa com descoberta de dispositivos | Nós mqtt in e mqtt out nativos, qualquer estrutura de topics |
| Suporte a dispositivos | Conjunto muito grande de integrações de consumo | Nós em nível de protocolo; os dispositivos são o que você conectar |
| Estado e histórico | Nativos para toda entidade | Você mesmo adiciona contexto, bancos de dados ou dashboards |
| Lógica complexa | Templates e scripts, podem ficar difíceis de ler | Nós function, subflows, loops e transformações de dados |
| Uso fora de casa | Possível, mas desajeitado | Comum em integração industrial e de TI |
| Depuração | Traces de automação mostram cada execução passo a passo | Barra lateral de debug, status dos nós e inspeção de mensagens |
| Instalação típica | Home Assistant OS em um Pi ou mini PC, ou contêiner | npm, Docker ou como add-on do Home Assistant |
Como cada abordagem monta uma automação
Pegue uma regra simples: quando a temperatura da estufa passar de 30 graus, ligue o ventilador.
No Home Assistant
Primeiro, o sensor e o ventilador MQTT viram entidades. Com a integração MQTT configurada, você pode declará-los em 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"
Depois a automação trabalha sobre entidades, e não 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
A cláusula for, o gráfico de histórico do sensor e o trace de cada execução da automação vêm de graça. Você pode montar a mesma coisa no editor visual sem tocar em YAML.
No Node-RED
O Node-RED trabalha diretamente sobre topics e mensagens. Um nó mqtt in assina o topic de temperatura, um nó function aplica a regra e um nó mqtt out publica o comando:
// Liga o ventilador acima de 30, desliga abaixo de 27, só quando muda
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;
Não há registro de entidades, histórico nem dashboard, a menos que você os adicione. Em troca, você tem controle total: histerese em três linhas, acesso fácil a qualquer protocolo e transformações que seriam desajeitadas em templates YAML.
Onde o Home Assistant vence
- Dispositivos de consumo. Se um produto tem integração com o Home Assistant, você ganha as entidades, os estados e os controles dele quase sem trabalho.
- Uma interface voltada para casa. Dashboards, app para celular, detecção de presença, visões de energia e controle por voz vêm prontos.
- Automações legíveis para regras simples. Gatilho, condição e ação é fácil de entender e editar para as outras pessoas da casa.
- Traces de automação. Ver por que uma regra disparou ou não é excelente para depurar automações do dia a dia.
Onde o Node-RED vence
- Lógica complexa e formatação de dados. Máquinas de estado, agregação, limitação de taxa e transformações de JSON são naturais em nós function.
- Protocolos e sistemas além da casa. Modbus, OPC UA, bancos de dados, APIs HTTP e e-mail estão a uma instalação de paleta de distância. Veja nossos guias de Node-RED com MySQL e de endpoints HTTP no Node-RED.
- Trabalho com MQTT puro. Qualquer estrutura de topics, assinaturas com wildcard, retained messages e propriedades do MQTT 5, sem precisar antes modelar cada dispositivo como entidade.
- Reuso fora de casa. As mesmas habilidades valem para uma oficina, uma fazenda ou uma linha de produção.
Rodando os dois em um único broker MQTT
Você não precisa escolher um só. Muitas instalações usam o Home Assistant para os dispositivos e a interface e o Node-RED para a lógica mais pesada e as integrações. O MQTT é a cola mais limpa entre eles, porque os dois são clientes MQTT comuns do mesmo broker.
Sensors / ESP32 / Zigbee2MQTT ──┐
├──> MQTT broker <──> Home Assistant (entities, UI, simple automations)
Node-RED (logic, integrations) ─┘ <──> Node-RED (complex flows, databases, APIs)
Algumas regras mantêm esse arranjo saudável:
- Um dono por decisão. Decida se o ventilador da estufa é controlado pelo Home Assistant ou pelo Node-RED, nunca pelos dois. Duas automações brigando pelo mesmo topic de comando são a fonte mais comum de bugs do tipo "a luz fica se acendendo sozinha".
- Ramos de topics separados. Os dispositivos publicam o estado em
.../<device>/statee aceitam comandos em.../<device>/set. O Node-RED publica dados derivados em um ramo próprio, como.../computed/..., que o Home Assistant pode ler como sensores adicionais. - Client IDs únicos. Cada instância do Home Assistant, cada instância do Node-RED e cada dispositivo precisa do próprio client ID. IDs duplicados fazem o broker desconectar a sessão mais antiga, o que aparece como conexões que caem e voltam a cada poucos segundos.
- Estado retained, comandos não retained. Use retain nos topics de estado para que um Home Assistant reiniciado veja os valores atuais; não use retain nos comandos, ou um ventilador pode voltar a ligar a cada reconexão.
- Conte suas conexões. Home Assistant, Node-RED, Zigbee2MQTT e uma dúzia de placas ESP32 se somam. O plano Serverless gratuito da ConnectMQ permite até 25 conexões, o que atende à maioria das casas; instalações maiores passam para um plano pago.
Você também pode conectar o Node-RED à própria API do Home Assistant com os nós node-red-contrib-home-assistant-websocket, que é como funciona o popular add-on do Node-RED. Isso dá ao Node-RED acesso a todas as entidades do Home Assistant, inclusive as que não são MQTT. A abordagem via MQTT é mais simples de entender quando os seus dispositivos já são MQTT, e mantém as duas ferramentas independentes: qualquer uma pode ser reiniciada ou substituída sem quebrar a outra.
Apontando os dois para o mesmo broker
Para experimentos, as duas ferramentas podem usar o servidor MQTT público em broker.connectmq.com na porta 1883 com um prefixo único como connectmq/demo/ha5k2m. Para uma casa de verdade, use credenciais privadas via TLS. No Home Assistant, configure a integração MQTT em Settings → Devices and services, informando o host do broker, a porta 8883, YOUR_USERNAME e YOUR_PASSWORD, e ative o TLS nas opções avançadas. No Node-RED, defina o mesmo host e a mesma porta no nó de configuração mqtt-broker com TLS ativado e um client ID diferente. O tutorial Node-RED MQTT cobre o nó de configuração, e vale ler a comparação Node-RED vs n8n se você também está avaliando uma ferramenta de workflows para serviços na nuvem.
Por que usar um broker na nuvem em vez do broker do add-on?
O Home Assistant OS oferece um add-on local do Mosquitto e, para uma única casa com tudo na mesma rede, isso é perfeitamente razoável. Um broker MQTT na nuvem passa a ser atraente quando os dispositivos ficam em vários lugares (uma casa de praia, uma estufa em outro terreno, o apartamento de um parente), quando você quer reiniciar ou reconstruir a máquina do Home Assistant sem derrubar a camada de mensagens, ou quando prefere não abrir portas no roteador. Um broker MQTT gerenciado como a ConnectMQ é acessível de qualquer lugar via TLS, e o portal inclui um explorador de topics ao vivo e regras de alerta por limite, úteis para conferir o que o Home Assistant e o Node-RED estão realmente publicando. Nosso guia de como escolher um broker MQTT para IoT analisa os prós e contras.
Recomendação
- Comece pelo Home Assistant se o seu objetivo é uma casa inteligente com dispositivos majoritariamente de consumo, uma interface amigável para a família e regras diretas.
- Comece pelo Node-RED se as suas automações envolvem lógica pesada, protocolos incomuns, bancos de dados ou equipamentos que não são residenciais.
- Use os dois, conectados por um único broker MQTT, quando as suas automações do Home Assistant começarem a precisar de templates dentro de templates. Deixe cada ferramenta cuidar das decisões em que é melhor.
Conecte Home Assistant e Node-RED à ConnectMQ
Crie um broker Serverless gratuito em app.connectmq.com, sem cartão de crédito, copie o nome de usuário, a senha e o client ID gerados e aponte o Home Assistant e o Node-RED para ele via TLS na porta 8883. Dê a cada ferramenta as próprias credenciais ou o próprio client ID, e você terá uma espinha dorsal de mensagens compartilhada que não depende de nenhuma máquina específica da sua casa.
Perguntas frequentes
O Node-RED é melhor que as automações do Home Assistant?
Nenhum dos dois é estritamente melhor. As automações do Home Assistant são mais fáceis para regras simples baseadas em entidades e vêm com traces e histórico, enquanto o Node-RED lida com mais conforto com lógica complexa, transformação de dados e protocolos que não são residenciais.
O Home Assistant e o Node-RED podem usar o mesmo broker MQTT?
Sim. Os dois são clientes MQTT padrão. Dê a cada um um client ID único, combine ramos de topics para estado e comandos e garanta que apenas um deles controle cada dispositivo.
Preciso do add-on do Node-RED para usar o Node-RED com o Home Assistant?
Não. O add-on é conveniente no Home Assistant OS, mas o Node-RED pode rodar em qualquer lugar e conversar com o Home Assistant por meio de um broker MQTT compartilhado ou dos nós websocket do Home Assistant.
Quantas conexões MQTT uma casa inteligente típica precisa?
Uma por dispositivo ou gateway, mais uma para o Home Assistant, uma para o Node-RED e uma para cada bridge, como o Zigbee2MQTT. Muitas casas cabem nas 25 conexões do plano Serverless gratuito da ConnectMQ.



