Seit gut drei Jahren betreibe ich einen RaspberryPi als Homeserver. Zunächst reichte dieser noch gut aus. Mit der Zeit wurde aber nicht nur die Zahl der Anwendungen, die auf dem Raspberry laufen, mehr, sondern auch die Leistungsanforderungen der Anwendungen selbst. Besonders meine ich damit die Influx Datenbank, die seit über drei Jahren jede Minuten um einen Datensatz der PV-Anlage größer wird. Die Datenbank braucht mittlerweile über 10 Minuten zum Starten. Auch diese Webseite braucht zum Laden deutlich länger, als sie sollte. Wenn ich den Raspberry komplett neu starte, braucht es ca. eine Stunde, bis alle Anwendungen wieder laufen. Das ist definitiv zu viel. Es sollte also ein neuer Rechner her. In dieser Artikelserie möchte ich davon berichten.


Übersicht aller Artikel dieser Serie


Was ist Homeassistant?

Homeassistant ist eine Software zur Steuerung, Visualisierung und Automatisierung eines Smarthomes. In Homeassistant lassen sich Produkte von über 2500 Marken einbinden. Diese kann man dann zentral steuern oder automatisieren.

Installationsmethoden von Homeassistant

Grundlegend gibt es 3 Möglichkeiten, Homeassistant zu installieren: als „Homeassistant OS“, im Docker-Container oder direkt.

Homeassistant OS ist, wie der Name schon sagt, ein ganzes OS, also ein Linux-System mit Homeassistant (das übrigens auch hier in Docker installiert ist), Docker und einer vereinfachten Oberfläche, um weitere Docker-Container zu installieren. Praktisch Portainer nur sehr abgespeckt und mit begrenzter Auswahl an Containern. Die Vorteile dieser Installationsmethode sind, dass sie recht einfach ist und man auch als Anfänger recht leicht weitere Software installieren kann. Die Nachteile sind, dass man durch diese abgespeckte Software auch sehr beschränkt ist, vor allem, wenn man Homeassistant OS direkt installiert, da es eben ein ganzes OS ist und so keine weiteren Betriebssysteme parallel installiert werden können. Installiert man es aber in einer VM, zum Beispiel mit Proxmox, fällt dieser Nachteil natürlich weg. Aber auch dann braucht das Homeassistant OS minimal mehr Leistung als bei den anderen beiden Installationsmethoden.

Homeassistant im Docker-Container hat im Gegensatz zu Homeassistant OS eben nicht diese einfache Möglichkeit, andere Software zu installieren. Auch die Installation ist etwas komplizierter. Dafür hat man aber die volle Freiheit in der Wahl des Betriebssystems, unter dem Docker läuft und damit auch mehr Auswahl an Software.

Die direkte Installation von „Homeassistant core“ benötigt kein Docker. Der Funktionsumfang ist aber identisch zur Dockerinstallation. Der große Nachteil hier ist aber, dass die Installation mit Abstand am schwierigsten ist, da man sich hier mit verschiedenen Python-Versionen und Modulen herumschlagen muss.

Eine Übersicht der Installationsmethoden findet man hier.

Installation von Homeassistant

Ich habe mich für die Dockerinstallation entschieden. Dazu lege ich in Portainer einen neuen Container an. Diesen nenne ich „homeassistant“ und wähle im „Advanced mode“ das Image „ghcr.io/home-assistant/home-assistant:stable“.

Installation von Homeassistant in Portainer

Im Menü „Network“ wähle ich die Methode „host“.

Wählen der Netzwekmethode

Anschließend lege ich unter „env“ eine neue Umgebungsvariable für die Zeitzone an:

Setzen der Umgebungsvariablen

Dann aktiviere ich unter „Runtime & Resources“ den Priviledged Mode.

Installation von Homeassistant in Portainer

Als Letztes erstelle ich noch zwei Bind-Volumes. Beim ersten musst du den Pfad im Host bei deiner Installation anpassen. Beim zweiten ist es wichtig, dass er Read-Only gemountet ist.

Erstellen der Volumes

Jetzt lässt sich der Container erstellen und anschließend die Weboberfläche von Homeassistant unter https://IP_ADRESSE:8123 öffnen.

Einrichten von Homeassistant

Dort begrüßt uns auch schon der Einrichtungsassistent:

Einrichtungsassistent von Homeassistant

Im ersten Schritt legt man einen Adminaccount an:

Benutzer anlegen in Homeassistant

Anschließend legt man seine Heimatadresse fest, die zum Beispiel für die Wettervorhersage oder für Geofencing verwendet wird.

Heimatort festelgen

Für die Einheiten muss noch das Land festgelegt werden.

Land festlegen für Einheiten

Möchte man anonyme Diagnosedaten an die Entwickler senden, kann man das im nächsten Schritt aktivieren:

Diagnosedaten

Homeassistant sucht automatisch nach Geräten im Heimnetzwerk. Möchte man diese bereits bei der Einrichtung hinzufügen, kann man das mit einem Klick auf das jeweilige Gerät tun.

Hinzufügen von Geräten

Installation von HACS

Homeassistant selbst bietet schon extrem viele Erweiterungen an. Noch mehr bekommt man mit dem „Home Assistant Community Store“ kurz HACS. Hier gibt es auch Erweiterungen für das Dashboard, zum Beispiel ein Wetterradar oder eine Erweiterung, um das Design des Dashboards per CSS zu ändern.

Um HACS zu installieren, geht man ins Terminal und wechselt in das Konfigurationsverzeichnis von Homeassistant. Das ist das Verzeichnis, wo auch unter anderem die Datei „configuration.yaml“ liegt.

Dort gibt man folgenden Befehl ein:

Anschließend startet man Homeassistant neu, indem man unten links die Entwicklerwerkzeuge öffnet und dort auf „Neu starten“ klickt:

Neustarten von Homeassistant
Neustarten von Homeassistant

Dann kann man unter Einstellungen → Geräte und Dienste → Integration hinzufügen HACS hinzufügen.

Hinzufügen von HACS
Hinzufügen von HACS

Nachdem man die Integration HACS gewählt hat, muss man noch einige Punkte bestätigen. Ich wähle alle außer den letzten. Anschließend muss man noch HACS mit seinem GitHub Account verbinden. Das ist nötig, da die Erweiterungen aus HACS von GitHub heruntergeladen werden.

Hinzufügen von HACS
HACS im Menü von Homeassistant

Hat man alles fertig eingerichtet, findet man HACS im Menü von Homeassistant und hat nun noch viel mehr Möglichkeiten, Geräte einzubinden und sein Dashboard zu gestalten.