Sensoren aus configuration.yaml in den Ordner sensors verlagern
Einleitung
Die Organisation der Konfigurationsdateien in Home Assistant ist entscheidend für die Wartbarkeit und Übersichtlichkeit des Systems. Insbesondere bei einer Vielzahl von Sensoren kann die Auslagerung in separate YAML-Dateien helfen, die Hauptkonfigurationsdatei schlanker und leichter verständlich zu gestalten.
Problem
Ein Benutzer hat seine Sensoren, die auf MQTT und Zigbee basieren, in der configuration.yaml
definiert. Um die Konfiguration zu optimieren, möchte er diese Sensoren in separate YAML-Dateien im Ordner sensors
auslagern. Zudem stellt sich die Frage nach dem Unterschied zwischen der sensors.yaml
und der customize.yaml
.
Lösung
Um Sensoren aus der configuration.yaml
in separate Dateien auszulagern, kannst du die folgenden Schritte befolgen. Dies verbessert die Struktur deiner Konfiguration und erleichtert zukünftige Änderungen.
Schritte zur Umsetzung
- Ordner erstellen: Erstelle einen neuen Ordner namens
sensors
im Konfigurationsverzeichnis von Home Assistant. - Sensoren in separate Dateien auslagern: Erstelle für jeden Sensor eine eigene YAML-Datei im
sensors
-Ordner. Zum Beispiel:
-vitocal_sensors.yaml
-zigbee_sensors.yaml
Beispielinhalt für vitocal_sensors.yaml
:
- name: "Status Zirkulationspumpe"
unique_id: "vitocal_PumpeStatusZirku"
state_topic: "vitocal/hk1_zirkulation"
device_class: running
value_template: "{{ 'OFF' if value | int == 0 else 'ON' }}"
device:
identifiers: vcontrold
manufacturer: Viessmann
- name: "Pumpe Waermekreis Status"
unique_id: "vitocal_Pumpe_Waermekreis"
state_topic: "vitocal/secondary_pump"
device_class: running
value_template: "{{ 'OFF' if value | int == 0 else 'ON' }}"
device:
identifiers: vcontrold
manufacturer: Viessmann
Beispielinhalt für zigbee_sensors.yaml
:
- name: "HWR Lüftung Power"
state_topic: "zigbee2mqtt/HWR_Lueftung/power"
qos: 1
unique_id: "HWR_Lueftung_Power"
unit_of_measurement: "W"
device_class: "Power"
state_class: total_increasing
- name: "HWR Lüftung Energy"
state_topic: "zigbee2mqtt/HWR_Lueftung/energy"
qos: 1
unique_id: "HWR_Lueftung_Energy"
unit_of_measurement: "kWh"
device_class: "Energy"
state_class: total_increasing
- Konfiguration anpassen: Füge in der
configuration.yaml
den folgenden Eintrag hinzu, um die Sensoren zu importieren:
sensor: !include_dir_merge_list sensors/
- Home Assistant neu starten: Starte Home Assistant neu, um die Änderungen zu übernehmen.
Hintergrundwissen
Die Verwendung von !include_dir_merge_list
ermöglicht es, alle YAML-Dateien in einem bestimmten Verzeichnis zu importieren und deren Inhalte zu einer Liste zusammenzuführen. Dies ist besonders nützlich, wenn du viele Sensoren hast, da du so die Konfiguration modular und übersichtlich gestalten kannst.
Die customize.yaml
hingegen wird verwendet, um spezifische Anpassungen an bestehenden Entitäten vorzunehmen, wie z.B. das Hinzufügen von benutzerdefinierten Attributen oder das Ändern von Namen. Diese Datei ist nicht für die Definition neuer Sensoren gedacht.
Zusätzliche Infos
Funktion | Erklärung |
---|---|
`!include_dir_merge_list` | Importiert alle YAML-Dateien aus einem Verzeichnis und fügt sie zu einer Liste zusammen. |
`customize.yaml` | Dient zur Anpassung bestehender Entitäten, nicht zur Definition neuer Sensoren. |
Hinweise & Best Practices
- Halte die Benennung der YAML-Dateien konsistent und beschreibend, um die Übersichtlichkeit zu erhöhen.
- Dokumentiere Änderungen in den YAML-Dateien, um zukünftige Anpassungen zu erleichtern.
- Teste nach jeder Änderung die Konfiguration über die Home Assistant Benutzeroberfläche, um sicherzustellen, dass keine Fehler auftreten.
- Nutze die
customize.yaml
für spezifische Anpassungen, um die Trennung von Definition und Anpassung zu wahren.