Der Home Assistant Server

Kern des gesamten Systems ist natürlich der HA Server. Hier beschreibe ich die Kernkomponenten. Dies sind:

 

Alle Themen werden auf den Unterseiten (siehe Links) noch ausführlich beschrieben. 

 

Obwohl von Version zu Version immer mehr Dinge über die Benutzer Gui eingestellt werden können sind das Maß aller Dinge die Konfigurationsdateien. Ich muss sagen, dass ich mit der Gui überhaupt nicht zu recht komme. Auch alle Beispiele in der offiziellen Dokumentation verweisen auf die Konfigurationsdateien. Darum findet ihr hier wenig über diese Einstellungen. Ich zeige lieber die Einträge in der Config.

Die einfachste Möglichkeit an die Konfigurationsdateien ran zu kommen ist auf den HA Server Samba Share einzurichten. Dank Samba haben wir von Windows Rechnern Zugriff auf LINUX Dateisysteme,

Unter Supervisor -> Addon-Store einfach das Samba Plugin hinzufügen

In der Konfiguration  dann noch Anmeldename und Passwort hinterlegen, sowie das (Heim) Netzwerk, dass auf dem Server zugreifen darf und fertig ist die Bereitstellung.

Bei mir sieht das dann so aus:

 

Konfiguration Dateien

 

Im "Config" Verzeichnis gibt es zwei Dateien, die für den Betrieb zuständig sind:

  • ui-lovelance.yaml Hier wird die komplette Anzeige des Webservers gesteuert
  • configuration.yaml Hier wird der komplette Server gesteuert.

Beide Dateien sind mit absoluter Vorsicht zu genießen, denn ein falscher Eintrag kann den ganzen Server außer Betrieb setzen.

(und mit falschen Eintrag kann ein Leerzeichen zu viel an falscher Stelle schon ausreichen)

 

Ich gewöhne mir an immer ein Kopien der Dateien zu machen bevor ich daran rum fummel. Manchmal findet man nämlich den Fehler nicht und dann ist es einfacher die Originale zurück zu kopieren.

Hier mal ein Beispiel, was das genau bedeutet. In Dieser Konfiguration ist einfach ein Leerzeichen zu wenig. Das reicht vollkommen aus, um den kompletten Server außer Betrieb zu setzen.

Jetzt ist dies Konfig recht klein, doch wenn ihr viele Zeilen habt, kann die Suche schon mal nervig werden.

Glücklicherweise hat Home Assistant da aber auch eine Möglichkeit bereit gestellt.

Man kann nämlich seine Konfiguration validieren lassen.

Unter Einstellungen -> Serversteuerung kann man nämlich die Konfiguration prüfen und HA zeigt einem, wo der Fehler genau liegt. So kann man Korrigieren bevor man die Konfiguration neu lädt oder den Server neu startet.

(Früher musste man für jede Änderung den Server neu starten. Von Version zu Version wird immer mehr in die Gui verlegt und kann dort neu geladen werden.)

Split Konfiguration

 

Prinzipiell kann man alle Einträge in configuration.yaml packen, doch je größer und komplexer das System wird, wird auch die Datei größer und unübersichtlich.

Das hat auch HA erkannt und hat das sogenannte Split Config eingeführt.

Dies bedeutet, dass ich innerhalb der configuration.yaml auf weitere Konfigurationsdateien verweisen darf. Hier mal ein Beispiel :

Die oben genannte Datei ist meine Timer Datei.

Jeder Bereich beginnt mit dem Namen und ein Doppelpunkt.

Der Timer Bereich in der configuration.yaml würde also so aussehen :


timer:
  blumenkasten_innen:
    duration: '00:06:00'
    
  blumenkasten_aussen:
    duration: '00:04:00'
    
  duesen:
    duration: '00:06:00'

 Ich kann aber auch in der Datei sagen, dass der Bereich "Timer" in einer eigenen Datei steht.

Bei mir sieht die configuration.yaml deswegen so aus :


# Includes

homeassistant:
customize: !include customize.yaml
group: !include groups.yaml
automation: !include automations.yaml
script: !include scripts.yaml
frontend: !include frontend.yaml
panel_custom: !include panel_custom.yaml
binary_sensor: !include binary_sensors.yaml
input_number: !include input_number.yaml
input_boolean: !include input_boolean.yaml
notify: !include notify.yaml
sensor: !include sensor.yaml
switch: !include switch.yaml
timer: !include timer.yaml

 Wie man sieht gibt es für jeden Bereich eine eigene Datei und das macht die Konfiguration natürlich viel einfacher. 

Besonderheit secrets.yaml

 

eine besondere Konfigurationsdatei ist die secrets.yaml. Gerade bei Einbindung von Integrationen fallen ein Haufen von Passwörter an, die quer über alle Konfigurationsdateien im Klartext hinterlegt sind. Das birgt neben dem Sicherheitsaspekt auch weitere Nachteile, erst recht wenn man brav öfters mal Passwörter ändert. Dann müssen nämlich alle Dateien  durchforstet werden. HA bietet da aber auch wieder eine Lösung, nämlich das Storing Secrets Konzept.

 

Alle Passwörter werden in der secrets.yaml gespeichert und in der Konfiguration mit !secret <Passwort oder Wert> wieder abgerufen. Dabei müssen es nicht nur Passwörter sein. Prinzipiell kann man dort alles zentral speichern.

Beispiel :

 


google:
  client_id: !secret google_ClientID
  client_secret: !secret google_ClientKey

In der secrets.yaml steht dann :

 


google_ClientID: 98875875397684-9o81guq6tkjgkjgkjfmjs22jcateb2m.apps.googleusercontent.com
google_ClientKey: U-rfV8hfgcztrsdyfdTSG

 

Weiter gehts mit dem Dashboard


Kommentare: 0