Si vous n’appréciez pas l’interface d’édition des automatisations proposée par défaut dans Home Assistant, le projet C.A.F.E. pourrait vous intéresser. Cet acronyme pour « Complex Automation Flow Editor » (que l’on traduirait littéralement par « éditeur de flux d’automatisation complexes ») propose une interface visuelle pour créer et modifier les automatisations proposées par la solution de domotique open-source. Dans l’esprit, cela ressemble fort à ce que Node-RED propose depuis des années, avec toutefois une différence essentielle. Il ne s’agit ici que d’une interface différente, on reste sur le moteur de Home Assistant et C.A.F.E. peut travailler sur des automatisations sans casser l’éditeur de base.
Les automatisations prennent la forme dans C.A.F.E. de blocs colorés reliés par des flèches. C’est une représentation visuelle très populaire, adoptée aussi par Homey pour rester dans la domotique, qui peut aussi vous convenir davantage que la séquence de blocs dans l’esprit de Raccourcis que Home Assistant a choisi par défaut. Si vous aimez ce style, il était possible jusqu’ici d’opter pour Node-RED, mais cela impliquait une bascule complète : ce système ne se contente pas d’afficher les automatisations, il s’occupe aussi de leur exécution.
La souplesse de Home Assistant permet de remplacer entièrement les automatisations incluses par défaut par cet exécuteur tiers et on peut le faire via une extension officielle. Abandonner le système de base a ses défauts toutefois, ne serait-ce que pour obtenir de l’aide en cas de problème : la majorité des utilisateurs et de la documentation reposent toujours sur le système natif. En se limitant à un rôle d’interface, C.A.F.E. élimine ce défaut, puisqu’il est possible d’ouvrir n’importe quelle automatisation existante, la modifier dans l’interface visuelle puis l’enregistrer au même format qu’à l’origine.
Sous le capot, C.A.F.E. convertit le YAML utilisé pour stocker les automatisations dans Home Assistant pour les transformer en blocs visuels dans un sens et écrire du YAML toujours compatible avec le système natif dans l’autre sens. Tout le travail effectué dans cet éditeur reste ainsi compatible avec le moteur de base et à l’inverse, on peut modifier une automatisation créée avec C.A.F.E. en utilisant l’éditeur natif. L’exécution elle-même reste gérée par Home Assistant, avec les mêmes performances natives que l’on peut espérer, et les incompatibilités devraient ainsi rester inexistantes.
Sur le plan visuel, C.A.F.E. repose sur des rectangles colorés en fonction de leur rôle : les déclencheurs en jaune, les conditions en bleu et les actions en vert. En plus de ces trois grandes catégories reprises de Home Assistant, certaines actions sont identifiées par des couleurs différentes : délais en violet, attentes d’un déclencheur en orange et création d’une variable en bleu. Au passage, la gestion des variables n’est pas prise en charge par l’éditeur visuel natif, il faut modifier du code en YAML pour en bénéficier et sur ce point, cette alternative est clairement supérieure.
Pour le reste, cela dépend des attentes et de la taille de votre installation domotique. Dans mon cas, j’ai noté une latence assez nette de l’éditeur à chaque fois qu’il faut aller piocher dans ma liste d’appareils et entités, mais il faut souligner que mon Home Assistant commence à être très complet (544 appareils et 4 982 entités quand j’écris ces mots). Par ailleurs, j’aime bien l’interface linéaire de base, alors je n’étais pas forcément un client potentiel pour C.A.F.E.. Néanmoins, le projet est jeune et prometteur et je compte garder un œil sur son développement.
Tester C.A.F.E. est possible sans rien installer du tout, à condition toutefois d’avoir activé un accès distant à Home Assistant. Le cas échéant, vous pouvez pointer vers votre domotique à cette adresse et commencer à tester l’éditeur avec vos données. En usage courant, le mieux est encore d’ajouter C.A.F.E. à Home Assistant, ce qui se fait par le biais de HACS. Son concepteur prévient qu’il s’agit d’une bêta et recommande de réaliser une sauvegarde avant de modifier des automatisations existantes, ce qui est sans doute plus prudent.
Le projet est entièrement open-source et le code est visible sur GitHub. C’est aussi là que vous êtes invité à remonter les bugs rencontrés pendant vos tests.














