Die Entwicklerwerkzeuge von Home Assistant kurz erklärt

Wenn immer ich an meinem Home Assistant Setup Dinge anpasse oder ergänze, greife ich eigentlich auf die Entwicklerwerkzeuge von Home Assistant zurück. Die Entwicklerwerkzeuge ermöglichen einem sehr einfach Zugriff auf Zustände von Entitäten/Sensoren oder Erlauben das Ausführen von Diensten (also Skripten oder Automatisierungen beispielsweise) und natürlich die Templates. In diesem Beitrag werfe ich auf die Möglichkeiten mit den Home Assistant Entwicklerwerkzeugen einen kurzen Blick.

Was sind die Entwicklerwerkzeuge von Home Assistant?

Die Entwicklerwerkzeuge sind „ab Werk“ bei Home Assistant an Bord und aktiv. Links im Hauptmenü findest du den Eintrag Entwicklerwerkzeuge.

In den Entwicklerwerkzeugen erhältst du dann Zugriff auf

  • YAML-Dateien
  • Zustände
  • Dienste
  • Template
  • Ereignisse
  • Statistik und
  • Assist

Was du mit den jeweiligen Unterfunktionen konkret machen kannst, erkläre ich dir jetzt:

Du magst Home Assistant? Dann abonniere kostenlos meine Beiträge mit Tipps, Tricks und Anleitungen rund um Home Assistant:

Follow Home Assistant
( 447 Followers )
X

Follow Home Assistant

E-mail : *
* Ich stimme der Datenschutzerklärung zu!

Garantiert kein Spam, keine Werbung und immer mit Abmelde-Link, solltest du es dir anders überlegen!

Entwicklerwerkzeuge: YAML

Über den Menüpunkt YAML in den Entwicklerwerkzeugen von Home Assistant hast du die Möglichkeit die Konfigurationen deiner YAML-Dateien grundlegend zu überprüfen.

Diese Überprüfung soll sicherstellen, dass fehlerhafte YAML-Einträge das Starten von Home Assistant selbst oder einzelner Integrationen verhindern.

Ich nutze diese rudimentäre Überprüfung meiner YAML-Dateien relativ häufig, nämlich immer dann, wenn ich im Editor Änderungen an den Konfigurationen vorgenommen habe. Bevor ich dann unbedacht einen Neustart ausführe klicke ich kurz auf „Konfiguration prüfen“ und warte das Ergebnis ab, bevor ich mein Home Assistant neustarte.

Unterhalb dieser Funktion, bekommst du alle YAML-Konfigurationen gruppiert nach Konfigurations-Typ (also beispielsweise Automatisierungen, Skripte oder Kommandozeilen-Entitäten) aufgelistet und kannst jede einzeln oder alle per Mausklick Neuladen, damit vorherige Änderungen an diesen aktiv werden.

Entwicklerwerkzeuge: Zustände

Unter Zustände bekommst du alle Entitäten aufgelistet, auf die du in Home Assistant zugreifen kannst.

Im oberen Bereich kannst du den Zustand einer Entität setzen, also verändern. Hierfür wählst du aus dem Dropdown die gewünschte Entität aus und kannst dann im Feld Zustand den gewünschten neuen Zustand eingeben.

Zustand einer Entität setzen in den Entwicklerwerkzeugen von Home Assistant

Diese Funktion habe ich selbst noch gar nicht genutzt – aber vielleicht hast du einen Tipp für mich, wann oder wieso das nützlich sein könnte?

Im Bereich darunter werden dir in einer Tabelle alle Entitäten/Sensoren von deinem Setup angezeigt. Über die Überschriften kannst du hier filtern und die gewünschte Entität einfach auswählen.

Zu jeder Entität bekommst du den Zustand, sowie, sofern gegeben, die Attribute der Entität (wie man die Attribute auslesen/nutzen kann, hatte ich schon einmal hier beschrieben) angezeigt:

Aktuellen Status einer Entität in den Entwicklerwerkzeugen von Home Assistant anzeigen lassen.

Diese Information sichte ich relativ häufig, wenn ich mittels YAML-Code eigene Skripte, Automatisierungen oder Templates baue um den Ist-Zustand einer Entität und somit das zu erwartende Verhalten meines YAML-Codes zu kennen.

Entwicklerwerkzeuge: Dienste

Im Bereich Dienste kann man jeden zur Verfügung stehenden Dienst auslösen/abfeuern. Ein Dienst kann ein Skript, eine Automatisierung oder auch beispielsweise ein REST-Command sein.

Hierfür wählt man aus dem Dropdown einfach den auszuführenden Dienst aus, gibt die ggf. möglichen Daten ein und klickt auf Dienst ausführen.

Dienste ausführen über die Entwicklerwerkzeuge von Home Assistant.

Ebenso kann es möglich sein, dass man bei einem Dienst auf den UI-Modus wechseln kann (oder halt YAML-Modus, je nachdem, was man zuvor genutzt hat). Hierüber ist es in der Regel etwas einfach die möglichen Option für die Daten des Dienstes zu definieren.

Den Bereich Dienste der Entwicklerwerkzeuge nutze ich relativ häufig um neuen Code schnell und unkompliziert ausprobieren zu können. Unter Umständen kann es nötig sein die relevanten YAML-Konfigurationen neu zuladen (erster Abschnitt in diesem Beitrag), damit Änderungen wirksam werden.

Entwicklerwerkzeuge: Template

Den Template-Bereich der Entwicklerwerkzeuge in Home Assistant nutze ich vermutlich am häufigsten!

Im Bereich Template kannst du sehr einfach deinen Code auf korrekte Funktionalität überprüfen, was insbesondere beim Zugriff auf Attribute eines Sensors super hilfreich ist.

Links im Eingabefeld schreibst du deinen zu testenden YAML-Code zu welchem dir „in Echtzeit“ rechts das jeweilige Ergebnis angezeigt wird:

Templates "on-the-fly" in den Entwicklerwerkzeugen ausprobieren.

Immer wenn ich hier in Beiträgen individuellen YAML-Code für eine Lösung/Idee angebe, ist dieser ziemlich sicher im Template-Editor der Entwicklerwerkzeuge (teilweise) entstanden! 😉

Entwicklerwerkzeuge: Ereignisse

Im Bereich Ereignisse der Entwicklerwerkzeuge von Home Assistant kannst du live „belauschen“, welche Ereignisse dein Home Assistant mitgeteilt bekommt. Ebenso ist es möglich, selbst ein solches Ereignis auszulösen.

Das klingt ein wenig kryptisch, deswegen ein konkretes Beispiel: In einem relativ alten Beitrag hatte ich erklärt, wie man dem DeCONZ „belauschen“ kann, was sehr nützlich sein kann.

Hier ein Beispiel, was dir angezeigt wird, wenn du dem Ereignis state_changed lauschst:

Ereignisse in den Entwicklerwerkzeugen von Home Assistant beobachten.

Alle Zustands-Änderungen werden dir live angezeigt.

Im oberen Bereich der Ereignisse kannst du auch selbst Ereignisse auslösen, was beispielsweise zum Testen von Automatisierungen nützlich sein kann. Diese Funktion nutze ich selbst aber nur sehr selten!

Entwicklerwerkzeuge: Statistik

Im Bereich Statistik der Entwicklerwerkzeuge werden dir alle verfügbaren Sensoren mit Statistiken angezeigt.

Diese Bereich kann sehr hilfreich sein, wenn mit einer Statistik etwas nicht stimmt und du die korrupten Daten korrigieren willst. Hierzu hatte ich vor einiger Zeit mal einen Beitrag geschrieben.

Statistik-Daten in den Entwicklerwerkzeugen korrigieren.

Korrupte Daten sind bei mir mittlerweile zum Glück zu einer absoluten Seltenheit geworden. Aber würde ich erneut solche falschen Daten feststellen, wäre der Bereich Statistik in den Entwicklerwerkzeugen die richtige Stelle, um diese falschen Daten zu korrigieren!

Entwicklerwerkzeuge: Assist

Der Bereich Assist in den Entwicklerwerkzeugen ist für die Steuerung mit Sprache (Voice Control) deines Smarthomes super hilfreich.

Hier kannst du einen Sprachbefehl geschrieben eingeben und überprüfen, wie Home Assistant hierauf reagieren würde.

Hier ein konkretes Beispiel: „Schalte das Licht im Wohnzimmer ein“ gibt folgendes Ergebnis:

Home Assistant Assist testen mit dem Entwicklerwerkzeug Assist.

Letztlich kannst du Sprachbefehle auf deren Funktion testen. Im konkreten Beispiel erkennt Home Assistant zum Beispiel die Area Wohnzimmer und das Lampen (light) geschaltet werden sollen.

Das vollständige Ergebnis sieht übrigens so aus:

intent:
  name: HassTurnOn
slots:
  area: wohnzimmer
  domain: light
details:
  area:
    name: area
    value: bc0fdcd491a34444bb0b7d768f7470e7
    text: wohnzimmer
  domain:
    name: domain
    value: light
    text: ''
targets:
  light.couch_z2m:
    matched: true
  light.retro_z2m:
    matched: true
  light.sessel_z2m:
    matched: true
  light.kamin_z2m:
    matched: true
  light.wled:
    matched: true
match: true
sentence_template: <schalten> (<licht>|<lichter>|<alle_lichter>) <area> <an>
unmatched_slots: {}
source: builtin

Konkret zeigt dieses Beispiel, dass 5 Lampen im Bereich Wohnzimmer eingeschaltet werden – perfekt!

Der Bereich Assist der Entwicklerwerkzeuge ist für dich nur interessant, wenn du dich bereits mit dem Assist von Home Assistant beschäftigst – hierzu werde ich in meinem nächsten Beitrag ausführlich berichten! 🙂

Ich hoffe, dass dieser kurze Überblick über die Möglichkeiten und Funktionen der Entwicklerwerkzeuge von Home Assistant für dich nützlich war! Habe ich etwas wichtiges vergessen? Schreib‘ es sehr gerne in die Kommentare, damit wir alle davon profitieren! 😉