In diesem Beitrag zeige ich dir, wie du den Home Assistant auf deinem QNAP installieren kannst. Dabei verwalten wir das Ganze in einem Docker Dock und steuern es über Portainer. Du kannst die Anleitung auch ohne Portainer (also der grafischen Weboberfläche) durchführen.
Wenn du noch kein Portainer installiert hast, kannst du dies hier nachholen: Portainer auf QNAP NAS installieren
Ausgangssituation und Einleitung
Ich habe lange Zeit mit Open Hab gearbeitet und durch einige meiner Kontakte aus der Entwicklung werde ich immer häufiger auf den Home Assistant aufmerksam gemacht. Dabei wurde mir erzählt, wie einfach und unkompliziert doch die Automatisierung damit ist und wie stark die Community hinter die Plattform vom Home Assistant ist. Und wie du natürlich weißt, ist eine belebte Community hinter einem Projekt immer ein gutes Zeichen.
Umso wichtiger ist es, dass ich auch die ein oder anderen Erfahrungen mit dem Home Assistant sammle. Dafür muss ich mir zunächst das System aufbauen. Dafür setze ich auf ein Docker Dock auf meinem QNAP NAS.
Was du für dieses Tutorial brauchst
Du brauchst grundsätzlich nicht viel und kannst diesem Tutorial auch ohne QNAP NAS folgen. Dennoch sollten folgende Bedingungen geschaffen werden:
- Installiertes Docker
- Installiertes Portainer (optionale – für 1:1 Verfolgung des Tuts relevant – sonst bisschen den Kopf mit einsetzen 🙂 )
Direkten CLI Befehl (ohne Portainer) findest du hier: CLI-Befehl - Einen Server, Raspberry Pi, NAS oder ähnliches der bereits mit dem Netzwerk verbunden ist
Wenn du noch kein Portainer installiert hast, kannst du dies hier nachholen: Portainer auf QNAP NAS installieren
Container für Home Assistant in Portainer erstellen
Um nun Home Assistant zu installieren, erstellen wir einen Container über Portainer. Portainer vereinfacht lediglich den Umgang mit Docker Containern und lässt uns die Container über eine Weboberfläche verwalten.
Wenn du bereits die Architektur von deinem NAS / System kennst, kannst du direkt zur Einrichtung springen.
Finde heraus, auf welcher Architektur dein System aufgebaut ist
Es ist wichtig, dass du das richtige Image für dein System aufspielst. Wenn du bereits mit Docker und Images vertraut bist, kannst du diesen Part überspringen. Ansonsten ließ dir diesen kurzen Abschnitt zur Architektur deines Systems (NAS) durch.
ARM- und x86-Architekturen sind zwei der häufigsten Architekturen, die für Docker-Images verwendet werden. ARM-Architekturen werden in der Regel für mobile Geräte und eingebettete Systeme verwendet, während x86-Architekturen für Desktop- und Server-Systeme verwendet werden. Wenn man ein Docker-Image auf einer ARM-Architektur erstellt, wird es nicht auf einer x86-Architektur laufen und umgekehrt.
Um herauszufinden, welche Architektur dein System nutzt, schaust du einfach in den Datenblättern nach, welcher Prozessor bei dir verbaut ist.
Ich nutze folgenden:
- QNAP NAS TS-451+ als 8GB Variante
- Dort findest du im Datenblatt die CPU: Intel(R) Celeron(R) CPU J1900
Googelt man nach dem Intel Celeron J1900 findet man heraus, dass dieser x86 Architektur verwendet
Googlesuche: notebookcheck.com
Je nachdem, was für ein Prozessor dein System hat, musst du dir X86 oder ARM merken :).
Home Assistant Container mit Portainer einrichten (Image installieren)
- Logge dich zuerst in deine Portainer-Oberfläche ein
- Suche das passende Image für dein System auf hub.docker.com
- X86 Architektur: https://hub.docker.com/r/homeassistant/home-assistant
- ARM Architektur: https://hub.docker.com/r/homeassistant/armv7-hassio-supervisor
- AMD64 Architektur: https://hub.docker.com/r/homeassistant/amd64-hassio-supervisor
- Kopiere dir den „Namen“ des Images (kompletter Pfad)
- In meinem Fall: homeassistant/home-assistant
- Gehe bei Portainer in die Container-Übersicht und klicke oben rechts auf „Add Container“
- Gebe dir Parameter für deinen Container ein:
- Ganz oben den Namen (individueller Name ohne Leerzeichen)
- Bei Image trägst du das Image ein, dass du oben ausfindig gemacht hast bei Punkt 2
In meinem Fall: „homeassistant/home-assistant„ - Weise die Volumes zu:
- container: /config -> Volume (optional – kannst auch ein Binding festlegen, wenn du die Daten außerhalb vom Container verfügbar machen möchtest) oder du legst ein eigenes Volume dafür an.
- Network
- Network: Host
- Environment Variables
- ENV -> „Add an environment variable“ -> name: TZ ; value: Europe/London
- Restart Policy
- Unless stopped
- Anschließend schließt du die Erstellung mit „Deploy the Container“ ab.
Nun hast du den Container in Portainer erstellt und das Image von Home Assistant erfolgreich aufgespielt.
Home Assistant – Einrichtung Docker für Fortgeschrittene (CLI)
Wenn du jetzt direkt mit Docker arbeitest, kannst du einfach folgenden Befehl verwenden, um dasselbe Set-up ohne Portainer einzurichten:
Beachte, dass du unten bei home-assistant:stable deine Version aus der Liste oben von Punkt 2 einfügst.
docker run -d \ --name homeassistant \ --privileged \ --restart=unless-stopped \ -e TZ=Europe/London \ -v /PATH_TO_YOUR_CONFIG:/config \ --network=host \ ghcr.io/home-assistant/home-assistant:stable
Einrichten von Home Assistant / Login Festlegen / Onboarding
Um jetzt die Einrichtung durchzuführen, stelle sicher, dass der Container läuft und es keine Fehlermeldungen innerhalb des Logs gibt. Dies stellst du in Portainer einfach über die Container-Übersicht und dann auf dem Icon Log ein.
Der Log sollte dann fehlerfrei aussehen und in der letzten Zeile sowas wie: s6-rc: info: service legacy-services successfully started stehen haben.
Sollten dort Fehler auftreten, würde ich dir raten, zunächst die Fehler zu beheben. Vermutlich hast du eine falsche Version für eine falsche Architektur ausgewählt. Schaue dafür nochmal weiter oben, ob du das richtige Image ausgewählt hast.
Auch könnten im Log bereits eingehende Verbindungen von zum Beispiel Chromecasts, Fire TV Sticks oder ähnlichen im Netzwerk befindlichen Geräte auftauchen. Diese kannst du ignorieren.
Home Assistant über Browser aufrufen – Port: 8123
Der Standard-Port vom Home Assistant ist der Port 8123. Du tippst nun die IP-Adresse des Gerätes, auf dem du den Container gestartet hast, ein und fügst am Ende den Port mit „:8123“ hinzu. Anschließend öffnet sich das Browserfenster, für die Einrichtung.
Sauber, damit hast du Home Assistant bereits zum Laufen gebracht.
Die nachfolgende Einrichtung bestehend aus ein paar Namen, Passwörtern, die du festlegen musst sowie Geo-Daten und Einstellungen kannst du dir selber aussuchen. Dazu braucht es kein Tutorial mehr.
Fazit zur Einrichtung von Home Assistant über Portainer (Docker Container)
Die Einrichtung über einen Docker Container bzw. über die Weboberfläche von Portainer bietet diverse Vorteile. Zum einen kann das System direkt auf ein anderes System portiert werden oder auch vollständig ohne Rückstände wieder vom System entfernt werden. In meinem Fall starte ich nun ein paar Teste, da ich zuvor nur mit Open Hab gearbeitet habe und die ersten Berührungspunkte mit Home Assistant sammeln werde.
Meine Grundidee war es eigentlich immer, das eigene Smart Home System auf einem eigenen Server (wie einem Raspberry Pi) am Laufen zu haben. Um zu gewährleisten, dass ich auch noch etwas schalten kann, wenn der NAS mal einen Defekt hat oder ausgefallen ist. Da aber die reine SD-Karte eines Raspberry Pis auch anfällig ist auf Laufzeit und ich aktuell kein M.2 SSD + Upgrade Kit für ein Pi liegen habe, lasse ich es vorerst auf meinem QNAP NAS laufen. Später kann ich den Dock immer noch mit dem ARM Image auf einem Raspberry Pi zum Laufen bringen, falls mich der aktuelle Aufbau stören sollte.
Alles in allem besteht die Einrichtung aus wenigen Schritten und man kann nicht viel falsch machen. Der größte Knackpunkt liegt sicherlich zuvor bei der Einrichtung von Portainer – was du jedoch einfach mit diesem Tutorial auf deinem QNAP NAS installieren kannst. Sobald die Arbeit mit Portainer selber beginnt, ist die Einrichtung von neuen Containern super einfach machbar.
Hast du Fragen oder Anregungen, komm gerne auf mich zu. Auch wirst du bald das zugehörige kurze Video finden und eventuell, wenn mit Home Assistant zusagt, weiter nützliche Informationen und Tipps zum System und Aufbau.