# Homeassistant

**URL:** <https://community.homey.app/t/homeassistant/42429>\
**Category:** Geräte\
**Created:** [February 5, 2021, 4:13am UTC](https://community.homey.app/t/homeassistant/42429 "2021-02-05T04:13:14Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![RonnyW](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/ronnyw/32/10879_2.png) [@RonnyW](https://community.homey.app/u/RonnyW)\
**Post date:** [February 5, 2021, 6:57am UTC](https://community.homey.app/t/homeassistant/42429/2 "2021-02-05T06:57:57Z")

</div>

**HomeAssistant als Docker-Container**

Eine alternative Installationsmethode für Besitzer eines dockerfähigen NAS ist, sowohl MQTT als auch HomeAssistans als Docker-Container zu installieren.  
Vorteil:

- die Container verwenden fertige Images und sind sofort einsatzbereit.
- Die Konfigurationsdateien werden über ein Share-Verzeichnis des NAS eingebunden. Die Daten sind also lokal unabhängig vom Container gespeichert und können über das normale Backup gesichert werden
- Für ein Update wird der Container entfernt und mit neuem Image neu eingebunden. Die Konfig-Daten werden vom Share wieder eingebunden.

Ich beschreibe die Einrichtung in einem QNAP-NAS.

**Vorbereitung**  
Zur Sicherung der Konfig-Daten benötigt ihr ein Netzwerk-Share (Freigabeverzeichnis), z.B. “ContainerData”.  
Darin legt ihr Verzeichnisse je Container an. Die Namen könnt ihr wählen. Ihr müsst später diese Verzeichnisse verwenden:

- HomeAssistant
- MosquittoBroker (mit Unterverzeichnisse /config, /data, /log)

Das NAS muss eine feste IP im Netzwerk besitzen. Alternativ könnt ihr für die Container während der Einrichtung eine feste IP im Bridge-Modus vergeben.

**Teil 1: MQTT-Broker**

Docker-Image: eclipse-mosquitto [Docker Hub](https://hub.docker.com/_/eclipse-mosquitto/)

1. eclipse-mosquitto als Docker suchen und “Installieren” klicken.  

2. Version wählen. Ich wähle i.d.R. nicht “latest”, sondern eine explizite Version, um die Version später am Image erkennen zu können.  
 ![grafik](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/6/6/668f21cb782595717d0bbaa39e997ba6690f89f7.png)

3. Ihr könnt einen Name für den Container wählen. Klickt dann auf “Erweiterte Einstellungen”.  
 ![grafik](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/0/2/024bb51da0266436efe547cf769596866bc06c2d.png)

4. Wählt die Einstellungen für den Container.  
Keine Umgebungsdaten:  

5. Evtl. Rechte vergeben.  
Ich musste für die Verzeichnisse und Dateien im Konfig-Verzeichnis noch Rechte für den MQTT-Container-User vergeben. Dazu am besten mit WinSCP am NAS anmelden, ins Konfig-Verzeichnis wechseln und diese Rechte vergeben:  
Verzeichnisse: Gruppe+Eigentümer: 1883 Rechte: 6777  
Dateien (.log / .db): Gruppe+Eigentümer: 1883 Rechte: 0660  
Der User, mit dem der MQTT-Dienst läuft heißt “1883” (wie der http-Port :-))

Damit sollte der Container starten.

 ![grafik](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/5/d/5d914636d0b8d00fbf6dd38e631947145fe23c28.png)  
Prüft im Konsolen-Fenster der Container-Station, ob alles ok ist.  
Sollte der Container-Start abbrechen, müsste im Konsolenfenster nach vorhandenen Fehlern schauen.

1. Passwort:  
Aktuell ist der Broker ohne Benutzeranmeldung erreichbar. Wollt ihr einen User+PW verwenden, dann könnt ihr eine Passwortdatei erzeugen. Ich bin leide rnicht mehr sicher, ob das in der NAS-Konsole zu erledigen ist oder evtl. direkt in der Container-Konsole:  
Der Befehl dazu: **mosquitto\_passwd -b passwordfile user password**  
Die Datei muss im Verzeichnis /config angelegt werden.  
Nach einem Neustart des Containers sollte der Broker bei einer Verbindung User+PW anfordern.  
Weitere Infos dazu: [http://www.steves-internet-guide.com/mqtt-username-password-example/](http://www.steves-internet-guide.com/mqtt-username-password-example/)

**Teil 2: HomeAssistant**

Docker-Image: homeassistant/home-assistant [Docker Hub](https://hub.docker.com/r/homeassistant/home-assistant)

1. Installiert den Container wie beim MQTT-Broker. Sucht dazu das Image homeassistant/home-assistant im Bereich “Docker”. Wählt die höchste Version (stable, keine dev-Version).  

2. Vergebt einen Containername und wählt die Erweiterten Einstellungen.  
Umgebungsdaten: TZ = Europe/Berlin  

3. HomeAssistant sollte nun laufen.  

**Teil 3: Einrichten der Verbindung HA=\>MQTT**  
Das funktioniert immer identisch (wie von Uwe/Undertaker beschrieben).

1. MQTT-Integration in HomeAssistant hinzufügen
2. Verbindungsdaten zum MQTT-Broker angeben:  
 ![grafik](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/2/2/221bdb78fa72eb208ea2ea5fb8654898b721be02.png)

**Teil 4: Verbindung Homey=\>MQTT-Broker**

1. In Homey die App “MQTT-Client” installieren.  
Dort die IP des Brokers sowie ggf. Bentzer+PW angeben. Damit habt ihr die grundlegende Verbindung eingerichtet.
2. In Homey die App “MQTT-Hub” installieren.  
Diese App liest alle Homey-Geräte aus und sendet diese an den MQTT-Broker. Dazu verwendet die App das Home-Assistant-Discovery-Verfahren.  
Die Geräte werden einmal “normal” unter der Homey-ID an MQTT gesendet.  
Zusätzlich wird eine Referenz auf diese Entität in die Auto-Discovery-Topic gesendet. Über die Autodiscovery-Daten kann HomeAssistant die Geräte mit korrektem Typ automatisch integrieren.

**Teil 5: Fehlersuche**  
Falls ihr Fehler in den MQTT-Daten sucht, dann könnte ein MQTT-Explorer hilfreich sein. Diese Programme zeigen euch die Topics im MQTT-Broker incl. Werten, Zeitstempel, Aktualisierungen.

 ![grafik](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/e/7/e77fad01eebf9c2f7345e8fbabc1a04b274cc710.png)

Das Programm findet ihr hier:

> **[MQTT Explorer](http://mqtt-explorer.com/)**
>
> An all-round MQTT client that provides a structured topic overview

---

_[View the full topic](https://community.homey.app/t/homeassistant/42429)._
