Smart Home

Anleitung: Home Assistant auf QNAP NAS installieren

In diesem Artikel beschreibe ich, wie sich die Home Assistant Smart Home Plattform über Docker auf einem QNAP NAS installieren und betreiben lässt.

Die Ausgangssituation

Bei vielen Smart Home Produkten gibt es einen gemeinsamen Nenner, der sie in meinen Augen uninteressant macht: die Pflichtanbindung an die Cloud. Nicht nur das Sammeln von Daten über das eigene Zuhause durch einen Dritten, sondern auch die Tatsache, das eine dauerhafte Verbindung zum Cloud-Dienste bestehen muss, damit das intelligente Zuhause (oder Teile davon) richtig funktionieren, waren mir seit Beginn dieser relativ jungen Gerätekategorie ein Dorn im Auge. Ganz zu schweigen von der Tatsache, dass sich die unterschiedlichsten Hersteller ihre eigenen Protokolle und Dienste gebaut haben, die inkompatibler kaum sein könnten. Es musste also eine eigene Lösung her, gehostet innerhalb der eigenen vier Wände.

In diesem Artikel möchte ich zeigen, wie schnell und einfach eine Instanz der Smart Home Plattform Home Assistant auf einem NAS-Server von QNAP via Docker installieren lässt. Für alle, die neu in der Smart Home Welt sind, das wichtigste in Kürze:

NAS – steht für Network Attached Storage. Ursprünglicher Gedanke eines NAS war die Bereitstellung von zentralem Speicherplatz über das Netzwerk, ähnlich einer externen Festplatte mit Netzwerkanschluss. Heutige NAS-Server haben mit diesem Ausgangsgedanken nicht mehr viel gemein. Vielmehr handelt es sich dabei um vollwertige Mini-Server, die vom Videostreaming, über die Datensicherung bis hin zur Ausführung von virtuellen Maschine alles bewerkstelligen können (je nach Hardwareausstattung). In meinem Fall kommt eine QNAP TS-453A Server* zum Einsatz.

Home Assistant – ist ein Open Source Smart Home- und Automatisierungsprojekt, das auf Basis von Python 3 von einer sehr aktiven Community stetig weiterentwickelt wird. Die Kernfunktion von Home Assistant ist als zentrale Schnittstelle zwischen diversen Smart Home-Geräten und -Sensoren zu fungieren. Es löst in gewässerweise die ursprünglich erwähnten Inkompatibilität auf und bietet eine gemeinsame Basis für eine kontinuierliche wachsende Anzahl an Smart Home Geräten. Eine Demo der Home Assistant Oberfläche gibt es auch für alle Interessierten.

Docker – Ist ein Tool, das die sogenannte Containervirtualisierung ermöglicht. Im Gegensatz zu einer vollwertigen virtuellen Maschine werde dabei sogenannte Container verwendet, die getrennt voneinander im Parallelbetrieb aktiv sein können. Verglichen mit herkömmlichen VMs haben Docker Container den Vorteil (wenn richtig umgesetzt) besonders ressourcensparend zu sein. Das ist besonders im Kontext von NAS-Servern interessant, da hier vor allem der Arbeitsspeicher zu meist eine knappe Ressource ist. Entsprechende Container können über das sogenannte Docker Hub bezogen werden. Das wichtigste am Prinzip Docker, was die Technik von anderen VMs unterscheidet: Container sind Wegwerfware. Ja – richtig gelesen, sobald es einen neuere Version des Containers gibt, wird der alte gelöscht oder einfach überschrieben. Innerhalb des Containers befinden sich dabei alle wichtigen Daten (Betriebssystemdateien und die Software selbst), die Konfiguration liegt jedoch irgendwo außerhalb des Containers. Somit lassen sich Container innerhalb weniger Minuten austauschen, ohne das etwas an Konfigurationsdateien geändert werden müsste. Der Docker Container für Home Assistant findet sich ebenfalls im Docker Hub.

Auf geht’s – die Vorbereitung

Werfen wir in Kürze einen Blick darauf, was wir alles benötigen, um Home Assistant auf einem QNAP NAS zum Laufen zu bekommen.

  1. QNAP NAS mit aktuellster Version von QTS
  2. Aktuellste Version der Container Station App ist auf dem NAS installiert (= die Benutzeroberfläche von QNAP für den Docker-Unterbau)
  3. SSH-Zugriff ist auf dem NAS aktiviert (findet sich bei den FTP-Einstellungen)
  4. Ein SSH-Client, wie Putty unter Windows oder die Konsole unter Mac OSX / Linux Distributionen

In der folgenden Anleitung verwenden wir eine SSH-Verbindung, um auf die Konsole des QNAP NAS* zuzugreifen. Dieses ermöglicht, die sehr schnelle und einfache Einrichtung des Docker-Containers, mit nur einem Befehl. Theoretisch lässt sich der Container auch über die Oberfläche der Container Station installieren, das dauert aber deutlich länger und ist nur mühsame Klickerei.

Home Assistant Installation Schritt für Schritt

Schritt 1: Via Konsole oder Putty eine Verbindung zu dem NAS via SSH herstellen. Dazu einfach die IP des NAS zusammen mit euren Administrator-Anmeldedaten eingeben. Unter Mac OSX funktioniert dazu ganz einfach:

MacBookPro:~ user$  ssh adminnutzer@NAS-IP-Adresse

Schritt 2: Den Docker Container herunterladen und aktivieren. Das passiert alles mit einem einzigen Befehl, den wir uns im Folgenden zunächst einmal genauer ansehen wollen:

docker run -d --name="home-assistant" -v /share/Container/homeass:/config --privileged -v /etc/localtime:/etc/localtime:ro --net=host homeassistant/home-assistant:latest python -m homeassistant --config /config

-d: detached mode: lässt den Container im Hintergrund starten und weiterlaufen, auch wenn die SSH-Verbindung geschlossen wird. Steuern lässt sich der Container dann ab dem Zeitpunkt der Einrichtung ganz normale über die Container Station App.

–name: Name des Containers. Logisch. Wer das frei lässt, bekommt vom QNAP NAS einen lustigen Namen zugewiesen. Ich würde einen eigenen Namen setzen.

-v /PFAD_AUF_DEM_NAS:/config: Pfad zum Ordner mit den Konfigurationsdateien. Wird erstellt, sofern er nicht existiert. Sollte das nicht klappen, einfach vorab einen Ordner über QTS anlegen!

-v /etc/localtime:/etc/localtime:ro: Einbindung der aktuellen NAS-Uhrzeit als Zeitreferenz für den Container.

–net=host: Ausführen des Containers im Host-Mode. Hierdurch wird der Container über dieselbe IP wie das NAS selbst angesprochen und kann auf alle Ports zugreifen. Wer das nicht will, kann auch den Bridge-Modus wählen und spezielle Ports zuweisen. Da das NAS aber im Regelfall hinter einer Firewall hängt und die verschiedenen Smart Home-Geräte die exotischsten Ports nutzen, ist die host-Option die praktikablere Lösung.

homeassistant/home-assistant:X.XX.XX ODER homeassistant/home-assistant:latest: Die Angabe zum Docker-Container Name im Docker Hub mit Versionsangabe. Anstatt die genaue Version anzugeben (die aktuellste findet sich immer im Docker Hub in der Spalte „Tag“), kann auch :latest verwendet werden. Das hat aber einen Nachteil – dazu unten mehr.

Restlicher Code: Startet den Container mit externer Konfigdatei, wie vorab festgelegt.

Schritt 3: Code anpassen und ausführen. Der Code aus Schritt 2 sollte so laufen und die aktuellste Container-Version herunterladen, installieren und starten. Ich rate euch aber dazu, die Parameter entsprechend eurer Bedürfnisse (Pfad zum Config-Verzeichnis) anzupassen. Enter startet den Prozess. Es erscheint die folgende Meldung, danach startet der Download.

Unable to find image 'homeassistant/home-assistant:0.71.0' locally
0.71.0: Pulling from homeassistant/home-assistant

Schritt 4: Nach wenigen Minuten sollte Download und die Extraktion des Containers abgeschlossen sein (je nach Leistung des NAS und der Internetleitung).  In der Konsole erscheint dann eine Nachricht im folgenden Format:

Digest: sha256:82fed5f17072d0ab6985b65f9d114cb0d6b64ca59c14a8e6e44ef7bd5ae3b85c
Status: Downloaded newer image for homeassistant/home-assistant:0.71.0
0a47a540441c3f5cde691d00973fd31db9c663ec5edea7ea7b13e34d3f455760

Ab sofort seht ihr den Container in der Container Station App im QTS Frontend und könnt ihn von hier auch starten und stoppen sowie löschen.

QNAP Container Station - Home Assistant

Fertig! Ab sofort steht euch eine Home Assistant Instanz auf eurem NAS* zur Verfügung.

Schritt 5: Das könnt ihr auch direkt ausprobieren und die Web-Oberfläche aufrufen. Dazu einfach http://NAS-IP-Adresse:8123 in den Webbrowser eingeben (vorausgesetzt euer Gerät ist im lokalen Netzwerk eingebunden) und schon sollte ihr die Home Assistant Oberfläche mit dem Standardinhalten sehen.

Home Assistant Docker Container updaten

Da sich Home Assistant dauernd weiterentwickelt, ist die Integration über Docker nahezu perfekt geeignet. So lässt sich sehr schnell zwischen Versionen hin und her wechseln, um Dinge zu testen. Im Folgenden daher noch der schnelle Weg zum Update des Containers auf die neuste Version.

Schritt 1: Alte Instanz des Containers löschen.

Dazu in die Container Station App wechseln und zunächst den Container stoppen. Danach mit einem Klick auf das kleine X in der rechten Spalte den Container löschen – keine Angst eure Konfiguration liegt ja außerhalb des Containers und ist davon nicht betroffen. Löschdialog bejahen. Danach dauert es einen Moment und der Container verschwindet aus der Liste.

Schritt 2: Neuen Container per SSH installieren.

An dieser Stelle möchte ich kurz auf einen weiter oben gegeben Hinweis eingehen. Meiner Erfahrung nach, verhält sich die Container Station nicht besonders intelligent, wenn Container mit der Versionsoption „latest“ hinzugefügt werden. Das NAS findet dann bei einem erneuten Hinzufügen immer einen Container „latest“ von letzten Mal, anstatt den aktuellesten Container aus dem Docker Hub zu beziehen. Um dies zu verhindern und sich die Möglichkeit offen zu halten, schnell zwischen Container-Versionen zu wechseln, empfehle ich die manuelle Angabe der gewünschten Versionsnummer (siehe oben).

Ausgehend davon, dass wir zuvor eine manuelle Versionsangabe bei der Initialinstallation angegeben hatten (z.B. 0.70.1), die dann in Schritt 1 des Updates entfernt wurde, installiert folgender Befehl die neuere Version 0.71.0 von Home Assistant.

docker run -d --name="home-assistant" -v /share/Container/homeass:/config --privileged -v /etc/localtime:/etc/localtime:ro --net=host homeassistant/home-assistant:0.71.0 python -m homeassistant --config /config

Es wird erneut der Container heruntergeladen und entpackt. Danach startet Home Assistant von alleine und alles sollte laufen – jetzt mit der aktuellsten Version des Projektes.

Downgrade des Home Assistant Docker Containers

Der aufmerksame Leser wird es sich bereit denken können.

Schritt 1: Container in der Container Station stoppen und löschen

Schritt 2: Container mit alter Versionsnummer per SSH hinzufügen. Das passiert nun innerhalb weniger Sekunden, weil der alte Container ja immer noch lokal vorhanden ist. Ihr habt in Schritt 1 nur die konkrete Instanz gelöscht, nicht jedoch die Container-Daten. Wer das explizit tun möchte, kann dieses über die Container Station erledigen (Menüpunkt Images).

Schlusswort

Wer das Prinzip von Docker einmal verstanden hat, wird es bald nicht mehr missen wollen. Home Assistant lässt sich damit ganz leicht pflegen und stets aktuell halten. Auch die integrierte Konsole der Container Station ist ein klasse Tool, um Fehlern auf die Schliche zu kommen. Wenn ihr Fragen oder Anregungen habt, freue ich mich natürlich auch eure Kommentare 🙂

YouTube

Mit dem Laden des Videos akzeptieren Sie die Datenschutzerklärung von YouTube.
Mehr erfahren

Video laden

Hinweis: Mit Sternchen (*) markierte Links sind Affiliate-Links / Partnerlinks. Mit einem Kauf über diesen Link erhalten wir als Seitenbetreiber eine Verkaufsprovision. So kannst du das Projekt ganz einfach unterstützen. Mehr Informationen dazu findest du hier.

57 Gedanken zu „Anleitung: Home Assistant auf QNAP NAS installieren

  • Hallo Nils,

    vielen Dank für deine ausführliche und wirklich guten Anleitung. Mit dessen Hilfe konnte ich auf Anhieb einen Docker Container mit der aktuellen Version von Home Assistant aufsetzen. Jetzt frage ich mich, wie man nun Geräte / Sensoren, die mit Z-Wave oder ähnliche drahtlosen Standards kommunizieren. mit Home Assistant verheiraten kann. Ich stelle mir das so vor, dass in das Qnap NAS ein Z-Wave USB Stick gesteckt wird, welcher dann zum Home Assistant Container durch gereicht wird. Hast du damit schon zu tun gehabt und kannst du ggf. deine Erfahrungsberichte teilen?

    Gruß
    Martin

    Antwort
    • Hallo Martin,

      vielen Dank für dein nettes Feedback! Das mit Z-Wave funktionier genau so, wie du es beschrieben hast. Du musst später nur dem Docker Container Zugriff auf das USB-Gerät geben. Das geht ganz einfach über die Container Station nachdem du den Container erstellt hast. Ich selber nutze leider jedoch kein Z-Wave, daher habe ich das aber noch nicht genauer betrachtet. 🙁

      Viele Grüße,
      Nils

      Antwort
  • Hallo Nils,

    noch mal danke für deine Antwort. Mit Hilfe deiner Installation sind jetzt mittlerweile vier Wochen vergangen und meine Home Assistant Instanz entwickelt sich prächtig. Bei der Individualisierung des Systems stolpere ich immer wieder über Pfade der Installationen, die ich in meinem Docker nicht finde. Da geht es zum Beispiel um das Hinzufügen von Json Dateien oder Grafiken in einem www bzw. local Ordner. Wenn ich zu diesem auf meiner QNAP browse, komme ich natürlich nicht zum entsprechenden Verzeichnis des Dockers.

    In den anderen Docker Images, die ich mal getestet habe (OpenHAB, IObroker etc.) kann in der Docker Station auf Console klicken und bin dann auf der Konsole des entsprechenden Dockers. Das funktioniert bei dem HA Docker seltsamerweise nicht. Der Cursor blinkt zwar kurz auf, aber auf Eingaben reagiert der Terminal nicht. Wenn ich mich per SSH auf meine QNAP verbinde, sehe ich unter den mountpoints /share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/%DOCKERIDs“ mehrere Docker Images (nehme ich mal an) und habe darin eine „normale“ Linux- Verzeichnisstruktur. Wo befindet sich jetzt genau die Home Asstant Installation, also der Webserver? Gruß Martin

    Antwort
    • Ich glaube, ich habe es gefunden. Ich habe den Ordner www „einfach“ im gleichen Verzeichnis erstellt, in denen sich auch die ausgelagerten Config- Dateien befinden.

      Antwort
      • Das ist genau richtig.:) Für deinen Docker-Container ist das Config-Verzeichnis das Root-Verzeichnis. Dort müssen alle Ordner und weiteren Dateien rein.

        Grüße,
        Nils

        Antwort
  • Hallo, danke für die Anleitung. Gute Arbeit.
    kleine Frage ich finden den Eintrag hass.io (bzw. Supervisor seit neuestem) nicht. Wie bekomme ich diesen rein?

    Grüße
    Frank

    Antwort
    • Hallo Frank,
      danke für dein Feedback!
      Ich verstehe deine Frage bzgl. hass.io nicht genau. Was genau suchst du? 🙂

      Viele Grüße,
      Nils

      Antwort
  • Hallo Nils,
    danke für die Reaktion, also im Dashboard sieht man in verschieden Videos auf der linken Seite wo Verlauf und Einstellungen steht auch einen Eintrag „Hass.io“ oder seit der neuesten Version heißt dieser Eintrag „Supervisor“ damit kommt man auf ein Dashboard mit dem man Add-ons installieren, Snapshots erstellen kann. Unter anderem kann dort auch ESPHome installiert werden und andere Editoren usw.

    In diesem Video wird eine fertige Installation auf einem Raspi gezeigt. Ab 5:59 sieht man diesen Eintrag sehr gut: https://youtu.be/7LLgcOOHsls?t=359
    Allerdings habe ich nur einen Raspi 1 der ist zu langsam. und da ich ja die QNAP hab will ich eigentlich keinen neuen Raspi kaufen.

    Falls du also eine Möglichkeit findest wie ich dieses „Hass.io / Supervisor“ auf meine QNAP-Docker dazu bekomme wäre ich sehr interessiert daran.

    Schönes WE und danke für die vielen nützlichen Infos auf deiner Website.
    Viele Grüße
    Frank

    Antwort
    • Hallo Nils,

      die Frage oben hat sich erledigt, ich habs geschafft über den inoffiziellen Weg das hass.io auf einen Ubuntu 18.04 Server unter Docker zu installieren.

      Antwort
      • Hallo Willi,

        alles klar. Das heißt, du hattest vorher also Home Assistant Standard und nicht hass.io installiert. Das erklärt auch den fehlenden Eintrag im Menü.

        Viele Grüße,
        Nils

        Antwort
      • moin

        habe auch das problem wie du es hattest.

        kannst du mir vielleicht eben erläutern was du genau gemacht hast??

        bzw. eine anleitung dazu??

        über eine rückmeldung wäre ich dir dankbar

        Antwort
        • Hallo lufre,

          ich habe seine Lösung so verstanden: Er hatte zuerst das normale Home Assistant Image installiert. Den Menüpunkt, den ihr beide sucht, gibt es aber nur in der hass.io Imageversion.

          Viele Grüße,
          Nils

          Antwort
          • danke für die rückmeldung.

            dies habe ich so auch verstanden.

            doch wie installiert man hass.io denn??

          • Hi Felix,
            dafür musst du dir eines der bereits vorbereiteten Hass OS Images laden: https://www.home-assistant.io/hassio/installation/

            Das ist dann quasi ein fertiges Betriebssystem auf Linuxbasis inklusive Home Assistant.

            Viele Grüße,
            Nils

  • Hi Nils,

    schön das es leute wie dich gibt.
    Ich habe das Problem das bei Doker installationen immer die Conterainer Adapter genutzt wird und dessen IP kann man nicht ändern.
    Ich habe eine TS-253a und für die Smart Home Schalterchen 🙂 ein eigenes VLAN. Natürlich habe ich auch einen L3 Switche damit ich von meinem PC auf die Smart Home Geräte zugreifen kann.
    Jetzt würde ich aber gerne die 2. LAN schnittstelle der QNAP in das Netz der Smart Home Geräte hängen und dann den Home Assistant auch über diese Schnittstelle ansprechen.
    Das klappt aber nicht den mit Host nimmt er die IP der NAS und bei Bridge nimmt er den fest vorgegebenen Wert des Virtuellen Switch container.
    Hast du darin irgendwelche Erfahrungen bzw. kennst du jemanden der das ähnlich macht.

    grüße Carsten

    Antwort
    • Hallo Carsten,

      genau was du probierst habe ich damals auch versucht zum Laufen zu bekommen. Das Ganze war damals (schon einige QTS-Releases her) nur mit Bastelei am Linux des QNAPs möglich. Das wollte ich aber nicht und habe es daher auch nicht weiterverfolgt. Dann hat man nämlich bei jedem Update des OS wieder das Problem, alles neu zu konfigurieren.

      Meine Lösung war damals radikal: Ich haben den Container auf ein anderen Rechner (siehe hier) ausgelagert auf dem mehrere Ubuntu Server VMs (unter anderem für kleinere Kundenprojekte) laufen. Damit war ich dann frei die VLANs so zu verteilen, wie ich wollte – also auch die gesamten VM mit dem Container in ein eigenes VLAN hängen. Damit musste ich mich dann innerhalb von Docker nicht mehr mit den Adaptern rumschlagen, sondern lasse den Container auf der als VM -host laufen.

      Löst leider dein Problem nicht. Man kann sicher irgendwie die Adapter von dem Docker Container vollständig manuell anlegen und dann im Virtual Switch auch auf einen Ethernet-Port bridgen. (War damals mein erster Gedanke, ich habs aber nicht hinbekommen).

      Sorry, dass ich dir nicht mehr dazu helfen kann 🙁

      Viele Grüße,
      Nils

      Antwort
  • Hi, ich komme hier einfach nicht weiter – ich bestize auc ein QNAP allerdings ohne Virtualization Station, also muss ich auch mit Docker arbeiten. ich würde gerne Hass.io installieren – Homeassistant klappt, bei hass.io bin ich überfordert.

    Mein QNAP läuft mit einem ARM Chipsatz, also dachte ich, dass ich mir das

    https://hub.docker.com/r/homeassistant/armv7-hassio-supervisor

    hier per Console ziehe (Image ist dann auch auf dem NAS) darauf will ich nen Container anlegen – geht auch, aber startet nicht

    hach … kann mir nicht jemand unter die Arme greifen ? 🙁

    Antwort
    • Hallo Andi,

      ich habe leider keine direkten Erfahrungen mit Docker auf einem ARM-QNAP-NAS. Was natürlich komisch ist, dass der Home Assistant Container läuft und der Hass.io zickt.

      Was sagt denn das Log vom Container, wieso der Startvorgang abbricht? Eine Möglichkeit könnte sein, mal eine ältere Version des Image zu testen, um einen Fehler im aktuellen Build auszuschließen. Da du nicht schreibst, was für ein NAS du hast: Ist es denn eine CPU mit ARM v7 Architektur oder vielleicht ein Gerät mit einer v6 oder gar noch v5 Architektur?

      Sorry, dass ich dir nicht DEN Tipp geben kann 🙁

      Viele Grüße,
      Nils

      Antwort
      • ich hab das TS-332X-2G von QNAP – also die budgetfreundlichste Variante 🙂
        ich bin da wirklich absoluter Laie und hab wenig Ahnung – kriege das mit Anleitung gerade so hin

        Antwort
        • Dein NAS hat ja eine ARM Cortex-A57 CPU. Die basiert auf der ARMv8-Architektur. Das sollte also ohne Probleme mit dem von dir verwendeten Image laufen. Aber ohne konkrete Log-Files kann ich dir leider nicht wirklich helfen.

          Ich glaube du solltest dich damit mal im Home Assistant Forum melden. Da wird einem in der Regel schnell geholfen 🙂 Sorry, dass ich nicht mehr für dich tun kann!

          Viele Grüße,
          Nils

          Antwort
  • Hey Nils,

    hallo Andy hier , ich habe mich an deine Anleitung gehalten aber komm hier nicht wirklich weiter. Ich habe ein Qnap TS-453Bmini bei mir zur Verfügung. Wenn ich deinen Befel den ich ier zuerst raus kopiert hatte und später als ich das Video nochmal angeschaut habe und Fehler korrigiert wurden ausgeführt aber leider erhalte ich immer eine Fehlermeldung.

    docker run -d –-name=“home-assistant“ -v /share/Container/homeass:/config –-privileged -v /etc/localtime:/etc/localtime:ro –-net=host homeassistant/home-assistant:0.88.1 python -m homeassistant –-config /config
    docker: invalid reference format.
    See ‚docker run –help‘.

    was kann ich hier machen, was mich vor allem wundeer das du auf deinem NAS schon einen Container mit einigen Daten und Verzeichnissen drin hast was im Video zu sehen . ich gehe davon aus das Du bei dir ein Update machst und daher die Daten schon enthalten sind oder muss ich hier vorher schon etwas anlegen auf der Qnap. Ich bin jetzt schon den ganzen Nachmittag dabei um zu versuchen den Homeassistant zu Installieren leider vergebens und meine erste Meldung hier, wurde bis dato nicht angezeigt erst stand dort muss freigeschalten werden aber dann war sie fort. Wer muss diese Frei geben?

    Gruß Andy

    Antwort
    • Hallo Andy,

      da unglaubliche viele Spam-Bots auf dieser Website unterwegs sind, muss ich leider jeden Kommentar manuell prüfen und freigeben. Das dauert manchmal ein wenig und ich komme meist erst ein oder zwei Tage später dazu.

      Bei deinem Fehler handelt es sich um einen Syntax-Fehler im Befehl. Ich fürchte, hier auf der Website wurden doppelte Bindestriche „- -“ zu einem langen Bindestrich (–) umgewandelt. Ich erhalte mit deinem Befehl oben nämlich denselben Fehler. Ich habe den Befehl oben im Artikel noch mal angepasst. 🙂

      Mit

      docker run -d --name="home-assistant" -v /share/Container/homeass:/config --privileged -v /etc/localtime:/etc/localtime:ro --net=host homeassistant/home-assistant:latest python -m homeassistant --config /config

      sollte es aber laufen.

      Dieser Befehl lädt dir den aktuellsten Container herunter (:latest). Wenn du, wie in deinem Befehl oben geschrieben, aus irgendwelchen Gründen lieber die Version 0.88.1 installieren willst, musst du statt „:latest“ natürlich „:0.88.1“ angeben.

      Viel Erfolg!

      Grüße,
      Nils

      Antwort
  • Hallo Nils,

    ok ich verstehe war nur etwas eigenartig das der Kommentar nach einer weile verschwunden war. Erst stand dort muß freigeben werden und bei weiter Aktuallisierung war der Kommentar leider verschwunden. Ich war davon ausgegangen das dieser dann Automatisch gelöscht wurde deswegen habe ich mehrfachversucht und dir dann letztendlich eien Mail geschrieben. Entschuldige das ich so ungeduldig gewesen bin, hatte nur auf anderen Seiten auch schon öfter mal das Problem das die Post nicht gesendet wurden. Danke auf jeden Fall das du so schnel reagierst und versuchst zu helfen!

    Den Fehler mit den doppelten Bindestrichen hatte ich schon abgeändert und dennoch hatte ich die Fehlermeldung erhalten. Habe natürlich nur einen zusätzlichen Binde strich hinzugefügt und das leerfeld entfernt, habe nicht den schon stehenden Bilndestrich entfernt und neu geschrieben. Wenn es daran auch nicht liegen sollte weiß ich auch nicht. Kann es sein das ich den Pfad zum Container bei mir noch ändern muss. Ich weiß nicht ob das auch noch eien Rolle spielt, wenn man das Storage mit zwei PArtitionen oder Virtuellen Platten engelegt hat. Muss ich dann den pfad ergänzen, habe mit dem ls -l Befehl den Ordnerinhalt von Share auflisten lassen dort wird davor noch „cachedev1_data“ angezeigt oder reicht es dennoch nur „/share/Container/“ zu schreiben?

    Das mit der Version die du hier erwähnst liegt daran das ich auf der Seite die du ober verlinkt hat wo die Versionen zu sehen sind, die letzte aktuelle Version eben die 0.88.1 ist haben dann schon später bei Docker auf der Seite gesehen es gibt jetzt mitlerweile schon die Version 0.117.6
    Wollte eben auch mit den Versionsnummern arbeiten wie du es empfohlen hattest in deiem Artikel hier. Sind denn alle Versionen von Home Assitant für den Docker auf der Qnap geeignet. Von Qnap selbet wird nur die Version 0.66.? angeboten und wenn man über den Dockerhub sucht und auf erstellen geht dann kommt der hinweiß das es Drittanbieter ist und Qnap dort nicht für verantwortlich ist. Vir allem steht an den neueren Versionen nichts von python.

    Ich werde es heute nachmittag noch mal versuchen, ob ich es installiert bekomme. und melde mich dazu auf jeden Fall noch mal.
    Auch übrigends kannst du einer der beiden Kommentare raus nehmen ist ja doppelt und beide von mir. Hatte denk ich auch noch eien Dritten gesendet gehabt.

    Gruß
    Andy

    Antwort
    • Hallo Andy,

      kein Thema!

      Zu deinen Fragen:

      1) Du musst natürlich den richtigen Pfad zu deinem gewünschten Config-Ordner vorher anlegen. Zum Beispiel über die File Station. Sollte es den Pfad nicht geben, würde Docker einen Fehler anzeigen. Das ist dann aber eine andere Fehlermeldung als die, an der du gestern gescheitert bist.

      2) In der Regel legt das QNAP symbolische Links so an, dass alle Freigabeordner direkt unter /share/ zu erreichen sind. Es schadet aber auch nicht den direkten Pfad über dein Volume anzugeben (cachedev1….). Ich habe auch zwei Volumes laufen und kann trotzdem ohne Probleme via share/config/ den Ordner ansprechen.

      3) Mir sind keine Einschränkungen bekannt. Mit aktuellem QTS-Betriebssystem und der neusten Version der Container Station hast du in der Regel auch die neuste Version von Docker installiert. Auch die aktuellste Version von HA sollte auf deinem NAS laufen. Ich finde den Weg über die konkrete Version intuitiver. Man kann dann immer die neuste Version eintippen und löscht das Image der alten Version dann, wenn man mit der neuen zufrieden ist. So kann man bei einem Update im schlimmsten Fall auch ganz schnell wieder zurück zur vorherigen Version. Ist aber Geschmacksache. Aufpassen, ob es eine neue Version gibt, musst du ohnehin.

      Viel Erfolg!

      Grüße,
      Nils

      Antwort
  • Hallo Nils,

    wie versprochen melde ich mich wie es ausgegangen ist. Also haben es zu erst mit dem Pfad /share/cachdev1_data/container versucht das hatte nicht geklappt es tauchten keine Verzeichnise nach der Erstellung des Homeassistant Dockers Auf aber beiem zweiten versuch mit dem Pfad wie von dir angegeben hat es funktioniert. DAnke für diee Hilfe und dein super Support.

    Habe die Befehlszeile im editom wo ich den voherigen drin hatte noch mal Verglichen habe dort keien Fehler sehen können aber komischer weise hat es mit dem den du mir zuletzt gesendet hast geklappt. Danke!

    Was jetzt noch cool wäre es du weitereAnleitungen/Tutorials auf deutsch erstellst, die Zeigen wie du Homeassistanst mit Homekit verbindest und wie man dort die Unterschiedlichten Sensoren, Entitäten und Geräte hinzufügt und auf dem jeweils anderen gerät danna uch steuern kann durch Szenen, Aufläufe und Skripte. Weil da bin ich jetzt noch nicht wirklich weiter gekommen. Habe im Homekit schon einige Geräte drin aber diese Werde mir in Homekit nicht angezeigt. Obwohl ich Homeassitant als Brindge eingebunden haben und normal neuen Systeme angezeigt werden sollten. Würde gern mehr von die Lernen.

    Schönen Abend!

    Gruß
    Andy

    Antwort
    • Hallo Andy,

      das freut mich sehr zu hören, dass es nun funktioniert hat: Sowohl die Bestimmung des Pfades, als auch das Starten des Containers. 🙂

      Zu HomeKit: Ich persönlich habe alle Automatisierungen direkt in Home Assistant umgesetzt. HomeKit nutzen ich eigentlich nur, um Siri Dinge zu diktieren.

      Ich habe auch leider keine anderen HomeKit-fähigen Geräte. Aber es sollte so sein wie du sagst: Die Bridge kann ein HomeKit-Gerät von vielen sein. In HomeKit sollten sich alle HomeKit-Geräte dann wieder gemeinsam verwenden lassen.

      Du bindest quasi HomeAssistant als Hub mit vielen Geräten in einem weiteren Hub (HomeKit) ein, welches wiederum mehrere Geräte haben kann.

      Dieses Jahr werde ich wohl nicht mehr dazu kommen, mich dem Thema näher hier in einem Artikel zu widmen. Ich hoffe, du kommst trotzdem weiter! 🙂

      Viele Grüße,
      Nils

      Antwort
  • Hallo Nils,

    Danke!

    So ganz habe ich das jetzt nicht verstanden, du hast auf jeden Fall HomeKit Geräte und hast sie aber alle in Homeassistant nur eingebunden oder wie meinst du das? Und die Geräte kannst du per Siri Sprachbefehle über dein Homekit zu Homeassistant steuern? Ist das jetzt so Korrekt? Hättest du mal Zeit das Wir uns mal per Skype, Teams oder Telefonisch verständigen und du mal mit bei mir eventuell per TeamViewer draufschaust? Vielelicht aknnnst du mir ja mal kurz Helfen und Zeigen wo ich eventuell was Fals mach das ich die HomeKit Geräte und Sensoren z.B. noch nicht in Homeassistant finden kann oder wie ich diese dort rein bekomme oder Umgekehrt. Ich bestell würde jetzt auch Z-Wave und Zeegbee USB-Brigde Dongle bestellen um Bestimmte Geräte der Anderen einbinden und nutzen zu wollen. Nur leider eiß ich im momebt noch nicht sorecht wie das klappt.

    Könntest hier für dich auch die Erfahrungen gleich mit Sammeln und eventuell nutzen. Ich würde dir mal ne Mail schreiben wo du meien Kontaktdaten drin Findest und hoffe das wir uns mal zu dem ganzen Thema bei einer mündlichen Komunikation schneller und einfacher austauschen können. Manchmal fehlt so der kleine entscheiden e Anstoß das es klick macht bzw. das mal noch jemand mit drüber schaut das es dann auf einmal funktioniert.

    Will mir gerade die Zeit nehmen um das endlich mal um zu setzzen weil ich das ewig geschoben habe weil ich vorher nichts von Homeassistant wusste, welches hier jetzt so viele ungeahnte möglichkeiten eröffnet. Ebentuell benötige ich auch noch etwas am Qnap um die HomeKitgeräte sehen zu können? wer weiß?

    Gruß
    Andy

    Antwort
    • Hallo Andy,

      sorry, das habe ich etwas doof formuliert. Noch ein Versuch: Ich besitze keine Smart Home Geräte, die von sich aus HomeKit-fähig sind. Bei mir sind alle SmartHome-Geräte / Sensoren in Home Assistant zusammengefasst. Home Assistant leitet das Ganze dann an HomeKit weiter. Über diese Schnittstelle werden (alle unterstützen) Home Assistant Geräte dann per HomeKit und somit auch via Siri steuerbar (siehe Punkt ganz unten „HomeKit direkt mit Home Assistant verwenden“).

      Mit der Anbindung von Geräten via Zigbee / Z-Wave habe ich bisher keine Erfahrungen gesammelt. Setze ich bei mir nicht ein. Aber dazu gibt es ja Unmengen an Infos direkt auf der offiziellen Home Assistant Seite und im offiziellen Forum.

      Wie bereits geschrieben, habe ich aktuell sehr wenig Zeit, mich um dieses Projekt hier zu kümmern. Und das wird sich auf absehbare Zeit auch nicht ändern. 🙁 Direkten Support kann ich dir aus diesen Gründen leider nicht anbieten.

      Bei konkreten Fragen, kannst du aber gerne hier in den Kommentare fragen. Ich versuche dann möglichst zeitnah darauf zu reagieren. So haben nämlich auch alle anderen Leser etwas von dem Austausch 🙂

      Viele Grüße,
      Nils

      Antwort
  • Hallo Nils!
    Ich habe von QNAP die TS-421. Im Appstore der QNAP sind weder die Container Station, noch die Virtualization Station oder eine andere VM-App verfügbar. Besteht noch eine andere Möglichkeit Home Assistant auf der QNAP zu installieren?
    Danke und viele Grüße von einem blutigen Anfänger 🙂
    Martin

    Antwort
    • Hallo Martin,

      danke für deinen Kommentar.

      Ich fürchte, dass wird ohne größere Aufwände leider nicht klappen. Die Container Station ist ja leider mit deinem NAS nicht kompatibel. Ein Umweg könnte die manuelle Installation von docker über SSH sein. Vorausgesetzt es gibt ein passendes Paket. Das hätte aber den großen Nachteil, dass diese Veränderung beim nächsten QTS-Update wieder komplett überspielt werden würde.

      Ich würde hier ggf. auf einen RaspberryPi ausweichen? Oder eben ein kompatibles NAS 🙂

      Viele Grüße,
      Nils

      Antwort
  • Hallo Nils,

    ich habe eine QNAP 419p, aber nur mit 500MB Speicher. Meinst Du das reicht?

    Grüsse,
    Matthias

    Antwort
    • Hallo Matze,

      danke für deine Frage!

      Ich fürchte das wird eng. Zum einen ist das QNAP QTS Betriebssystem schon recht RAM-hungrig. Da bleiben bei nur 512 MB nicht viel für einen Docker Container übrig. des Weiteren unterstützt QNAP seine Container Station (Docker GUI zur einfachen Verwaltung) erst auf Systemen mit minimal 1 GB RAM. D.h. du dürftest bei deinem NAS gar keine Container Station App verfügbar haben.

      Ich würde ggf. über einen RB Pi oder ähnliches nachdenken. Darauf läuft Home Assistant ebenfalls gut.

      Viele Grüße,
      Nils

      Antwort
  • Danke für die schnelle Antwort,
    Matze

    Antwort
  • Hallo Nils…

    Ich habe zusätzlich zu Deiner Anleitung einen weiteren Docker Container installiert, der täglich um 2Uhr Nachts überprüft ob die vorhandenen Container ein Update erhalten haben & wenn ja lädt er es automatisch runter, „tauscht die Container aus“ und löscht auch die alten Containerimages vom QNAP um die Platten halt nicht voll zu müllen…

    Sehr praktisch bei HomeAssistant, da ja teilweise täglich neue Updates veröffentlicht werden… 😉

    Hier der SSH Befehl für den Container, der sich WatchTower nennt…

    docker run -d –name watchtower –restart=always -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower –cleanup –debug –schedule „0 0 2 * * *“

    Der Zeitpunkt der Überprüfung lässt sich natürlich verschieben –> schedule „sec min hour * *“

    LG
    Steffen

    Antwort
    • Hi Steffen,

      sehr cool! Vielen Dank für’s Teilen. Das muss ich bei Gelegenheit auch mal ausprobieren.

      Viele Grüße,
      Nils

      Antwort
      • Was noch cool wäre in Deiner Anleitung zur Installation von HomeAssistant auf dem QNAP wäre ne Detaillierte Beschreibung um dem Container ne eigene IP zu verpassen.. Incl der benötigten Ports etc…

        LG
        Steffen

        Antwort
  • Hallo Nils…

    Sorry für den zweiten Post in der kürze der Zeit…
    Hast Du auch ne Anleitung um NodeRed auf dem QNAP in der Containerstation ans laufen zu bringen?
    Bin bisher daran gescheitert… Der Container ist zwar vorhanden aber startet nicht… Bzw. er stoppt nach dem Starten immer wieder… Keine Ahnung warum… Die Logs verraten – zumindest mir – auch nicht sooo viel was da falsch läuft…

    Vielleicht hast Du da ja ne Idee??

    LG
    Steffen…

    Antwort
    • Hi Steffen,

      leider nein. Habe immer noch nicht die Zeit gefunden, mich mit NodeRed auseinander zusetzen. Es ist aber relativ wahrscheinlich, dass dein Befehl für den Container dann einen eher allgemeinen Fehler hat. So wirklich QNAP-spezifische Docker-Fehler habe ich schon lange nicht mehr hinbekommen.

      Pfad zum Config-Verzeichnis stimmt und Ordner existiert auch? Das wirft häufiger nicht direkt nachvollziehbare Fehler.

      Ich drück dir die Daumen!

      Viele Grüße,
      Nils

      Antwort
      • Hi Nils…

        Ja, soweit ich das weiß – ich kann mich natürlich irren – ist das alles korrekt…
        Bei NodeRed musste man sogar die Berechtigungen für den Datenordner des Containers noch anpassen: chmod -r 1000:1000 /pfad/zum/ort/der/begierde 😉
        Alles gemacht…
        Läuft trotzdem nicht…
        Ich bin mir ziemlich sicher das ich da ne Winzigkeit übersehen habe, komme aber ums verrecken nicht drauf…
        Der Klassische „Wald vor lauter Bäumen“… 😂

        LG Steffen

        Antwort
  • Hallo Nils…

    Da bei der „ContainerVersion“ vom HA kein Supervisor dabei ist, frage ich mich wie man an ein Access-Token rankommt um z.B. NodeRed (läuft aktuell auf nem Pi 2 neben dem QNAP) mit HA zu verbinden…

    Hast Du da ne Idee?

    LG
    Steffen

    Antwort
  • Hi Nils,tolle Anleitung hat alles sofort funktioniert. Ich habe mir dann noch HACS installiert, was auch ohne Probleme läuft. Als ich Homeassistant noch auf einem Pi laufen hatte konnte ich unter verschiedenen Themes, die ich mit HACS heruntergeladen hatte installieren. Kann ich in dem /Container/homeass Ordner nun einfach einen weiteren Ordner Themes anlagen und die Themes Dateien dann darin ablegen? Ich muss inder configurations.yaml dann einen Pfad angeben, wäre es dann richtig den Pfad mit /config/Themes anzugeben?

    Ich hoffe natürlich du hast dich schon mit Themes bescäftigt, sonst wird es vermutlich schwierig.

    In dem Ordner Container/homeass ist aber immer die Konfiguration der Homeassistant Installation gespeichert, richtig?

    MfG Dirk

    Antwort
    • Hallo Dirk,

      sorry für die Verzögerung. Da bin ich tatsächlich überfragt. Themes habe ich direkt bei Home Assistant so noch gar nicht verwendet. Du musst diese auf jeden Fall erst aktivieren. Sie sind Teil der „frontend:“-Komponenten.

      Ganz genau steht das hier beschrieben: https://www.home-assistant.io/integrations/frontend/

      Sorry, dass ich in diesem Fall keine direkteren Tipps für dich habe.

      Viele Grüße,
      Nils

      Antwort
  • Hallo ,
    ich hätte da auch mal 2 Fragen.
    Wie stelle ich es an, dass nach einem Neustart des NAS oder einer Softwareaktuallisierung der Conainerstation mein Docker automatisch wieder startet.
    Muss zur Zeit dies immer manuell starten und solange steht mein Homeassisten samt Automatisierungen nicht zur Verfügung.
    Und wie finde ich heraus, wenn ich den 2 Schritt der Anleitung Homeaasistant updaten durchführen möchte, welche die neuste Version ist.
    Danke für deine Hilfe und danke für das Tutorium.

    Gruß Maz

    Antwort
    • Hallo Maz,

      zur 1. Frage: Kannst du dir hier den richtigen Befehl aussuchen: https://docs.docker.com/config/containers/start-containers-automatically/ Ich denke „always“ sollte für dein Szenario passen.

      zur 2. Frage: Unter https://hub.docker.com/r/homeassistant/home-assistant/tags siehst du alle Builds. „Latest“ referenziert immer auf den neusten Stable Build. Ansonsten ist immer die Version (dort heißt das „Tag“), diejenige, die kein „dev“ im Namen hat. Aktuell also die „2022.03“.

      Viele Grüße und viel Erfolg,
      Nils

      Antwort
      • Danke für die schnelle Antwort.
        Muss ich den Always Befehl extra ausführen?
        Oder kann ich ihn in den Updatebefehl integrieren?
        “ docker run -d –always –name=“home-assistant“ -v /share/Container/homeass:/config –privileged -v /etc/localtime:/etc/localtime:ro –net=host homeassistant/home-assistant:2022.3 python -m homeassistant –config /config “
        Würde dann so aussehen.
        Danke für die Hilfe.
        Gruß Maz

        Antwort
      • Hallo Nils,

        danke für die schnelle Antwort. denkst du es ist korrekt, wenn ich den update Befehl in dieser Weise anpasse?
        “ docker run -d –always –name=“home-assistant“ -v /share/Container/homeass:/config –privileged -v /etc/localtime:/etc/localtime:ro –net=host homeassistant/home-assistant:2022.3 python -m homeassistant –config /config “
        Danke
        Gruß Maz

        Antwort
        • Sorry für das doppelt generve. Beim ersten mal bekam ich keine Rückmeldung.
          Gruß Maz

          Antwort
          • Hallo Maz,

            du hast das schon richtig integriert. Das müsste so passen. Kannst du ja testen, in dem du den Rechner auf dem Docker läuft einfach mal durchstartest und beobachtest, ob der Container mit startet.

            Viele Grüße,
            Nils

  • Hallo Nils,

    es hat nach en paar Versuchen mit folgendem Befehl funktioniert.
    “ docker run -d –restart always –name=“home-assistant“ -v /share/Container/homeass:/config –privileged -v /etc/localtime:/etc/localtime:ro –net=host homeassistant/home-assistant:2022.3 python -m homeassistant –config /config “

    Vielen Dank noch mal für die Hilfe
    Gruß Maz

    Antwort
    • Hallo Maz,

      das klingt doch gut. Danke für’s Teilen deines finalen Startbefehls. 🙂

      Viele Grüße,
      Nils

      Antwort
  • Hallo, ich komme mit meinem NAS super klar, aber jetzt habe ich irgendwas gemacht, dass meine ausgelagerten Config-Dateien nicht mehr zu finden sind. Hast du vielleicht eine Idee, wie ich wieder an diese herankomme?

    Antwort
  • Danke,

    Installation mit der Befehlszeile auf Qnap klappt. Aber home-assistant lässt sich dann auf dem NAS nicht starten.
    Klicke ich auf Start, sieht es 2 Sekunden so aus als würde es starten, dann wieder Stop.

    Keine Ahnung was ich machen kann, sehe auch keine Fehlermeldungen oder Gründe für den Nichtstart.
    Was kann ich tun?

    Danke.

    Antwort
    • Hallo Alex,

      der Fehler, der das Ausführen verhindert, kann natürlich an vielen Dingen liegen. Du kannst dem Container aber bei der Ausführung zusehen und so ggf. den Fehler finden. Dazu in der Container Station einfach auf den Namen des Containers klicken und im unteren Bereich die Konsole beobachten.

      Für Fehler, die spezifisch von Home Assistant verursacht werden, gibt es außerdem eine Log-Datei (home-assistant.log) in dem von dir definierten Verzeichnis für die Daten des Containers.

      Häufig scheitert das Starten an einer falschen Pfadangabe genau zu diesem Ort oder an fehlenden Rechten des Nutzers, der den Container startet, auf das Verzeichnis zuzugreifen.

      Viele Grüße und gutes Gelingen,
      Nils

      Antwort
      • Hallo,

        danke für die Antwort.

        Im besagten Containerfenster passiert genau: nichts… schwarzes Fenster, da erscheint nichts.
        Beim Start stoppt er sofort wieder. Alles korrekt installiert und auch schon neu installiert.

        Antwort
        • Das ist komisch. Hat der Nutzer, mit dem du den Container deloyed hast alle Rechte, um auf das angegebenen Container-Config-Verzeichnis zuzugreifen?

          Aus der Ferne sind diese Themen leider immer schwer zu lösen.

          Grüße,
          Nils

          Antwort
  • hatte gerade geantwortet, kam nicht an?

    Was ist mit deployed gemeint?
    Ich habe über SSH auf dem NAS den im Threat genannten Installbefehl abgesetzt. Das klappte anstandslos. I der Container Station erschien dann home-assistant.
    Ich versuche dann diesen zu starten, gelingt nicht, startet 1 Sekunde, dann wieder aus. Keine Logs zu finden.
    Weiter habe ich nichts gemacht, steht auch nicht da, das man das muss. Nur den Installbefehl ausgeführt.

    Antwort
    • Hi Alex,
      doch kam an – wegen der ganzen Spam-Bots muss ich aber jeden Kommentar erst freigeben.

      Hast du denn den Container-Daten-Ordner, der im Deployment-Befehl (den du eingegeben hast), auch auf deinem NAS angelegt bzw. den Pfad angepasst? Und zwar mit demselben Nutzer, mit dem du dich via SSH angemeldet hast, um den Container zu erstellen? Ohne diesen Ordner, wird nichts starten.

      Ich sprech von diesem Teil: docker run -d --name="home-assistant" -v /share/Container/homeass:/config --privileged -v /etc/localtime:/etc/localtime:ro --net=host homeassistant/home-assistant:0.71.0 python -m homeassistant --config /config

      Das heißt, auf deinem QNAP-NAS muss es einen Freigabeordner mit dem Namen „Container“ und dort einen Unterordner „homeass“ geben, wenn du den Befehl so übernimmst.

      Und die Versionsnummer hast du hoffentlich auch auf die neuste gehoben, sonst wäre die HASS-Version ja maßlos veraltet. 🙂

      Viele Grüße,
      Nils

      Antwort

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert