C.A.F.E. dans Home Assistant : des automatisations façon Node-RED… sans Node-RED

C.A.F.E. (Complex Automation Flow Editor) est une intégration qui ajoute à Home Assistant un éditeur visuel “en flux”, un peu dans l’esprit de Node-RED, mais avec une différence majeure : C.A.F.E. n’est pas un moteur d’exécution. Home Assistant reste le seul à exécuter vos automatisations. C.A.F.E. se contente de transformer votre schéma visuel en YAML 100% conforme et stocké directement dans le système Home Assistant.

En clair, vous dessinez la logique avec des blocs reliés par des flèches, puis vous enregistrez… et Home Assistant exécute comme d’habitude. Pas de conteneur Docker à ajouter, pas de base de données à maintenir, pas d’addon qui devient le maillon faible, comme c’est le cas avec Node-Red. C’est exactement la promesse “zéro surcharge” mise en avant par le projet.

Pourquoi c’est intéressant pour Home Assistant

Si vous aimez le YAML, vous savez déjà pourquoi : c’est robuste, natif, prévisible… mais dès qu’une automatisation prend de l’ampleur, on se retrouve vite avec un mur de texte. C.A.F.E. vise précisément ce moment où “ça devient le plat de spaghettis”. Il sait lire une automatisation existante et reconstruire une carte visuelle, ce qui est très pratique pour auditer, comprendre, remettre à plat.

Si vous veniez de Node-RED, le côté rassurant est ailleurs : vous retrouvez une logique en nœuds, mais sans basculer l’exécution hors de Home Assistant. C.A.F.E. change l’interface, pas le moteur, et vous pouvez repasser à l’éditeur natif à tout moment.

Il y a aussi deux “bonus” qui parlent à beaucoup de monde :

  • C.A.F.E. gère mieux la notion de variables côté interface visuelle, alors que l’éditeur visuel natif de Home Assistant force souvent à mettre les mains dans le YAML pour ce genre de choses.
  • C.A.F.E. s’intègre avec la trace Home Assistant : l’objectif est de garder le débogage dans les outils officiels, sans inventer un univers parallèle.

Le “truc” malin : pas de verrouillage, pas de format exotique

C’est probablement l’argument le plus rassurant : si vous désinstallez C.A.F.E., vos automatisations continuent de fonctionner. Vous perdez surtout la mise en page visuelle (positions des blocs), pas la logique, puisqu’elle reste du YAML standard.

Et pour conserver cette mise en page, C.A.F.E. stocke des métadonnées (positions des nœuds, etc.) dans un objet “inoffensif” au sein du bloc variables de l’automatisation. Vous pouvez modifier une automatisation dans Home Assistant, puis la rouvrir dans C.A.F.E. : les deux éditent la même source.

Installation de C.A.F.E. dans Home Assistant (via HACS)

La méthode recommandée passe par HACS, avec ajout du dépôt personnalisé. Le README officiel donne la marche à suivre : dans HACS, section Integrations, menu des trois points, “Dépôts personnalisés”, puis ajout de https://github.com/FezVrasta/cafe-hass en tant qu’intégration.

Ensuite, on retrouve C.A.F.E. dans HACS, et on l’installe (télécharge).

Redémarrage de Home Assistant, puis ajout de l’intégration C.A.F.E. via Paramètres → Appareils et services → Ajouter une intégration.

Une fois en place, C.A.F.E. apparaît dans la barre latérale de Home Assistant sous forme de panneau. Ce n’est pas un “dashboard” Lovelace, c’est bien une entrée dans la sidebar.

Vous voulez tester sans installer ?

Il est possible d’essayer C.A.F.E. sans rien installer, via une interface web, à condition d’avoir un accès distant à Home Assistant.

En pratique, gardez en tête qu’exposer Home Assistant sur Internet se fait proprement (Nabu Casa, reverse proxy, authentification, etc.). C’est faisable, mais on évite le mode “yolo” quand il s’agit de domotique.

Si vous ne souhaitez pas donner accès à votre Home Assistant (ce qui est totalement compréhensible), je vous ai installé C.A.F.E. sur le serveur de tests Home Assistant que je vous ai mis à disposition depuis quelques semaines, ce qui vous permettra de tester en conditions sans tout casser chez vous ni avoir besoin de donner un accès distant ;-)

Prise en main : comment on s’en sert au quotidien

Une fois dans C.A.F.E., l’interface est très “flow editor” : une palette de nœuds à gauche (déclencheurs, conditions, actions, délais, attentes…), un grand canvas central où l’on dépose les blocs, et un panneau de propriétés à droite pour configurer chaque nœud. Vous pouvez zoomer, vous déplacer, et même utiliser une mini-carte pour naviguer dans les automatisations complexes.

Le scénario typique ressemble à ça : vous déposez un déclencheur (par exemple “mouvement détecté”), vous ajoutez une condition (par exemple “il fait nuit”), puis une action (par exemple “allumer la lampe du couloir”), et vous reliez le tout. Ensuite, vous ouvrez chaque nœud pour sélectionner entités et services. C.A.F.E. s’appuie sur l’intelligence des entités côté Home Assistant (auto-complétion, connaissance des états via API) pour éviter de taper des identifiants à la main.

Point très pratique : vous pouvez ouvrir une automatisation existante, la voir se “poser” sur le canvas, bouger les blocs pour y voir clair, modifier, puis enregistrer dans Home Assistant. Vous éditez, vous sauvegardez, et vous retrouvez l’automatisation dans l’éditeur natif, avec du YAML enrichi par les métadonnées de mise en page !

Importer, exporter, déboguer

C.A.F.E. sait importer une automatisation existante et il peut aussi importer du YAML ou du JSON, puis exporter un flow en JSON. C’est utile pour partager un “schéma” ou archiver une version avant de refondre une logique un peu délicate.

Côté debug, l’idée est simple : garder une lecture claire de l’exécution. On retrouve un mode de débogage avec indicateur de “pas à pas” et options pour simuler des résultats de conditions, afin de visualiser le chemin pris dans l’automatisation.
Et côté projet, l’intégration avec la Trace View Home Assistant fait partie des points forts annoncés : vous restez dans les outils officiels pour analyser ce qui s’est passé.

Exemples concrets où C.A.F.E. fait vraiment la différence

Prenez une automatisation “lumières du soir” un peu réaliste. Déclenchement : juste avant le coucher du soleil. Condition : uniquement si on est avant une certaine heure (sinon, trop tard, inutile). Action : allumer certaines lampes, mais avec une luminosité différente selon une fenêtre horaire. En YAML, ça finit souvent en “choose” imbriqués et en conditions qui se croisent. Dans C.A.F.E., ce genre de logique devient une carte routière : on voit les embranchements, on voit les chemins, on respire. Et c’est exactement le type d’exemple montré dans la transcription.

Autre cas très parlant : les scénarios avec variables. Exemple tout bête : vous appelez un script qui renvoie une info (température, tarif, état synthétisé), vous stockez la réponse dans une variable, puis vous réutilisez cette variable dans des actions suivantes, via des templates Jinja. Le README explique le mécanisme des “script responses” (response_variable) et l’usage en Jinja {{ variable.champ }} dans les nœuds suivants.

Et pour les installateurs ou les utilisateurs avancés : dès qu’on parle de boucles, de retours en arrière, de logiques non linéaires, C.A.F.E. annonce une compilation “optimisée” qui peut générer une structure de type “state machine” quand c’est nécessaire, tout en restant 100% compatible Home Assistant.

Limites et précautions (parce que oui, c’est une bêta)

Le projet est présenté comme “non destructif”, mais il reste en bêta, avec des corrections fréquentes. Première règle : faites une sauvegarde de vos automatisations avant de modifier des choses importantes.

Deuxième règle : sur une automatisation critique (alarme, chauffage, sécurité), allez-y progressivement. Testez d’abord sur une automatisation simple, comparez le YAML avant/après, vérifiez la trace, puis montez en complexité. C’est un peu la méthode “on ne rénove pas une maison en cassant tous les murs d’un coup” (et votre future tranquillité vous dira merci !).

Troisième règle : acceptez l’idée que l’auto-layout et la reconstruction visuelle ne seront pas parfaits à 100% sur du YAML très artisanal. Le projet le reconnaît : l’import de YAML manuel complexe peut avoir des aspérités.

Faut-il l’adopter maintenant ?

Si vous êtes à l’aise avec l’éditeur natif et que vos automatisations restent simples, C.A.F.E. n’est pas “obligatoire”. En revanche, si vous avez des scénarios qui partent dans tous les sens, si vous détestez relire du YAML long comme un jour sans Wi-Fi, ou si vous aimez le confort visuel de Node-RED mais sans vouloir d’un second moteur, C.A.F.E. coche beaucoup de cases : visuel, natif, sans surcharge, et sans piège à long terme puisqu’on reste sur des automatisations Home Assistant standards. Ici en tout cas il est adopté !

Pour information, cet article peut contenir des liens affiliés, sans aucun impact sur ce que vous gagnez vous même ou le prix que vous pouvez payer pour le produit. Passer par ce lien vous permet de me remercier pour le travail effectué sur le blog chaque jour, et d'aider à couvrir les dépenses du site (hébergement, frais de port pour les concours, etc.). Ca ne vous coute rien, mais ca m'aide beaucoup ! Merci donc à ceux qui joueront le jeu !

Inscrivez vous à notre newsletter !

Ne ratez plus aucun article, test de produit ou guide, grâce à un mail dans votre boite chaque vendredi !
Nous n'avons pas pu confirmer votre inscription.
Votre inscription est confirmée.
Que pensez vous de cet article ? Laissez nous vos commentaires !
Merci de rester courtois: un bonjour et un merci ne coutent rien ! Nous sommes là pour échanger de façon constructive. Les trolls seront supprimés.

Laisser un commentaire

1 + quatre =

Maison et Domotique
Logo
Compare items
  • Casques Audio (0)
  • Sondes de Piscine Connectées (0)
  • Smartphones (0)
Compare