openHAB
Nachdem schon seit einigen Monaten wieder Stille in meinem Blog eingekehrt ist, möchte ich heute wieder einmal etwas schreiben. Nicht über Fotografie, sondern über den Einstieg in mein neues Heimautomatisierungsprojekt auf Basis von openHAB auf einem Raspberry Pi. Um genau zu sein, soll es nur um das initiale Setup gehen.
Mein Problem dabei war, dass ich trotz intensiver Suche kein einziges Tutorial gefunden habe, welches den kompletten Setup-Prozess für jemanden beschreibt, der sich nicht mit Linux auskennt. Ich musste mich durch gefühlt hundert Foren durch graben, um das Ding endlich zum Laufen zu bekommen. Vor allem die Installation vom RaZberry machte Probleme.
Letztlich handelt es sich hier nur um eine Ansammlung von Befehlen, die ich aus Foren und anderen Tutorials zusammengetragen habe. Ich gehe hierbei davon aus, dass bereits ein Raspbian Light auf dem Pi läuft.
Das erste, was ich getan habe war, dem Pi eine statische Adresse zuzuweisen, denn ich möchte mein openHAB immer über die gleiche Adresse erreichen. Natürlich kann man das auch auf dem Router machen, was sicher der bessere Weg ist, aber meine Umsonst-Möre von Kabel-Deutschland unterstützt das nicht. Also musste in der dhcpcd.conf folgendes geändert bzw. eingetragen werden.
sudo nano /etc/dhcpcd.conf // das richtige Interface wählen // bei mir ist der Pi via LAN angeschlossen interface eth0 static ip_address=192.168.xxx.xxx/24 static routers=192.168.xxx.xxx static domain_name_servers=192.168.xxx.xxx sudo shutdown -r now
Als nächstes muss die Version des JDK überprüft werden. Das ist nötig, da openHAB die Version 8 voraussetzt. Allerdings ist das in der aktuellen Raspbian Version schon enthalten.
dpkg --get-selections | grep jdk
Falls nicht, dann einfach installieren.
sudo apt-get install oracle-java8-jdk
Danach das System auf aktuellen Stand bringen.
sudo apt-get update sudo apt-get upgrade sudo shutdown -r now
Anschließend openHAB installeren.
wget -qO - 'https://bintray.com/user/downloadSubjectPublicKey?username=openhab' | sudo apt-key add - echo 'deb http://dl.bintray.com/openhab/apt-repo2 stable main' | sudo tee /etc/apt/sources.list.d/openhab2.list sudo apt-get update sudo apt-get install openhab2 sudo systemctl start openhab2.service sudo systemctl status openhab2.service sudo systemctl daemon-reload sudo systemctl enable openhab2.service sudo shutdown -r now
Ein großes Problem war, dass ich meinen Z-Wave Controller nicht zum Laufen bringen konnte. Er ihn nicht an ttyAMA0 gefunden hat, so wie es an sämtlichen Tutorials beschrieben wird. Das liegt wohl irgendwie am Raspi 3, da dieser jetzt WiFi und Bluetooth unterstützt.
Folgendes hat mir dann geholfen.
sudo usermod -a -G tty openhab sudo usermod -a -G dialout openhab
Dann in die openhab2 folgenden Eintrag hinzufügen bzw. ändern.
sudo nano /etc/default/openhab2 EXTRA_JAVA_OPTS="-Dgnu.io.rxtx.SerialPorts=/dev/ttyAMA0"
Aus der cmdline.txt folgenden Eintrag löschen.
sudo nano /boot/cmdline.txt console=serial0,115200
Und letztlich in der config.txt folgende Eintrag hinzufügen bzw. ändern.
sudo nano /boot/config.txt dtoverlay=pi3-miniuart-bt enable_uart=1 force_turbo=1 sudo shutdown -r now
Damit lief dann der Raspi mit openHAB und auch der Z-Wave Controller lief. Fehlte nur noch der Samba Server, damit ich dann bequem von meinem Laptop aus mit dem Eclipse SmartHome Designer meine Regeln usw. formatieren konnte.
Also den Samba Client installieren.
sudo apt-get install samba samba-common smbclient sudo service smbd status sudo service nmbd status
Dann ein Backup der alten Samba Config-Datei anlegen, eine neue anlegen, folgende Einträge hinzufügen und den Samba-Service neu starten.
sudo mv /etc/samba/smb.conf /etc/samba/smb.conf_alt sudo nano /etc/samba/smb.conf [global] workgroup = WORKGROUP security = user encrypt passwords = yes testparm sudo service smbd restart sudo service nmbd restart
Danach die smb.conf editieren und folgende Freigabe eintragen
sudo nano /etc/samba/smb.conf [openHab-conf] comment = OpenHab-Configuration path = /etc/openhab2 read only = no
Zu guter Letzt fügt man noch einen openhab user als Sambauser hinzu. Hier füge ich auch gleich noch die Befehle zum Löschen bzw. zum Aktivieren des Users hinzu
//sambauser hinzufügen sudo smbpasswd -a openhab //sambauser löschen sudo smbpasswd -d openhab //sambauser aktivieren sudo smbpasswd -e openhab
Damit sollte man dann von einem anderen Rechner auf das Konfigurationsverzeichnis von openHAB zugreifen können um Regeln, Sitemaps usw. editieren zu können.
Ich habe mir diese ganze Abfolge von Befehlen in eine Textdatei kopiert, sodass ich immer nur per Copy & Paste die einzelnen Kommandos in die Shell kopieren muss, ohne jedes mal alles erneut abtippen zu müssen. So kann man das ganze System in wenigen Minuten erneut aufsetzen, falls doch mal was schief geht, was bei mir häufig der Fall war.