Homegear auf docker - erste Schritte

Hallo

verschiedene Gründe haben mich dazu gebracht von homegear mit einem raspi 2, Stretch, ro filesystem auf einen raspi 3b+, buster und ssd umzusteigen. auch wollte ich jetzt docker nutzen.

Als homematic bidcos interface nutze ich den SCC - Stackable CC1101.

Die wichtigsten apps

  • homegear (stable)
  • eclipse mosquitto

docker Installation

  • curl -sSL https://get.docker.com | sh
  • sudo usermod -aG docker pi

homegear Installation
Im Wesentlichen folgte ich der Beschreibung: https://hub.docker.com/r/homegear/homegear/
wenn man genau liest steht auch alles Wichtige dort beschrieben.

Da ich nur mit dem user pi arbeite und nicht permanent als user root arbeiten möchte ein paar Änderungen:

Das Anlegen der Directories für homegear:

sudo mkdir -p /homegear-data/etc
sudo mkdir /homegear-data/lib
sudo mkdir /homegear-data/log

Docker Netzwerk für die Kommunikation zwischen homegear und mosquitto:

docker network create \
 --driver bridge \
 home-net

Der Vorteil eines eigenen docker Netzwerkes anstelle des default Netzwerkes besteht darin, dass die docker Container mit Namen untereinander kommunizieren können und keine IP’s angegeben werden müssen. (https://docs.docker.com/network/network-tutorial-standalone/#use-user-defined-bridge-networks)

Starten von homegear:

docker run -d \
 --restart always \
 -v /homegear-data/etc:/etc/homegear:Z \
 -v /homegear-data/lib:/var/lib/homegear:Z \
 -v /homegear-data/log:/var/log/homegear:Z \
 -v /sys:/sys \
 -e TZ=Europe/Berlin -e HOST_USER_ID=$(id -u) \
 -e HOST_USER_GID=$(id -g) \
 -p 2001:2001 \
 -p 2002:2002 \
 -p 2003:2003 \
 --device=/dev/ttyAMA0 \
 --name homegear \
 --hostname homegear \
 --network home-net \
 homegear/homegear:stable

Zur Erklärung:

  • --restart always erlaub das starten beim hochfahren des Raspi.
  • -v /sys:/sys ist notwendig um die GPIO pins aus dem docker container anzusprechen (SCC Modul)
  • --hostname homegear damit kann die docker Instanz mit einem Namen addressiert werden (vom mosquitto container aus: ping homegear)
  • --network home-net hinzufügen zu einem Netzwerk
  • --rm würde den Container nach Beendigung löschen. Möchte ich aber nicht.

Starten von eclipse-mosquitto:
Für Interessierte. Durch das eigene Netzwerk, kann jetzt aus dem homegear container der mosquitto container mit dem Namen mosquito addressiert werden. Interessant für flows und mqtt Konfigurationen.

docker run -d \
 --restart always \
 -p 1883:1883 \
 -p 8883:8883 \
 -v /mosquitto-data/config:/mosquitto/config \
 -v /mosquitto-data/log:/mosquitto/log \
 -v /mosquitto-data/data:/mosquitto/data \
 --hostname mosquitto \
 --name mosquitto \
 --network home-net \
 eclipse-mosquitto

vielen Dank für die Hilfe des Forums :slight_smile:

2 Likes

Hallo @jipp,

sehr schöne Anleitung!

Viele Grüße

Sathya

@Sim, magst du das mit in die Doku aufnehmen oder in den Starterguide?