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
.
Nun wisst Ihr wie Ihr Ordnung in das Chaos bringen könnt.
Hier geht es zu der offiziellen Dokumentation, die sich mit der Aufteilung der Konfiguration beschäftigt.
Gruß
Osorkon