Geheime Daten von Home Assistants configuration.yaml in die secret.yaml auslagern.
Gerade im Bereich Home Assistant verschickt man oft seine Konfiguration als Diskussionsgrundlage. Hierbei ist nichts ärgerlicher, als wenn man versehentlich diverse Zugangsdaten an Fremde schickt. Aus diesem Grund sollte man seine Passwörter immer die die Datei secret.yaml auslagern.
Die Datei secret.yaml enthält in jeder Zeile eine ID und einen Wert den man aus der Konfiguration auslagern möchte.
Die Datei sieht dann wie folgt aus:
Geheime_Ip: 192.168.6.123
Geheimer_User: homeassistant
Geheimes_Passwort: mypasswort123
Wenn man nun in der configuration.yaml oder in darin mit !include eingebundenen yaml-Dateien einen der ausgelagerten Werte verwenden möchte, kann man auf diese Werte mit !secret ID zugreifen.
Das sieht dann in etwa so aus:
device_tracker:
- platform: fritz
host: !secret Geheime_Ip
username: !secret Geheimer_User
password: !secret Geheimes_Passwort
Weitere Informationen zur Datei secret.yaml:
https://www.home-assistant.io/docs/configuration/secrets/
Eine gemeinsame secret.yaml für Home Assistant und ESPHome
Normalerweise muss man für ESPHome und Home Assistant jeweils eine eigene secret.yaml Datei pflegen.
Da der Befehl !include auch Pfadangaben versteht, kann man die secrets aber auch in einer einzigen secrets.yaml bündeln und diese zentrale Datei in der anderen Datei nur als Referenz eintragen. So kann man in einer einzigen Datei alle Secrets für beide Bereiche verwalten.
Um die secret.yaml von Home Assistant in der ESPHome secret.yaml zu referenzieren tragen wir in der /config/esphome/secrets.yaml nur noch folgende Zeile ein:
!include ../secrets.yaml
Alle secrets müssen dann ausschließlich in /config/secrets.yaml eingetragen werden, da die ESPHome-Secret nun den Inhalt der secrets.yaml Datei von Home Assistant verwendet.