Home-Assistant Docker und deCONZ

Mit Home-Assistant kann sehr schnell eine fertige Smart-Home-Lösung umgesetzt werden. Dank zahlreicher Integrationsmöglichkeiten ist Home-Assistant eine einfache Plattform für das Steuern verschiedenster Smart-Home Geräte.   

Docker Basics
Docker ermöglicht es, Applikationen per Befehl in einem sogenannten Container zu starten.
Ein Container ist eine vom Betriebssystem (OS) unabhängige isolierte Umgebung:
Das OS spielt also keine Rolle, vorausgesetzt Docker lässt sich installieren.
Beim ersten Start eines Containers, lädt Docker selbstständig alle notwendigen Quellen
aus dem Internet.
Docker kann unter Windows, macOS oder einer Linux-Distribution installiert werden,
siehe auch: Docker

Home-Assistant - Docker

Um Home-Assistant in Docker zu starten, wird natürlich ein Docker-Setup vorausgesetzt, siehe: Docker

Folgender Befehl startet Home-Assistant in Docker:

mkdir -p /docker
mkdir -p /docker/home-assistant
docker run -d --name="home-assistant" \
-v /docker/home-assistant:/config \
-v /etc/localtime:/etc/localtime:ro \ 
--net=host \
--restart=always  \
homeassistant/home-assistant:stable

Das Netzwerk für Home-Assistant muss laut dem Hersteller auf "--net=host" gestellt werden. 

Initiale Konfiguration

Nach dem Start des Containers ist Home-Assistant standardmäßig über den Port 8123 erreichbar:

Integration

deCONZ ZigBee Integration

Als Vorbereitung für die Verbindung muss das Phoscon-GW auf "App verbinden" gestellt werden:

Über die Benachrichtigung kann die Konfiguration gestartet werden:

Details siehe, https://www.home-assistant.io/integrations/deconz/

Direkter Zugriff auf ConBee2 ohne deCONZ-Gateway (Zigbee Home Automation: ZHA)

Alternativ zur Anbindung des ConBee über das deCONZ Zigbee Gateway, kann der Stick auch direkt in Home Assistant eingebunden werden, dazu muss Home-Assistant mit dem Parameter "--device" gestartet werden:

docker run -d --name="home-assistant" -v /docker/home-assistant-zigbee:/config -v /etc/localtime:/etc/localtime:ro --net=host --device=/dev/ttyACM0 homeassistant/home-assistant:stable

Geräte die zuvor in deCONZ eingebunden wurden, könne an dieser Stelle nicht weiter verwendet werden, sie müssen erneut verbunden werden:

Eine weitere Alternative zu deCONZ und ZHA stellt Zigbee2mqtt dar, siehe: https://www.zigbee2mqtt.io/

Shelly

Shelly ist ein kleiner Unterputz-WLAN-Switch für das Steuern z.B. einer Steckdose.

Nach dem Setup wird das Gerät automatisch dem Dashboard zugewiesen:

Home-Dashboard

Alle eingebundenen Geräte werden automatisches im Home-Dashboard angezeigt:

Verlauf

Im Verlauf werden die historischen Daten der einzelnen Geräte automatisch aufbereitet:

HACS - Installation

Eigentlich wollte ich nur ein RGB-Licht in das Dashboard hinzufügen, geht zwar, aber ohne der Möglichkeit die Farbe zu ändern: An dieser Stelle hätte ich mir mehr erwartet. Die Recherche und Installation einer Integration für das Steuern von Farben hat mich wesentlich mehr Zeit gekostet als die eigentliche Home Assistant Installation ...

Für die RGB-Card habe ich zuerst HACS installiert. HACS ist eine Integration um GItHub Repositories über eine Art Softwarekatalog herunterzuladen.

Installiert habe ich HACS über einen Befehl im Docker-Container:

user@rechner:~$ docker exec -it home-assistant bash
bash-5.0# wget -q -O - https://install.hacs.xyz | bash -

dann auf Einstellungen, Integration 

und im Anschluss muss die Installation auf GitHub registriert werden, siehe: hacs.xyz/docs/configuration/basic

Ist HACS erst mal installiert, geht das Hinzufügen von zusätzlichen Repositories relativ einfach:

Resourcen hinzufügen - RGB Light Card

Troubleshooting

Der Konfigurationsfluss konnte nicht geladen werden

Ich betreibe deCONZ auch in Docker, daher kann sich beim Neustart die IP-Adresse des deCONZ Containers ändern. Homeassistant verwendet nicht den Namen des Containers für die Verbindung, sondern dessen IP-Adresse, daher funktioniert die Verbindung dann nicht mehr:

Die Einstellung kann in der Datei .storage/core.config_entries auf den Namen des Containers geändert werden:

"host": "deconz"

Damit die Namensauflösung funktioniert muss Home-Assistant mit dem gleichen Netzwerk wie deCONZ gestartet werden:

docker run -d --name="home-assistant" \
-v /docker/home-assistant:/config \
-v /etc/localtime:/etc/localtime:ro \
-p 8123:8123 \
--network=smart-home \
--restart=always  \
homeassistant/home-assistant:stable

 

Markisensteuerung - ausgegraut

Ich hatte anfangs das Problem, dass sich meine Markise nur in eine Richtung bewegen ließ.

Bei dem ZigBee-Schalter handelt es sich laut Phoscon um das Modell FB56+CUR17SB2.2 (Heiman)

Für das Anpassen bestimmter Einstellungen wird der erweiterte Modus benötigt.

Einstellungen: Anpassung

Dadurch können in den Einstellungen bestimmte Attribute geändert werden, in meinem Fall "assumed_state"

Die Datei customize.yaml wird dadurch wie folgt befüllt:

cover.window_covering_device_10:
  assumed_state: true

Damit die Einstellungen geladen werden, muss die Datei noch in der configuration.yaml angegeben werden:

homeassistant:
  customize: !include customize.yaml

Hier meine komplette configuration.yaml:

# Configure a default setup of Home Assistant (frontend, api, etc)
default_config:

# Text to speech
tts:
  - platform: google_translate

group: !include groups.yaml
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml

homeassistant:
  customize: !include customize.yaml

Dann noch den Docker-Container neugestartet und siehe da, jetzt funktioniert auch die andere Richtung:

Vergleich zu anderen Plattformen

Für einen Vergleich mit anderen Smart-Home-Plattformen, siehe: Smart-Home-Plattform: Systeme

positive Bewertung({{pro_count}})
Beitrag bewerten:
{{percentage}} % positiv
negative Bewertung({{con_count}})

DANKE für deine Bewertung!



Fragen / Kommentare


(sortiert nach Bewertung / Datum) [alle Kommentare(neueste zuerst)]

✍anonym
erstellt am 30.06.2021 20:06
Ich habe ebenfalls das Problme mit der Fehlermeldung "Der Konfigurationsfluss Der Konfigurationsfluss konnte nicht geladen werden". Home Assistant läuft in Docker auf Raspi 4b. Wo finde ich die oben erwähnte Datei .storage/core.config_entries?

Wir verwenden Cookies, um Inhalte und Anzeigen zu personalisieren, Funktionen für soziale Medien anbieten zu können und die Zugriffe auf unsere Website zu analysieren. Außerdem geben wir Informationen zu Ihrer Nutzung unserer Website an unsere Partner für soziale Medien, Werbung und Analysen weiter. Details anzeigen.