Um easyHAB mit openHAB zu verwenden, das in einem Docker-Container läuft (anstatt auf einem separaten Raspberry PI oder Mac mini), ist die folgende Einrichtung des openHAB-Containers erforderlich.
Dieses Beispiel basiert auf Docker auf einer Synology DSM.
1. Container im Synology Docker Manager erstellen
- Image „openhab/openhab (latest)“ suchen und herunterladen
- Starten eines neuen Containers mit diesem Image mit “Erweiterten Einstellungen”:
- Synology-Ordner den Container-Ordnern zuordnen
- Ordnen Sie die benötigten Container Ports den festen lokalen Ports zu (insbesondere SSH (22) und HTTP (8080) Ports).
Wichtig: Der externe SSH-Port (922 im Beispiel unten) wird in der easyHAB-Konfiguration benötigt, um den openHAB-Server/Container zu kontaktieren.
- Synology-Ordner den Container-Ordnern zuordnen
- Starten Sie den Container (in diesem Beispiel mit dem Namen „openhab“) zum ersten Mal, um die Basis-Umgebung zu erstellen
- Speichern Sie das folgende Skript „openhab-precheck.sh“ im gemappten Ordner /openhab/config
#!/bin/bash -x
## Log start time
date >> $HOME/laststart.log
## Check if SSH is already installed
isInstalled=`dpkg -l openssh-server | grep "<none>" | wc -l`
if [ $isInstalled -ne 0 ]
then
## install OpenSSH first
sudo apt update
sudo apt install --yes openssh-server
fi
## Set OpenHAB Password
sudo bash -c 'echo "openhab:habopen" | chpasswd openhab'
## Start sshd
sudo /etc/init.d/ssh start
true
## EOF
2. PreCheck Script im Container installieren
- Standard Passwort „habopen“ für Benutzer openhab im Precheck-Skript ändern/anpassen
- Root Console Anmeldung im Container (Container name = “openhab”):
docker exec -ti openhab /bin/bash
- Führen Sie in der Container Console nacheinander alle folgenden Befehle aus:
mkdir /etc/cont-init.d/
cp /openhab/conf/openhab-precheck.sh /etc/cont-init.d/
chmod 770 /etc/cont-init.d/openhab-precheck.sh
apt update
apt install --yes sudo
echo "openhab ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
- Starten Sie den Docker Container neu.
Beim Restart wird der SSH Daemon installiert und das openhab User Passwort gesetzt - Weiter mit easyHAB App zur Verbindung mit dem openHAB Server im Docker Container.
Dafür benötigte Daten:
– die Server IP Adresse (hier: Synology IP)
– der extern gemappte SSH Port (hier: 922)
– Username openhab
– Passwort wie im „openhab-precheck.sh“ Skript gesetzt