C.A.F.E. en Home Assistant: automatizaciones al estilo de Node-RED… sin Node-RED

C.A.F.E. (Editor de Flujo de Automatización Compleja) es una integración que añade a Home Assistant un editor visual «en flujo», un poco en el espíritu de Node-RED, pero con una diferencia importante: C.A.F.E. no es un motor de ejecución. Home Assistant sigue siendo el único que ejecuta tus automatizaciones. C.A.F.E. se limita a transformar tu esquema visual en YAML 100% conforme y almacenado directamente en el sistema Home Assistant.

En claro, dibujas la lógica con bloques conectados por flechas, luego guardas… y Home Assistant ejecuta como siempre. No hay contenedor Docker que añadir, no hay base de datos que mantener, no hay complemento que se convierta en el eslabón débil, como sucede con Node-Red. Esta es exactamente la promesa de «cero sobrecarga» presentada por el proyecto.

Por qué es interesante para Home Assistant

Si te gusta el YAML, ya sabes por qué: es robusto, nativo, predecible… pero tan pronto como una automatización crece, rápidamente te encuentras con una pared de texto. C.A.F.E. apunta precisamente a ese momento en que «se convierte en un plato de espaguetis». Sabe leer una automatización existente y reconstruir un mapa visual, lo que es muy práctico para auditar, comprender, rehacer.

Si vienes de Node-RED, el lado reconfortante está en otro lugar: recuperas una lógica en nodos, pero sin mover la ejecución fuera de Home Assistant. C.A.F.E. cambia la interfaz, no el motor, y puedes volver al editor nativo en cualquier momento.

También hay dos “bonos” que le hablan a mucha gente:

  • C.A.F.E. maneja mejor la noción de variables del lado de la interfaz visual, mientras que el editor visual nativo de Home Assistant a menudo obliga a meter las manos en el YAML para este tipo de cosas.
  • C.A.F.E. se integra con la traza de Home Assistant: el objetivo es mantener la depuración en las herramientas oficiales, sin inventar un universo paralelo.

El “truco” inteligente: sin bloqueo, sin formato exótico

Probablemente este es el argumento más tranquilizador: si desinstalas C.A.F.E., tus automatizaciones siguen funcionando. Principalmente pierdes el diseño visual (posiciones de los bloques), no la lógica, ya que sigue siendo YAML estándar.

Y para conservar este diseño, C.A.F.E. almacena metadatos (posiciones de los nodos, etc.) en un objeto «inoffensivo» dentro del bloque variables de la automatización. Puedes modificar una automatización en Home Assistant y luego volver a abrirla en C.A.F.E.: ambos editan la misma fuente.

Instalación de C.A.F.E. en Home Assistant (vía HACS)

El método recomendado pasa por HACS, con la adición del repositorio personalizado. El README oficial proporciona el procedimiento a seguir: en HACS, sección Integraciones, menú de los tres puntos, “Repositorios personalizados”, luego añadir https://github.com/FezVrasta/cafe-hass como integración.

Después, encontraremos C.A.F.E. en HACS y lo instalamos (descargamos).

Reinicia Home Assistant, luego añade la integración C.A.F.E. a través de Configuración → Dispositivos y servicios → Añadir una integración.

Una vez listo, C.A.F.E. aparece en la barra lateral de Home Assistant en forma de panel. No es un «dashboard» Lovelace, es realmente una entrada en la sidebar.

¿Quieres probar sin instalar?

Es posible probar C.A.F.E. sin instalar nada, a través de una interfaz web, siempre que tengas acceso remoto a Home Assistant.

En la práctica, ten en cuenta que exponer Home Assistant en Internet se debe hacer correctamente (Nabu Casa, reverse proxy, autenticación, etc.). Es factible, pero se evita el modo «yolo» cuando se trata de domótica.

Si no deseas dar acceso a tu Home Assistant (lo cual es totalmente comprensible), he instalado C.A.F.E. en el servidor de pruebas de Home Assistant que he puesto a tu disposición desde hace unas semanas, lo que te permitirá probar en condiciones sin romper nada en tu casa ni necesidad de dar acceso remoto ;-)

Primeros pasos: cómo se usa en el día a día

Una vez dentro de C.A.F.E., la interfaz es muy “editor de flujo”: una paleta de nodos a la izquierda (disparadores, condiciones, acciones, retardos, esperas…), un gran lienzo central donde se colocan los bloques, y un panel de propiedades a la derecha para configurar cada nodo. Puedes hacer zoom, desplazarte e incluso usar un mini-mapa para navegar por las automatizaciones complejas.

El escenario típico se ve así: pones un disparador (por ejemplo, “movimiento detectado”), añades una condición (por ejemplo, “está oscuro”), luego una acción (por ejemplo, “encender la lámpara del pasillo”), y conectas todo. Luego, abres cada nodo para seleccionar entidades y servicios. C.A.F.E. se apoya en la inteligencia de las entidades de Home Assistant (autocompletado, conocimiento de estados a través de API) para evitar tener que teclear identificadores a mano.

Punto muy práctico: puedes abrir una automatización existente, verla «colocarse» en el lienzo, mover los bloques para ver mejor, modificar y luego guardar en Home Assistant. Editas, guardas, y recuperas la automatización en el editor nativo, ¡con un YAML enriquecido por los metadatos de presentación!

Importar, exportar, depurar

C.A.F.E. sabe importar una automatización existente y también puede importar YAML o JSON, luego exportar un flujo en JSON. Esto es útil para compartir un “esquema” o archivar una versión antes de rediseñar una lógica algo complicada.

En cuanto a la depuración, la idea es simple: mantener una lectura clara de la ejecución. Hay un modo de depuración con indicador de «paso a paso» y opciones para simular los resultados de las condiciones, con el fin de visualizar el camino tomado en la automatización.
Y en cuanto al proyecto, la integración con la Vista de Trazas de Home Assistant es uno de los puntos fuertes anunciados: te mantienes en las herramientas oficiales para analizar lo que ha sucedido.

Ejemplos concretos donde C.A.F.E. realmente marca la diferencia

Toma una automatización de “luces de la tarde” un poco realista. Disparo: justo antes de la puesta de sol. Condición: únicamente si estamos antes de cierta hora (de lo contrario, es demasiado tarde, innecesario). Acción: encender ciertas lámparas, pero con un brillo diferente según una ventana horaria. En YAML, a menudo terminas con “choose” anidados y condiciones cruzadas. En C.A.F.E., este tipo de lógica se convierte en un mapa de carreteras: vemos las bifurcaciones, vemos los caminos, respiramos. Y este es exactamente el tipo de ejemplo mostrado en la transcripción.

Otro caso muy ilustrativo: los escenarios con variables. Ejemplo muy simple: llamas a un script que devuelve una información (temperatura, tarifa, estado sintetizado), almacenas la respuesta en una variable, luego reutilizas esta variable en acciones siguientes a través de plantillas Jinja. El README explica el mecanismo de “respuestas de script” (response_variable) y el uso en Jinja {{ variable.champ }} en los nodos siguientes.

Y para los instaladores o usuarios avanzados: en cuanto hablamos de bucles, retrocesos, lógicas no lineales, C.A.F.E. anuncia una compilación “optimizadora” que puede generar una estructura de tipo “máquina de estados” cuando sea necesario, manteniéndose 100% compatible con Home Assistant.

Límites y precauciones (porque sí, es una beta)

El proyecto se presenta como «no destructivo», pero sigue en beta, con correcciones frecuentes. Primera regla: haz una copia de seguridad de tus automatizaciones antes de modificar cosas importantes.

Segunda regla: en una automatización crítica (alarma, calefacción, seguridad), ve paso a paso. Prueba primero con una automatización simple, compara el YAML antes/después, verifica la traza, y luego aumenta en complejidad. Es un poco la metodología de «no renovamos una casa rompiendo todas las paredes de una vez» (¡y tu futura tranquilidad te lo agradecerá!).

Tercera regla: acepta la idea de que el auto-layout y la reconstrucción visual no serán perfectos al 100% en YAML muy artesanal. El proyecto lo reconoce: la importación de YAML manual complejo puede tener asperezas.

¿Deberías adoptarlo ahora?

Si te sientes cómodo con el editor nativo y tus automatizaciones permanecen simples, C.A.F.E. no es “obligatorio”. Sin embargo, si tienes escenarios que se desvían en todas direcciones, si odias leer YAML largo como un día sin Wi-Fi, o si te gusta la comodidad visual de Node-RED pero no quieres un segundo motor, C.A.F.E. marca muchas casillas: visual, nativo, sin sobrecarga, y sin trampa a largo plazo, ya que seguimos con automatizaciones estándar de Home Assistant. Aquí, de todos modos, ¡está adoptado!

Para tu información, este artículo puede contener enlaces de afiliación, sin que ello repercuta en lo que tú mismo ganas o en el precio que puedes pagar por el producto. Pasar por este enlace te permite agradecerme el trabajo que hago en el blog cada día, y ayudar a cubrir los gastos del sitio (alojamiento, gastos de envío para los concursos, etc.). No le cuesta nada, ¡pero me ayuda mucho! Así que gracias a todos los que me siguen el juego.
¿Qué opina de este artículo? Déjenos sus comentarios.
Por favor, sea cortés: ¡un hola y un gracias no cuestan nada! Estamos aquí para mantener debates constructivos. Los trolls serán eliminados.

Deje una respuesta

cuatro × 4 =

Maison et Domotique
Logo
Comparar artículos
  • Casques Audio (0)
  • Sondes de Piscine Connectées (0)
  • Smartphones (0)
Comparar