
Einführung
Wie ihr vielleicht schon mitbekommen habt, nutze ich Home-Assistant Container - also den reinen Home-Assistant Docker Container - und habe somit keinen Zugriff auf den Addon Store von Home-Assistant OS. Zum Glück kann man sich aber viele der Addons auch ohne HA OS installieren. Hier möchte ich euch zeigen, wie ihr ESPHome als Docker Container installieren könnt.
Installation von ESPHome
Da der Raspberry Pi auf dem HA läuft in einem Netzwerkschrank steht, habe ich nur eingeschränkt Zugriff darauf. Beim ersten flashen eines Mikrocontrollers muss man diesen ja an den Rechner / Pi, auf dem ESPHome läuft, per USB Kabel oder per FDTI zu USB Adapter anschließen. Daher nutze ich einen weiteren Raspberry Pi, der auf meinem Schreibtisch steht, zum flashen der Mikrocontroller. Die SD Karte des Raspberry Pi habe ich ganz normal mit Raspbian OS versehen - hier reicht sogar die Lite Version ohne Benutzeroberfläche.
Nachdem der Raspberry Pi hochgefahren ist und man sich entweder per SSH oder per VNC auf dem Pi eingeloggt, führt man ein Update und ein Upgrade aus sudo apt update && sudo apt upgrade -y
danach kann man mit curl -fsSL https://get.docker.com -o get-docker.sh
und sh get-docker.sh
Docker installieren.
Bevor wir jetzt ESPHome installieren, müssen wir zuerst einen Mikrocontroller an den Pi anschließen. In diesem Beispiel verwende ich einen Wemos D1 mini. Dieser kann direkt per Mikro-USB Kabel an den Pi angeschlossen werden. Ist das erledigt, führen wir den Befehl lsusb
aus. Die Konsole sollte dann folgendes ausgeben:
Danach können wir noch mit
ls /dev/tty*
überprüfen welches USB Gerät wir an ESPHome übergeben müssen.
Sollten die beiden Befehle nicht zu den gewünschten Ergebnissen führen - zb. kein USB Device vorhanden - benutzt mal ein anderes USB Kabel. Manche günstigen Mikro-USB Kabel sind lediglich zum Aufladen ausgelegt. Hier fehlen die Datenleitungen und dadurch wird das Gerät nicht korrekt angezeigt.
ESPHome starten wir dann mit folgendem Befehl
docker run -d --net=host -v /home/pi/docker/esphome:/config --name=esphome --device=/dev/ttyUSB0 esphome/esphome
. Jetzt ist das Dashboard unter der http://IP-des-Pi:6052
zu erreichen.
Sollte der Port auf eurem Host bereits belegt sein und ihr müsst einen anderen als 6052 angeben, oder wenn ESPHome in einem anderen Subnetz (VLAN) als die ESP Geräte laufen, kann es sein, dass die ESP Geräte auf dem Dashboard als "offline" angezeigt werden. Wenn das der Fall ist, fügt folgende Variable dem Docker Run Befehl hinzu: -e ESPHOME_DASHBOARD_USE_PING=true
.