openHAB

Posted by on Mrz 15, 2017 in Smart Home | No Comments
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.

Leave a Reply

*