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 Automationen 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?

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

Follow Home Assistant
( 571 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!

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!

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

Produktempfehlungen

2 Gedanken zu „configuration.yaml aufteilen“

  1. Hey. Ich steige gerade in das Thema Home Assistant neu ein. Eine kurze Frage. Werden ab der aktuellen Version keinen configuration.yaml und co mehr angelegt? Hab schon DeConz und ein paar andere Sachen eingerichtet. Meine yaml Dateien sind aber alle leer … ist das richtig und normal?

Die Kommentare sind geschlossen.