Z-Wave Versuchsaufbau

In meinem heutigen Artikel möchte ich euch einmal kurz meinen Versuchsaufbau beschreiben.

Ursprünglich hatte ich den Fibaro Rauchmelder sowie den passenden Multi Sensor von Fibaro. Die Kaufentscheidung hatte ich auf Grund des Designs getroffen, was sich dann leider schnell rächte. Der Multisensor ließ sich zunächst ganz einfach mit dem Controller verbinden, da ich aber aus anderen Gründen den Controller resetten musste und so anschließend den Sensor wieder anlernen wollte war es jedoch vorbei mit der schönen heilen Welt. Trotz mehrfachen Reset des Sensors wollte er sich einfach nicht mehr mit meinem Controller verbinden, er wurde lediglich als unbekanntes Gerät angezeigt. Dies hat mich einiges an Nerven gekostet und hat mich fast dazu bewegt meine Z-Wave Experimente ad Acta zu legen. Bestärkt wurde dies durch den Fibaro Rauchmelder, welcher sich noch nicht mal in den „pairing Mode“ versetzen lies. Gut, so habe ich die Komponenten zurückgeschickt und mich ein paar Tage später dazu durchgerungen doch nochmal einen Anlauf zu nehmen und diesmal auf den Popp Rauchmelder sowie den Aeotec Multi Sensor zu setzen.

Was wollte ich nun mit meinem minimalen Versuchsaufbau alles bezwecken.

  1. Der Multi Sensor soll mir erstmal alle Standardwerte wie Helligkeit, Temperatur, Luftfeuchte liefern. Darüber hinaus erfasst er natürlich auch wenn sich vor seiner Linse etwas bewegt.
  2. Der Micro Smart Plug dient dazu eine Lampe zu schalten, es muss sich ja auch was tun, wenn ich mit dem Multi Sensor schon so tolle Werte wie Helligkeit und Bewegungserkennung habe.
  3. Eine Alarmierung, wenn jemand sich Zugang zu meiner Wohnung verschafft wäre darüber hinaus auch sehr toll. Damit er sich auch noch etwas erschrickt dient der Rauchmelder als Sirene.
  4. Darüber hinaus möchte ich auch auf meinem Handy alarmiert werden wenn sich in Sachen Feuer oder Einbruchsalarm etwas tut.

Mehr zu den einzelnen Teilbereichen gibt es dann bald zu lesen.

Was soll dieser Blog?

Da ich mich gerade intensiv mit dem Thema openHAB2 und Z-Wave beschäftige stelle ich hier meine Erfahrungen und Notizen online und hoffe, dass dies dem ein oder anderen viel Zeit und Nerven erspart. Dennoch ist die Verwendung der Anleitungen natürlich auf eigenes Risiko, wenn ihr aber Fragen habt schreibt doch gerne etwas in die Kommentare und ich versuche zeitnah zu reagieren.

OpenHAB2 und my.openhab

Zunächst einmal müssen wir die aktuelle Java Version installieren, da dies apt nicht automatisch macht. Dazu legen wir folgende Dateien an um dem Paketmanager zu sagen wo er die Updates finden.

sudo nano /etc/apt/sources.list.d/webupd8team-java.list

Im Texteditor tragen wir dann die folgenden Zeilen ein und speichern die Datei.

deb http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main
deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main

Dann brauchen wir noch den Repository Key.

apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886

Updaten die Pakete.

apt-get update

Und installieren die neue Java Version

apt-get install oracle-java8-installer

Dann müssen wir nur noch das Secret und die UUID auslesen und auf my.openhab.org eintragen. Diese findet ihr hier. Sonst ist in OH2 nichts mehr notwendig. Die anderen Einstellungen die man oft im Netz und auch in der offiziellen Anleitung findet sind für OH1.

/var/lib/openhab2/uuid
/var/lib/openhab2/myopenhab/secret

openHAB2 – Logs aktivieren und lesen

Wenn man nicht weiß warum gerade wieder etwas nicht funktioniert hilft es meist die Logs zu lesen. Wie man die detaillierten Logs aktiviert und die Logfile komfortabel anzeigt will ich in diesem Beitrag kurz beschreiben. Zunächst einmal müssen wir das Log-Level auf Debug setzen. Dazu melden wir uns bei bestehender SSH Verbindung mit dem PI per SSH intern an der Karaf Konsole an.

ssh openhab@127.0.0.1 -p 8101

Das Passwort ist „habopen“. Sind wir angemeldet (kann beim ersten Mal etwas dauern), dann setzen wir das Log Level hoch

log:set DEBUG

Alternativ kann man auch beispielsweise nur das Log Level für das Z-Wave Binding hochsetzen.

log:set debug org.openhab.binding.zwave

Ich empfehle nun diese shell offen zu lassen und eine zweite SSH Verbindung zum PI aufzubauen in der ich mir die letzten 20 Zeilen des Logs ausgeben lasse. Die Option -f sorgt dafür, dass die Ausgabe aktualisiert wird wenn neue Logeinträge gemacht werden.

tail -f -n 20 /var/log/openhab2/openhab.log

Fertig. Zumindest seht ihr nun die Logs, das Problem ist damit natürlich noch nicht gelöst.

Alternativ dazu kann man auch in der Karaf Shell das folgende eingeben.

Log:tail

Verlassen kann man Log:Tail mit „STRG+C“ Wenn ihr fertig seid solltet ihr nicht vergessen das Log Level wieder runterzustellen, da sonst schnell eine riesige Datei entsteht

log:set INFO

openHAB2 – Z-Wave Binding und HABmin

In diesem Artikel geht es darum das Z-Wave Binding sowie HABmin zu installieren. Dies ist mit OpenHAB2 und der PaperUI sehr einfach, wenn ihr die Installation wie zuvor von mir beschrieben durchgeführt habt.

Zunächst einmal geben wir im Browser http://raspberrypi:8080 ein wodurch die Startseite von OH2 geöffnet wird. Danach klicken wir auf Paper UI. Ich stelle das User Interface ganz gerne auf Deutsch, es ist zwar noch so gut wie nichts übersetzt, aber ich mache es trotzdem. Das geht unter Preferences.

Ist dies geschehen klicken wir auf Extensions (Ihr merkt, gut übersetzet 🙂 ) wo wir dann unter Bindings ganz unten das Z-Wave Binding finden und es installieren. Danach müssen wir den Controller hinzufügen. Dazu gehen wir auf die Inbox und klicken auf „+“, dann auf „Z-Wave Binding“ und schließlich auf „Z-Wave Serial Controller“. Hier müssen wir den Port „/dev/ttyAMA0“ angeben damit unser RaZBerry Board zugeordnet wird.

Danach installieren wir HABmin (Extensions->User Interfaces). Sobald der HABmin installiert ist findet man ihn auf der Startseite (http://raspberrypi:8080).

Quellen:

RaZberry – openHAB 2 & Z-Wave.Me auf dem Raspberry

Nachdem es mich einige Zeit gekostet hat den Raspberry inklusive des RaZberry Moduls und OpenHAB 2 ans Laufen zu bringen möchte ich nun zusammenfassend beschreiben wie ich vorgegangen bin. Die einzelnen Webseiten auf denen ich die Infos gefunden habe sind weiter unten verlinkt.

Los geht es also mit meinem Raspberry Pi 2 der mit einer 8GB SD-Karte mit Raspbian ausgestattet ist. Für neue Installationen sollten die folgenden Punkte entweder über (sudo) raspi-config oder über die GUI eingestellt werden:

  • Tastaturlayout anpassen
  • Sprache anpassen
  • Zeitzone anpassen
  • SSH aktivieren
  • Den Autostart der GUI deaktivieren

Initial muss die Z-Wave.me Software installiert werden, da sonst später der Zugriff auf den Controller nicht funktioniert. Wenn jemand eine andere Lösung hat würde ich mich sehr über eine Info freuen.

sudo wget -q -O - https://storage.z-wave.me/RaspbianInstall | sudo bash

Dann entfernen wir die Software aus dem Autostart und starten den Pi einmal durch. Wer möchte vorher auch einmal die Software starten. Diese ist unter der IP eures Raspberry am Port 8083 erreichbar. Hier muss beim ersten Mal ein Passwort vergeben werden, das man sich am besten notiert. Man benötigt die Software z.B., wenn man ein Firmware Update des Boards durchführen möchte.

sudo systemctl disable z-way-server
sudo shutdown -r now

Nun bringen wir alles auf den neusten Stand und installieren ein paar praktische/benötigte Pakete.

sudo apt-get updat
sudo apt-get upgrade

sudo apt-get install screen mc vim git htop apt-transport-https

Normalerweise ist Java installiert, falls nicht muss es nachinstalliert werden. Im Zweifel einfach die Installation starten.

sudo apt-get install oracle-java8-jdk

Dann kann es losgehen mit openHAB 2. Ich installiere hier das online Snapshot Release um die an neuen Entwicklungen zu partizipieren, wenn man eine produktiv genutzte Lösung aufbauen will ist OH2 sowieso noch mit Vorsicht zu genießen (OH2 ist mitlerweile offiziell und keine Beta mehr). Hier gehen wir für die Tests auf den Snapshot. Online heißt, dass nicht gleich alles in der Installation enthalten ist und im Bedarfsfall nachgeladen wird. Zunächst einmal machen wir OH2 für den Paketmanager verfügbar:

sudo nano /etc/apt/sources.list.d/openhab2.list

Im Texteditor tragen wir dann die folgenden Zeilen ein und speichern die Datei.

deb https://dl.bintray.com/openhab/apt-repo2 stable main

Dann brauchen wir noch den Repository Key.

wget -qO - 'https://bintray.com/user/downloadSubjectPublicKey?username=openhab' | sudo apt-key add -

Updaten die Pakete.

sudo apt-get update

und installieren die online Version des Snapshots

sudo apt-get install openhab2

Nun müssen wir dem User openhab noch Zugriff auf das RaZberry Board gewähren

sudo usermod -a -G tty openhab
sudo usermod -a -G dialout openhab

Damit der Port für unseren Z-Wave Controller zur Verfügung steht setzen wir noch die Umgebungsvariable. Dazu öffnen wir nano:

sudo nano /etc/default/openhab2

In der Datei steht bereits folgendes:

EXTRA_JAVA_OPTS=""

und wir machen daraus

EXTRA_JAVA_OPTS="-Dgnu.io.rxtx.SerialPorts=/dev/ttyAMA0"

Danach starten wir einmal durch.

sudo shutdown -r now

OpenHAB2 kann dann mit den folgenden Befehlen gestartet oder beendet werden

sudo systemctl start openhab2.service
sudo systemctl status openhab2.service

Oder einfach in den Autostart aufgenommen werden

sudo systemctl enable openhab2.service

Nachdem ihr OH2 gestartet habt ist es über http://raspberrypi:8080 erreichbar. Achtung, der erste Start kann etwas dauern. Damit ist das initiale Setup abgeschlossen. Mehr zum weiteren Vorgehen folgt in einem meiner nächsten Posts

Nachtrag:

Es gibt auch noch eine alternative Lösung mit dem Z-Way Binding welches Openhab mit der Z-Way Software verbindet. Dies habe ich jedoch nicht getestet. Alle Infos dazu findet ihr hier.

Quellen: