C.A.F.E. (Complex Automation Flow Editor) é uma integração que adiciona ao Home Assistant um editor visual “em fluxo”, um pouco no espírito do Node-RED, mas com uma diferença importante: C.A.F.E. não é um mecanismo de execução. O Home Assistant continua sendo o único a executar suas automações. C.A.F.E. apenas transforma seu diagrama visual em YAML 100% compatível e armazenado diretamente no sistema Home Assistant.
Em resumo, você desenha a lógica com blocos conectados por setas, depois salva… e o Home Assistant executa como de costume. Sem contêiner Docker a adicionar, sem banco de dados a manter, sem addon que se torne o ponto fraco, como acontece com o Node-Red. Essa é exatamente a promessa de “zero sobrecarga” destacada pelo projeto.

Por que isso é interessante para o Home Assistant
Se você gosta de YAML, já sabe o porquê: é robusto, nativo, previsível… mas assim que uma automação se torna mais complexa, logo nos deparamos com um muro de texto. C.A.F.E. visa precisamente esse momento em que “tudo se torna um prato de espaguete”. Ele consegue ler uma automação existente e reconstruir um mapa visual, o que é muito prático para auditar, entender e reestruturar.
Se você vem do Node-RED, o aspecto reconfortante está em outro lugar: você encontra uma lógica em nós, mas sem transferir a execução para fora do Home Assistant. C.A.F.E. altera a interface, não o mecanismo, e você pode voltar ao editor nativo a qualquer momento.
Há também dois “bônus” que agradam muita gente:
- C.A.F.E. lida melhor com a noção de variáveis do lado da interface visual, enquanto o editor visual nativo do Home Assistant frequentemente força a mexer no YAML para esse tipo de coisa.
- C.A.F.E. se integra com o histórico do Home Assistant: o objetivo é manter o debug nas ferramentas oficiais, sem inventar um universo paralelo.

O “truque” inteligente: sem bloqueio, sem formato exótico
Esse é provavelmente o argumento mais tranquilizador: se você desinstalar o C.A.F.E., suas automações continuarão funcionando. Você perde principalmente o layout visual (posições dos blocos), não a lógica, uma vez que ela permanece em YAML padrão.
E para manter esse layout, o C.A.F.E. armazena metadados (posições dos nós, etc.) em um objeto “inoffensivo” dentro do bloco variables da automação. Você pode modificar uma automação no Home Assistant e depois reabri-la no C.A.F.E.: os dois editam a mesma fonte.
Instalação do C.A.F.E. no Home Assistant (via HACS)
O método recomendado passa pelo HACS, com a adição do repositório personalizado. O README oficial fornece o passo a passo: no HACS, seção Integrações, menu dos três pontos, “Repositórios personalizados”, em seguida adição de https://github.com/FezVrasta/cafe-hass como uma integração.

Em seguida, você encontrará o C.A.F.E. no HACS e o instalará (baixará).
Reinicie o Home Assistant e então adicione a integração C.A.F.E. através de Configurações → Dispositivos e serviços → Adicionar uma integração.

Uma vez configurado, o C.A.F.E. aparece na barra lateral do Home Assistant como um painel. Não é um “painel” Lovelace, é realmente uma entrada na sidebar.

Você quer testar sem instalar?
É possível experimentar o C.A.F.E. sem nada instalar, através de uma interface web, desde que você tenha acesso remoto ao Home Assistant.

Na prática, tenha em mente que expor o Home Assistant na Internet deve ser feito de forma segura (Nabu Casa, reverse proxy, autenticação, etc.). É viável, mas é melhor evitar o modo “yolo” quando se trata de automação.
Se você não deseja dar acesso ao seu Home Assistant (o que é totalmente compreensível), eu configurei o C.A.F.E. no servidor de testes do Home Assistant que coloquei à sua disposição há algumas semanas, permitindo que você teste em condições sem bagunçar a sua casa nem precisar fornecer acesso remoto ;-)
Introdução: como usamos no dia a dia
Uma vez dentro do C.A.F.E., a interface é muito “editor de fluxo”: uma paleta de nós à esquerda (gatilhos, condições, ações, atrasos, esperas…), um grande canvas central onde você coloca os blocos, e um painel de propriedades à direita para configurar cada nó. Você pode fazer zoom, mover-se e até usar um mini-mapa para navegar em automações complexas.

O cenário típico parece isto: você coloca um gatilho (por exemplo, “movimento detectado”), adiciona uma condição (por exemplo, “está escuro”), depois uma ação (por exemplo, “acender a luz do corredor”), e conecta tudo. Em seguida, você abre cada nó para selecionar entidades e serviços. C.A.F.E. se baseia na inteligência das entidades do lado do Home Assistant (autocompletar, conhecimento dos estados via API) para evitar que você tenha que digitar identificadores manualmente.
Ponto muito prático: você pode abrir uma automação existente, vê-la “posicionada” no canvas, mover os blocos para clareza, modificar e depois salvar no Home Assistant. Você edita, salva e encontra a automação no editor nativo, com YAML enriquecido por metadados de layout!

Importar, exportar, depurar
C.A.F.E. pode importar uma automação existente e também pode importar YAML ou JSON, e depois exportar um fluxo em JSON. Isso é útil para compartilhar um “esquema” ou arquivar uma versão antes de reformular uma lógica um tanto complicada.
No lado do debug, a ideia é simples: manter uma leitura clara da execução. Tem um modo de depuração com indicador de “passo a passo” e opções para simular resultados de condições, a fim de visualizar o caminho tomado na automação.
E no lado do projeto, a integração com a Trace View do Home Assistant é um dos pontos fortes anunciados: você permanece nas ferramentas oficiais para analisar o que aconteceu.
Exemplos concretos onde o C.A.F.E. faz realmente a diferença
Considere uma automação “luzes da noite” um tanto realista. Gatilho: logo antes do pôr do sol. Condição: somente se estiver antes de uma certa hora (caso contrário, muito tarde, desnecessário). Ação: acender certas lâmpadas, mas com uma intensidade diferente dependendo de uma janela de horário. Em YAML, isso frequentemente termina em “escolhas” aninhadas e condições que se cruzam. No C.A.F.E., esse tipo de lógica se torna um mapa rodoviário: você vê as bifurcações, vê os caminhos, respira. E esse é exatamente o tipo de exemplo mostrado na transcrição.
Outro caso muito ilustrativo: cenários com variáveis. Exemplo muito simples: você chama um script que retorna uma informação (temperatura, tarifa, estado sintetizado), armazena a resposta em uma variável e depois reutiliza essa variável em ações subsequentes, por meio de templates Jinja. O README explica o mecanismo das “respostas de script” (response_variable) e o uso em Jinja {{ variable.champ }} nos nós seguintes.

E para os instaladores ou usuários avançados: assim que se fala de loops, retornos, lógicas não lineares, o C.A.F.E. anuncia uma compilação “otimizada” que pode gerar uma estrutura do tipo “máquina de estados” quando necessário, permanecendo 100% compatível com o Home Assistant.
Limitações e precauções (porque sim, é uma beta)
O projeto é apresentado como “não destrutivo”, mas ainda está em beta, com correções frequentes. Primeira regra: faça uma cópia de segurança de suas automações antes de modificar coisas importantes.
Segunda regra: em uma automação crítica (alarme, aquecimento, segurança), avance lentamente. Teste primeiro em uma automação simples, compare o YAML antes/depois, verifique o histórico e depois aumente a complexidade. É um pouco a metodologia de “não reformar uma casa derrubando todas as paredes de uma vez” (e sua futura tranquilidade agradecerá!).
Terceira regra: aceite a ideia de que o auto-layout e a reconstrução visual não serão perfeitos a 100% em YAML muito artesanal. O projeto reconhece isso: a importação de YAML manual complexo pode ter suas imperfeições.
Devo adotá-lo agora?
Se você está confortável com o editor nativo e suas automações permanecem simples, o C.A.F.E. não é “obrigatório”. No entanto, se você tem cenários que se dispersam, se detesta reler YAML longo como um dia sem Wi-Fi, ou se aprecia o conforto visual do Node-RED mas não quer de um segundo mecanismo, o C.A.F.E. atende a muitas necessidades: visual, nativo, sem sobrecarga e sem armadilhas a longo prazo, já que permanecemos em automações padrão do Home Assistant. Aqui, em todo caso, ele foi adotado!




