C.A.F.E. in Home Assistant: Automatisierungen à la Node-RED… ohne Node-RED

C.A.F.E. (Complex Automation Flow Editor) ist eine Integration, die Home Assistant einen visuellen „Flow“-Editor hinzufügt, ähnlich wie Node-RED, aber mit einem wesentlichen Unterschied: C.A.F.E. ist keine Ausführungsengine. Home Assistant bleibt der einzige, der Ihre Automatisierungen ausführt. C.A.F.E. beschränkt sich darauf, Ihr visuelles Schema in 100% konformes YAML zu transformieren, das direkt im Home Assistant-System gespeichert wird.

Kurz gesagt, Sie zeichnen die Logik mit Blöcken, die durch Pfeile verbunden sind, und speichern dann… und Home Assistant führt wie gewohnt aus. Kein Docker-Container hinzuzufügen, keine Datenbank zu warten, kein Add-On, das das schwächste Glied wird, wie es bei Node-RED der Fall ist. Das ist genau das „Zero Overhead“-Versprechen, das das Projekt betont.

Warum es für Home Assistant interessant ist

Wenn Sie YAML mögen, wissen Sie bereits warum: es ist robust, nativer, vorhersehbar… aber sobald eine Automatisierung umfangreicher wird, hat man schnell eine Wand aus Text. C.A.F.E. zielt genau auf diesen Moment ab, in dem „es ein Teller Spaghetti wird“. Es kann eine bestehende Automatisierung lesen und eine visuelle Karte rekonstruieren, was sehr nützlich ist, um zu auditieren, zu verstehen, zurückzusetzen.

Wenn Sie von Node-RED kommen, ist die beruhigende Seite eine andere: Sie finden eine Logik in Knoten, aber ohne die Ausführung aus Home Assistant zu verlagern. C.A.F.E. ändert die Benutzeroberfläche, nicht die Engine, und Sie können jederzeit zum nativen Editor zurückkehren.

Es gibt auch zwei „Bonus“, die viele ansprechen:

  • C.A.F.E. verwaltet das Konzept von Variablen auf der visuellen Schnittstelle besser, während der native visuelle Editor von Home Assistant oft dazu zwingt, sich mit YAML für solche Dinge zu befassen.
  • C.A.F.E. integriert sich mit der Home Assistant-Trace: Das Ziel ist es, das Debugging in den offiziellen Tools zu belassen, ohne ein paralleles Universum zu schaffen.

Der „clevere“ Trick: keine Sperrung, kein exotisches Format

Das ist wahrscheinlich das beruhigendste Argument: Wenn Sie C.A.F.E. deinstallieren, funktionieren Ihre Automatisierungen weiterhin. Sie verlieren hauptsächlich das visuelle Layout (Position der Blöcke), nicht die Logik, da sie standardmäßiges YAML bleibt.

Um dieses Layout beizubehalten, speichert C.A.F.E. Metadaten (Positionen der Knoten usw.) in einem „harmlosen“ Objekt innerhalb des variables-Blocks der Automatisierung. Sie können eine Automatisierung in Home Assistant ändern und sie dann in C.A.F.E. erneut öffnen: beide bearbeiten die gleiche Quelle.

Installation von C.A.F.E. in Home Assistant (über HACS)

Die empfohlene Methode erfolgt über HACS mit Hinzufügen des benutzerdefinierten Repositories. Die offizielle README gibt die Vorgehensweise an: In HACS, Abschnitt Integrationen, Menü der drei Punkte, „Benutzerdefinierte Repositories“, dann Hinzufügen von https://github.com/FezVrasta/cafe-hass als Integration.

Danach finden Sie C.A.F.E. in HACS und installieren es (laden herunter).

Neustart von Home Assistant, dann Hinzufügen der C.A.F.E.-Integration über Einstellungen → Geräte und Dienste → Integration hinzufügen.

Sobald es eingerichtet ist, erscheint C.A.F.E. in der Seitenleiste von Home Assistant als Panel. Es handelt sich nicht um ein „Lovelace-Dashboard“, sondern um einen Eintrag in der Seitenleiste.

Möchten Sie testen, ohne zu installieren?

Es ist möglich, C.A.F.E. auszuprobieren, ohne etwas zu installieren, über eine Weboberfläche, vorausgesetzt, Sie haben Remote-Zugriff auf Home Assistant.

In der Praxis sollten Sie bedenken, dass die Exposition von Home Assistant im Internet richtig erfolgt (Nabu Casa, Reverse Proxy, Authentifizierung usw.). Es ist machbar, aber man vermeidet den „YOLO“-Modus, wenn es um Heimautomation geht.

Wenn Sie keinen Zugriff auf Ihr Home Assistant gewähren möchten (was völlig verständlich ist), habe ich C.A.F.E. auf dem Home Assistant-Testserver installiert, den ich Ihnen seit ein paar Wochen zur Verfügung stelle, damit Sie in realen Bedingungen testen können, ohne Ihre eigene Installation zu gefährden oder Remote-Zugriff gewähren zu müssen ;-)

Erste Schritte: So verwenden wir es im Alltag

Einmal in C.A.F.E. ist die Benutzeroberfläche sehr „Flow-Editor“: eine Palette von Knoten links (Auslöser, Bedingungen, Aktionen, Verzögerungen, Warteschlangen…), eine große zentrale Leinwand, auf der man die Blöcke ablegt, und ein Eigenschaftenfeld rechts, um jeden Knoten zu konfigurieren. Sie können hineinzoomen, sich bewegen und sogar eine Mini-Karte verwenden, um sich in komplexen Automatisierungen zurechtzufinden.

Das typische Szenario sieht so aus: Sie legen einen Auslöser ab (zum Beispiel „Bewegung erkannt“), fügen eine Bedingung hinzu (zum Beispiel „es ist Nacht“), dann eine Aktion (zum Beispiel „das Licht im Flur einschalten“) und verbinden alles miteinander. Dann öffnen Sie jeden Knoten, um Entitäten und Dienste auszuwählen. C.A.F.E. nutzt die Intelligenz der Entitäten auf der Home Assistant-Seite (Auto-Vervollständigung, Kenntnis der Zustände über die API), um das manuelle Eintippen von IDs zu vermeiden.

Ein sehr praktischer Punkt: Sie können eine bestehende Automatisierung öffnen, sie auf die Leinwand „legen“, die Blöcke bewegen, um sie klar zu sehen, ändern und dann in Home Assistant speichern. Sie bearbeiten, speichern und finden die Automatisierung im nativen Editor wieder, mit YAML, das durch die Layout-Metadaten angereichert ist!

Importieren, Exportieren, Debuggen

C.A.F.E. kann eine bestehende Automatisierung importieren und kann auch YAML oder JSON importieren und einen Flow im JSON exportieren. Dies ist nützlich, um ein „Schema“ zu teilen oder eine Version zu archivieren, bevor eine etwas heikle Logik umgebaut wird.

Auf der Debug-Seite ist die Idee einfach: eine klare Lesbarkeit der Ausführung zu behalten. Es gibt einen Debug-Modus mit Schritt-für-Schritt-Anzeige und Optionen, um Bedingungsergebnisse zu simulieren, um den in der Automatisierung eingeschlagenen Weg zu visualisieren.
Und was das Projekt betrifft, ist die Integration mit der Trace View von Home Assistant eines der angekündigten Highlights: Sie bleiben bei den offiziellen Tools, um zu analysieren, was passiert ist.

Konkrete Beispiele, in denen C.A.F.E. wirklich den Unterschied macht

Nehmen Sie eine realistische Automatisierung für „Abendlichtern“. Auslösung: kurz vor Sonnenuntergang. Bedingung: nur wenn es vor einer bestimmten Uhrzeit ist (ansonsten zu spät, unnötig). Aktion: bestimmte Lampen einschalten, aber mit unterschiedlicher Helligkeit je nach Zeitfenster. In YAML endet es oft mit verschachtelten „choose“ und sich überschneidenden Bedingungen. In C.A.F.E. wird diese Art von Logik zu einer Straßenkarte: man sieht die Abzweigungen, man sieht die Wege, man kann durchatmen. Und das ist genau der Beispieltyp, der in der Transkription gezeigt wird.

Ein weiteres sehr sprechendes Beispiel: Szenarien mit Variablen. Einfaches Beispiel: Sie rufen ein Skript auf, das eine Info zurückgibt (Temperatur, Tarif, zusammengefasster Zustand), Sie speichern die Antwort in einer Variablen und verwenden dann diese Variable in nachfolgenden Aktionen über Jinja-Templates. Die README erklärt den Mechanismus der „script responses“ (response_variable) und die Verwendung in Jinja {{ variable.champ }} in den nachfolgenden Knoten.

Und für Installateure oder fortgeschrittene Benutzer: Sobald man von Schleifen, Rückmeldungen, nichtlinearer Logik spricht, kündigt C.A.F.E. eine „optimierte“ Kompilierung an, die eine Struktur vom Typ „Zustandsmaschine“ erzeugen kann, wenn dies erforderlich ist, und dabei 100% kompatibel mit Home Assistant bleibt.

Grenzen und Vorsichtsmaßnahmen (denn ja, es ist eine Beta)

Das Projekt wird als „nicht destruktiv“ vorgestellt, bleibt aber in der Beta-Phase, mit häufigen Korrekturen. Erste Regel: Machen Sie ein Backup Ihrer Automatisierungen, bevor Sie wichtige Änderungen vornehmen.

Zweite Regel: Bei einer kritischen Automatisierung (Alarm, Heizung, Sicherheit) gehen Sie schrittweise vor. Testen Sie zuerst eine einfache Automatisierung, vergleichen Sie das YAML davor/danach, prüfen Sie das Protokoll und erhöhen Sie dann die Komplexität. Es ist ein bisschen die Methode „man sanierte nicht ein Haus, indem man alle Wände auf einmal einreißt“ (und Ihre zukünftige Ruhe wird es Ihnen danken!).

Dritte Regel: Akzeptieren Sie die Vorstellung, dass das Auto-Layout und die visuelle Rekonstruktion nicht zu 100% perfekt sein werden bei sehr handgefertigtem YAML. Das Projekt erkennt dies an: Der Import von komplexem manuellem YAML kann Unebenheiten aufweisen.

Sollten Sie es jetzt übernehmen?

Wenn Sie sich mit dem nativen Editor wohlfühlen und Ihre Automatisierungen einfach bleiben, ist C.A.F.E. nicht „obligatorisch“. Wenn Sie jedoch Szenarien haben, die in alle Richtungen abweichen, wenn Sie es hassen, langes YAML wie einen Tag ohne WLAN zu lesen, oder wenn Sie den visuellen Komfort von Node-RED mögen, aber keinen zweiten Motor wollen, dann erfüllt C.A.F.E. viele Kriterien: visuell, nativ, ohne Überlastung und ohne langfristige Falle, da man auf den standardmäßigen Home Assistant-Automatisierungen bleibt. Hier ist es jedenfalls übernommen!

Zur Information: Dieser Artikel kann Affiliate-Links enthalten, die keinerlei Auswirkungen auf das haben, was Sie selbst verdienen oder den Preis, den Sie für das Produkt zahlen können. Wenn Sie über diesen Link gehen, können Sie mir für die Arbeit danken, die ich jeden Tag in den Blog stecke, und helfen, die Kosten der Website zu decken (Hosting, Versandkosten für Wettbewerbe usw.). Es kostet Sie nichts, aber es hilft mir sehr! Vielen Dank also an alle, die mitspielen!
Was halten Sie von diesem Artikel? Hinterlassen Sie uns Ihre Kommentare! Bitte bleiben Sie höflich: Ein Hallo und ein Danke kosten nichts! Wir sind hier, um uns konstruktiv auszutauschen. Trolle werden gelöscht.

Hinterlasse einen Kommentar

9 − vier =

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