OpenHAB - linuxu3er

linux
u3er
Direkt zum Seiteninhalt
OpenHAB
Zur Verwaltung von Sensordaten und als SmartHome Basis möchte ich OpenHAB nutzen. Die Basis ist das bereits installierte Rasperry Pi OS Lite und darauf wird nun nach Anleitung OpenHAB installiert. Der Raspberry Pi Zero WH ist zwar etwas Leistungsschwach, es werden 1 GB Arbeitsspeicher empfohlen, aber ich hoffe für eine Wetterstation mit nur ein paar Sensoren reicht es aus.

Hinweis: Der Mikrocontroller ist wirklich etwas schwach, die Weboberfläche von OpenHAB ist erst nach einiger Zeit und nicht gleich nach dem Start erreichbar. Gepaart mit dem JeeLink Binding Problem wird die OpenHAB Nutzung erstmal pausiert.

Es wird empfohlen noch folgende Softwarepakete vor der eigentlichen Installation von OpenHAB zu installieren:
sudo apt-get install screen mc vim git htop

Installation Java
Zuerst wird Java installiert und hier die freie Alternative Zulu Java nach Empfehlung der OpenHAB Seite.
sudo mkdir /opt/jdk
cd /opt/jdk
sudo wget http://cdn.azul.com/zulu-embedded/bin/zulu11.43.100-ca-jdk11.0.9.1-linux_aarch32hf.tar.gz
sudo tar -xzvf zulu11.43.100-ca-jdk11.0.9.1-linux_aarch32hf.tar.gz
sudo update-alternatives --install /usr/bin/java java /opt/jdk/zulu11.43.100-ca-jdk11.0.9.1-linux_aarch32hf/bin/java 1
sudo update-alternatives --install /usr/bin/javac javac /opt/jdk/zulu11.43.100-ca-jdk11.0.9.1-linux_aarch32hf/bin/javac 1
sudo update-alternatives --config java
sudo rm *.tar.gz

Installation OpenHAB
Für OpenHAB werden die Paketquellen für die stabile Version eingebunden und die Addons für einen möglichen Offline-Betrieb installiert. Zum Zeitpunkt der Erstinstalltion war OpenHAB 3.0.1 aktuell.
wget -qO - 'https://bintray.com/user/downloadSubjectPublicKey?username=openhab' | sudo apt-key add -
sudo apt-get install apt-transport-https
echo 'deb https://dl.bintray.com/openhab/apt-repo2 stable main' | sudo tee /etc/apt/sources.list.d/openhab.list
sudo apt-get update
sudo apt-get install openhab
sudo apt-get install openhab-addons
sudo systemctl start openhab.service
sudo systemctl status openhab.service
Um OpenHAB auch nach einem Neustart automatisch als Dienst zu starten braucht es noch folgende Befehle:
sudo systemctl daemon-reload
sudo systemctl enable openhab.service

Wenn man möchte kann man OpenHAB noch ein paar Berechtigungen geben und den User openhab in die Gruppen dialout, tty, audio aufnehmen. Bei mir war das alles schon geschehen. Außerdem kann man OpenHAB mehr Netzwerk Rechte über Java anweisen.
sudo adduser openhab dialout / tty / audio
sudo setcap 'cap_net_raw,cap_net_admin=+eip cap_net_bind_service=+ep' $(realpath /usr/bin/java)

Weboberfläche
Die Verbindung zur OpenHAB Weboberfläche geht über den Hostname am Port 8080, bei mir also http://dufte:8080. Beim ersten Start wird man aufgefordert einen Administrator Account anzulegen. Anschließend startet das Setup und man soll folgende Daten eingeben:
  • Region und Sprache, z.B: Deutschland, Deutsch
  • Standort für Sonnenaufgang/-untergang, dies kann man über eine Karte auswählen
  • Installation von Addons, bei mir das Jeelink Binding


Problemlösung Java
Ich hatte kurzzeitig mal das Problem, dass OpenHAB nicht gestartet ist. Dies war auf Java zurückzuführen und eine falsche Berechtigung. Anbei die Fehlermeldung und die Lösung.
java --version
java: error while loading shared libraries: libjli.so: cannot open shared object file: No such file or directory
sudo chown -R root /opt/jdk/
sudo chgrp -R root /opt/jdk/
java --version
openjdk 11.0.9.1 2020-11-06 LTS
OpenJDK Runtime Environment Zulu11.43+100-CA (build 11.0.9.1+1-LTS)
OpenJDK Client VM Zulu11.43+100-CA (build 11.0.9.1+1-LTS, mixed mode)

Jeelink Binding
Unter Things, Jeelink Bindung antippen und dort JeeLink USB Empfänger. Mit dmesg | grep tty kann man schauen, wo der Adapter eingebunden wurde, bei mir /dev/ttyUSB0. Der Empfänger wird nun bei mir als Online markiert.

Hinweis: Nach Beschreibung kann das Jeelink Binding nicht direkt mit den RoomNode Sketch der JeeNodes kommunizieren, sondern nur mit speziellen anderen Sketches. Ohne das Binding für meinen Gebrauch anzupassen kann ich es also nicht verwenden.




Zurück zum Seiteninhalt