Sensoren aus configuration.yaml in den Ordner sensors verlagern

Home Assistant 2. Sep. 2025

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

  1. Ordner erstellen: Erstelle einen neuen Ordner namens sensors im Konfigurationsverzeichnis von Home Assistant.
  2. 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
  1. Konfiguration anpassen: Füge in der configuration.yaml den folgenden Eintrag hinzu, um die Sensoren zu importieren:
   sensor: !include_dir_merge_list sensors/
  1. 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

FunktionErklä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.