Home Assistant Anleitung how to… configuration.yaml aufteilen

Wenn das eigene Smarthome mit Home Assistant wächst, sollte man möglichst früh damit anfangen, die configuration.yaml in logische Einzeldateien aufzuteilen. Konkret meine ich: Schreibt nicht alles in die configuration.yaml hinein, da diese sonst elend lang und somit unübersichtlich wird! 🙂

In Home Assistant gibt es die Möglichkeit aus einer YAML-Datei eine andere YAML-Datei aufzurufen, diese andere Datei also einzubinden. Technisch verhält sich diese eingebundene YAML-Datei dann so, als wäre sie gar keine eigene YAML-Datei, sondern direkter Bestandteil der configuration.yaml

Home Assistant: How to... Kurzanleitungen und Nützliches für Home Assistant!

Ein Beispiel hierfür findest du „ab Werk“ bereits in der automations.yaml. Diese Datei wird aus der configuration.yaml aufgerufen und dient einzig dem Zweck, die Automatisierungen nicht in die configuration.yaml schreiben zu müssen.

Nach diesem Beispiel kann und sollte man die eigene configuration.yaml möglichst schlank und übersichtlich halten und logische Trennungen in jeweils neue YAML-Dateien vornehmen.

Was meine ich damit?

Ich habe zum Beispiel für jede in YAML konfigurierte Integration eine separate YAML-Datei, welche dann in der Regel nicht viel mehr auβer die relevanten Zugangsdaten für diese Integration und ggf. ein paar Konfigurations-Einstellungen beinhaltet.

Ebenso habe ich für eigene Sensoren eigene YAML-Dateien, so dass jede „Einheit“ für sich getrennt gespeichert und gepflegt wird.

Ja, als Ergebnis werden die YAML-Dateien natürlich deutlich mehr. Aber für die Fehlersuche ist dies von enormen Vorteil! Was ich damit meine, möchte ich an folgendem Beispiel erklären:

Angenommen ich füge eine neue Integration hinzu, welche nicht über die UI eingebunden wird, sondern komplett in YAML konfiguriert werden muss. Dann erstelle ich hierfür eine Datei MeineIntegration.yaml mit den notwendigen Zugangsdaten und binde diese in der configuration.yaml ein. Ebenso erstelle ich zu dieser neuen Integration auch noch neue Sensoren.

Diese Sensoren konfiguriere ich ebenfalls in einer neuen YAML-Datei und binde diese ein.

Habe ich nun mit der neuen Integration Probleme, muss ich mir nur die beiden hierfür relevanten Dateien anschauen und den Fehler finden. Ich laufe nicht mehr Gefahr, mich in einer elend langen configuration.yaml zu verlieren und den Wald vor lauter Bäumen nicht zu sehen.

Es gibt mehrere Möglichkeiten Dateien in die configuration.yaml einzubinden. Home Assistant bietet hierfür folgende Funktionen:

  • !include_dir_list Fügt den Inhalt eines Verzeichnisses als Liste ein, bei dem jede Datei ein Listen-Eintrag ist. Die Listenreihenfolge ist alphabetisch nach den Dateinamen innerhalb des Verzeichnisses. Jede Datei darf hierbei nur einen Eintrag beinhalten!
  • !include_dir_named Fügt den Inhalt eines Verzeichnisses als „dictionary“, also assoziatives Feld, ein bei welchem der Dateiname dem Inhalt der Datei zugewiesen ist.
  • !include_dir_merge_list Fügt den Inhalt eines Verzeichnisses (welche jeweils eine Liste beinhalten sollten) als eine große Liste ein.
  • !include_dir_merge_named Fügt den Inhalt eines Verzeichnisses als ein großes „dictionary“ ein!
  • !include fügt eine einzelne, explizit benannte YAML-Datei ein.

Hier ein konkretes Beispiel, welches es hoffentlich etwas verständlicher macht:

script: !include_dir_merge_named scripts

Mit dieser Zeile Code werden automatisch alle im Ordner „scripts“ abgelegten Dateien, welche bei mir aus logisch getrennten Scripten bestehen, geladen. Ich muss somit beim Hinzufügen eines neuen Scriptes per YAML dieses lediglich als neue Datei im Ordner „scripts“ speichern, und schon macht Home Assistant alles weitere von alleine!

Hierbei handelt es sich um einen von mir so genannten Quicktipp. In dieser kleinen „Home Assistant how-to“ Reihe, gebe ich hilfreiche Tipps und Tricks, welche mir die Arbeit mit Home Assistant vereinfachen und deswegen vielleicht auch für dich hilfreich sein können!

Dieser Beitrag ist Teil einer kleinen Beitrags-Serie rund um den hass.io Home Assistant.

AngebotBestseller Nr. 1
Echo Dot (3. Gen.) Intelligenter Lautsprecher mit Alexa,...*
  • Unser beliebtester smarter Lautsprecher – Jetzt mit neuem...
  • Steuern Sie die Musikwiedergabe per Sprachbefehl – Streamen Sie...

*= Preis inkl. MwSt., ggf. zzgl. Versandkosten. Letzte Aktualisierung vor 60 Minuten / Affiliate Links / Bilder von der Amazon Product Advertising API. Als Amazon-Partner verdiene ich an qualifizierten Verkäufen.

Schreibe einen Kommentar

Die folgenden im Rahmen der DSGVO notwendigen Bedingungen müssen gelesen und akzeptiert werden:
Durch Abschicken des Formulares wird dein Name, E-Mail-Adresse und eingegebene Text in der Datenbank gespeichert. Für weitere Informationen wirf bitte einen Blick in die Datenschutzerklärung.