Aufteilung der Konfiguration - Ordnung in das Chaos bringen 😁

Es gibt mehre Möglichkeiten wie Ihr Ordnung in das Chaos in der configuration.yaml bringen könnt.

Damit ist das aufteilen der Konfiguration gemeint. Kaum hat man Home Assistant ein paar Tage im Einsatz, schon hat die configuration.yaml mehrere hundert Zeilen und man verliert schnell die Übersicht.

Ich persönlich finde die Package Methode am komfortabelsten. Zum einem muss man die Konfiguration nicht nach Integrationen aufteilen, und zum anderen erfolgt die Konfiguration 1:1 wie es normalerweise direkt in der configuration.yaml erfolgt. Das erleichtert es vor allem Anfängern die Beispiele aus der offiziellen Home Assistant Dokumentation 1:1 zu übernehmen.

Aber gehen wir mal Schritte für Schritt durch.

1. Bearbeiten der configuration.yaml

Folgende Zeile müsst ihr unterhalb der homeassistant: Zeile einfügen

homeassistant:
  packages: !include_dir_named packages

2. Erstellen des Ordners

Nun müssen wir im gleichen Verzeichnis wo sich auch die configuration.yaml befindet einen neunen Ordner packages erstellen.

3. Konfiguration prüfen

Ihr solltet euch angewöhnen, nach jeder Änderung der YAML Konfiguration die Konfiguration zu prüfen, bevor Ihr Home Assistant neu startet.

Entwicklungswerkzeuge → YAML → KONFIGURATION PRÜFEN

4. Home Assistant neu starten

Nach erfolgreicher Prüfung der Konfiguration, können wir jetzt Home Assistant neu starten.

Nun könnt ihr jegliche Konfiguration auf einzelne yaml Dateien aufteilen, diese werden dann im Ordner packages gespeichert.

Als Bsp. system.yaml wo nun aller zum System gehörende Konfiguration abgelegt werden kann. Hier mal ein Auszug meiner system,yaml

Dabei könnt ihr wie Ihr sieht mehrere Integrationen in einer yaml Datei verwenden. Hier z.B. switch, rest_command, sensor und template.

#system.yaml im order /packages
switch:
  - platform: wake_on_lan
    name: HA RPI4
    host: 192.168.178.95
    mac: e4:5f:01:af:a2:bf
    turn_off:
      service: rest_command.shutdown_pi4

rest_command:
  shutdown_pi4:
    url: "http://192.168.178.95:8123/api/webhook/-h5VyxJRUBDvbNN5xyQxmpOeF"
    method: put

sensor:
  - platform: statistics
    name: "Homelab Power"
    entity_id: sensor.ups_wirkleistung
    state_characteristic: mean
    unique_id: d214ab51-799b-43b2-83b4-01f3c33c080e
    max_age:
      hours: 1

template:
  - trigger:
      - platform: time_pattern
        hours: /1

      - platform: state
        entity_id: script.system_delete_orphaned_entities
        from: 'on'
        to: 'off'
        for:
          seconds: 2

    action:
      - service: homeassistant.list_orphaned_database_entities
        response_variable: orphaned
    sensor:
      - name: System List Orphaned Database Entities
        unique_id: system_list_orphaned_database_entities
        state: >
          {{ orphaned.count }}
        attributes:
          orphans: >
            {{ orphaned.entities }}

Ihr könnt auch neue Ordner im Verzeichnis /packages erstellen und Ordner auch verschachteln, hier müsst Ihr aber unbedingt darauf achten, dass Ihr die Ordner wie auch die YAML Dateien eindeutig nennen tut. Es darf keinen Duplikate geben!
Damit ich auf sowas nicht achten muss, befindet sich bei mir die einzelnen YAML Dateien direkt im Ordner /packages. :grin:

Nun wisst Ihr wie Ihr Ordnung in das Chaos bringen könnt.

Tom Gerhardt Hausmeister Krause GIF by SPORT1

Hier geht es zu der offiziellen Dokumentation, die sich mit der Aufteilung der Konfiguration beschäftigt.

Gruß
Osorkon