Aus Linux-Magazin 11/2019

Der RasPi mit Razberry als Smart-Home-Zentrale für Z-Wave

© dolgachov, 123RF

Viele Smart-Home-Plattformen offerieren komfortable Benutzeroberflächen. So bietet auch Z-Way des Herstellers Z-Wave ein ansehnliches GUI und zahlreiche Apps für das Automatisieren.

Auf dem Gebiet der Heimautomation tummeln sich zahlreiche Hersteller mit individuellen Lösungen. Die Angebote unterschieden sich nicht nur hinsichtlich des Preises und der zugrunde liegenden Technik, sondern oft auch in Sachen Offenheit und Interoperabilität: Viele Smart-Home-Lösungen funktionieren nur innerhalb der vom Hersteller gesetzten Grenzen, die Geräte arbeiten nur mit der Steuerung aus demselben Haus zusammen. Oft ist es unmöglich, das einmal angeschaffte System mit Geräten eines anderen Anbieters zu ergänzen.

Die Z-Wave Alliance [1] geht einen anderen Weg: Das dem System zugrunde liegende Protokoll liegt offen, sodass mittlerweile zahlreiche Hersteller Z-Wave-kompatible Geräte oder Dienste anbieten. Neben dem Z-Wave-Begründer Sigma Designs gehören inzwischen mehrere Hundert Unternehmen dem Konsortium an [2]. Darunter finden sich zahlreiche bekannte Namen aus der IT wie D-Link, Devolo Logitech oder Zyxel, große Elektronikkonzerne wie Bosch, LG und Panasonic sowie viele weniger bekannte Firmen. Eine Zertifizierung sorgt für die Einhaltung der Kompatibilitätsstandards.

Z-Wave für den RasPi

Für den Heimanwender ist besonders attraktiv, dass bereits ein Raspberry Pi als Steuerzentrale ausreicht – man muss ihm nur das Z-Wave-Protokoll beibringen. Das gelingt entweder mit dem UZB [3], einem sowohl für Linux als auch für Mac OS X und Windows geeigneten USB-Stick, oder mit dem Zusatzboard Razberry [4], auf das sich dieser Artikel konzentriert.

Der Vorteil des Razberry-Boards liegt darin, dass die Platine so klein ist, dass sie in der Regel in übliche RasPi-Gehäuse passt, ohne dass Bauteile herausragen. Auch die USB-Ports bleiben für weitere Ergänzungen frei. Zudem liegt der Preis mit knapp 50 Euro um die Hälfte unter dem des 100 Euro teuren UZB. Als Nachteil müssen Anwender in Kauf nehmen, dass das Razberry-Modul nur mit einem Raspberry Pi funktioniert. Der UZB dagegen lässt sich auch an andere Single Board Computer (SBC) und sogar einen herkömmlichen PC anstecken.

Um die Razberry-Lösung zu installieren, setzt der Heimautomatisierer die Platine auf die ersten zehn Pins der GPIO des Raspberry Pi. Strom bekommt die Platine direkt über die GPIO-Pins. Die Platine ist ein Stück niedriger als die auf dem RasPi angebrachten USB-Ports, sodass sich der RasPi samt Razberry in jedes gängige Gehäuse einbauen lässt. Man sollte ein Kunststoff-Case verwenden, Gehäuse aus Metall schirmen Funksignale ab.

Z-Way auf dem RasPi

Nicht nur bei der Wahl der Hardware stehen mit Z-Wave viele Türen offen, auch bei der Software gibt es Alternativen. Als Pendant zur auch hier im Heft vorgestellten Open-Source-Software für Heimautomation FHEM bietet der Razberry-Hersteller Z-Wave.Me mit Z-Way [5] eine eigene Software an. Für deren Nutzung ist allerdings eine Lizenz erforderlich, die das Razberry-Modul bereits enthält. Den UZB-Stick gibt es hingegen mit oder ohne Lizenz zu kaufen. Gegebenenfalls lässt sich die Z-Way-Lizenz aber auch nachträglich erwerben.

Wer Z-Way installieren möchte, der meldet sich ausgehend von einem frisch installierten Raspbian-System auf Basis eines RasPi 2 oder 3 entweder per SSH oder lokal an und führt das Kommando aus Listing 1 aus. Wer sich die manuelle Installation sparen will, kann alternativ die Speicherkarte des RasPi mit dem von Z-Wave.Me bereitgestellten Image komplett neu aufsetzen.

Listing 1

Installer

01 $ wget -q -O - razberry.z-wave.me/install | sudo bash
02 Do you accept Z-Wave.Me licence agreement?
03 Please read it on ZWave.Me web site: http://razberry.z-wave.me/docs/
04 ZWAYEULA.pdf
05 yes/no: yes
06 z-way-server new installation
07 Installing additional libraries
08 OK
09 http://archive.raspberrypi.org jessie InRelease
10 OK
11 http://mirrordirector.raspbian.org jessie InRelease#
12 [...]

Vor der Installation sollte der Raspberry Pi mittels »sudo raspi-config« über »5 Internationalisation Options | 2 Change Timezone« die für seinen Standort korrekte Zeitzone lernen. Ansonsten reagiert das System bei zeitgesteuerten Aktionen später eventuell falsch, obwohl die Weboberfläche eine korrekte Zeit anzeigt (Abbildung 2).

Außerdem gilt es, noch den seriellen Port des Raspberry Pi umzukonfigurieren. Er arbeitet in der Standardeinstellung als Terminal-Port, über den der RasPi direkt bedienbar ist. Nun aber soll er FHEM dazu dienen, den Razberry anzusteuern. Der Anwender öffnet also mit »sudo raspi-config« das Konfigurationswerkzeug des RasPi-Systems und beantwortet unter »9 Advanced Options | A8 Serial« die Frage »Would you like a login shell to be accessible over serial?« mit »Nein« (Abbildung 1).

Abbildung 1: Damit FHEM das Razberry-Modul einbinden kann, ist die Terminal-Funktion der seriellen Schnittstelle zu deaktivieren.

Abbildung 1: Damit FHEM das Razberry-Modul einbinden kann, ist die Terminal-Funktion der seriellen Schnittstelle zu deaktivieren.


Abbildung 2: Der Anwender muss darauf achten, Raspian mit Hilfe des Konfigurationswerkzeugs die richtige Zeitzone zu vermitteln. Ansonsten funktionieren zeitgesteuerte Aktionen später nicht korrekt.

Abbildung 2: Der Anwender muss darauf achten, Raspian mit Hilfe des Konfigurationswerkzeugs die richtige Zeitzone zu vermitteln. Ansonsten funktionieren zeitgesteuerte Aktionen später nicht korrekt.

Z-Way einspielen

Das Kommando aus Listing 1 lädt ein Installationsskript aus dem Internet und ruft es umgehend mit Root-Rechten auf. Nach dem Bestätigen der Nutzungsbedingungen spielt der Installer automatisch noch fehlende Abhängigkeiten in das System ein und legt Start-Stopp-Skripte an, sodass der Dienst zusammen mit dem Rechner startet. Abschließend bietet die Routine noch an, sich im E-Mail-Verteiler von Z-Wave.Me zu registrieren.

Die Installationsroutine richtet nicht nur das Programm ein, sondern auch Aktualisierungen. Dazu ruft der Admin das Skript mit demselben Kommando wie bei der Erstinstallation nochmals auf. Nach dem Einrichten der Software erreicht er die Oberfläche in einem Browser über den Port 8083. Klappt die Namensauflösung im Netzwerk ordentlich und befindet sich nur ein aktiver RasPi im Netz, müsste auch »http://raspberrypi:8083« funktionieren.

Wer direkt auf dem RasPi-System arbeitet, sollte stattdessen Localhost ansprechen, also »127.0.0.1:8083«. Im Fall von Schwierigkeiten beim Auffinden des RasPi hilft eine Hilfeseite von Z-Way [6]. Sie stöbert den RasPi automatisch auf und verlinkt unter »Direct connect to Z-Way« direkt die Weboberfläche des im Netz entdecken Z-Way-Systems.

Da die FHEM-Entwickler laufend Verbesserungen für diverse Module des Smart-Home-Systems entwickeln und sich diese abseits von FHEM selbst aktualisieren lassen, bringt der Nutzer FHEM anschließend auf einen aktuellen Stand. Dazu gibt er in der FHEM-Konsole das Kommando »update« ein.

Z-Wave-Geräte anmelden

Es ist ratsam, auf der Z-Wave-Oberfläche schon im ersten Schritt ein Kennwort für den administrativen Benutzer »admin« einzurichten. Danach leitet das System den Benutzer automatisch auf das anfangs noch leere Dashboard weiter. Die Oberfläche spricht in der Voreinstellung Englisch. Über das Zahnrad-Icon in der rechten oberen Ecke lässt sich aber unter »My Settings« die Sprache auf Deutsch umschalten.

Zum Anlernen neuer Geräte öffnet der Anwender dann abermals das Zahnrad-Menü und wechselt zu dem Menüpunkt »Geräte | Neu hinzufügen«. Dort führt Z-Way eine ganze Reihe von Herstellern Z-Wave-kompatibler Geräte auf. Sehr wahrscheinlich besitzt der Einrichter kein Gerät dieser (hierzulande meist unbekannten) Unternehmen, daher tippt er im Kopf der Seite auf »Neues Z-Wave Gerät hinzufügen und automatisch identifizieren«.

Nun kann er das erste Z-Wave-Gerät in Betrieb nehmen. Dazu steckt er beispielsweise eine Schaltsteckdose in eine Steckdose an der Wand oder legt Batterien in einen an der Heizung montierten Z-Wave-Thermostaten ein. Danach versetzt er das Gerät in den Verbindungsmodus. Bei manchen Produkten geschieht dies im unkonfigurierten Zustand automatisch, bei anderen muss man dagegen einige Sekunden lang einen Taster drücken, bis eine blinkende LED den Verbindungsmodus signalisiert. Dazu finden sich in der Betriebsanleitung des jeweiligen Geräts weitere Hinweise.

Während sich das Razberry-Modul im Anlernmodus befindet, leuchtet seine rote LED durchgehend (Abbildung 3). Die daneben angeordnete grüne LED zeigt erfolgreiche Datenübertragungen zu einem angebundenen Z-Wave-Gerät an. Sobald dies erfolgt, klickt der Anwender im nächsten Dialog auf »Anlernen starten« (Inklusion) und wartet, bis der Anlernvorgang abgeschlossen ist (Abbildung 4). Im Z-Wave-Jargon führt die Zentrale dabei ein Interview mit dem Gerät durch.

Abbildung 3: Leuchtet die rote LED am Razberry-Board wie hier im Bild durchgehend, dann befindet sich das Modul gerade im Anlernmodus.

Abbildung 3: Leuchtet die rote LED am Razberry-Board wie hier im Bild durchgehend, dann befindet sich das Modul gerade im Anlernmodus.


Abbildung 4: Zum Anlernen neuer Z-Wave-Geräte setzt man diese in den Verbindungsmodus und startet die Inklusionsfunktion der Z-Way-Oberfläche.

Abbildung 4: Zum Anlernen neuer Z-Wave-Geräte setzt man diese in den Verbindungsmodus und startet die Inklusionsfunktion der Z-Way-Oberfläche.

Im anschließenden Dialog lassen sich der Name des neuen Geräts sowie die Bezeichnungen der unterschiedlichen Stellgrößen, Sensoren und Aktoren angeben – bei einem Thermostat beispielsweise die Soll-Temperatur, die Ist-Temperatur oder die Helligkeit der Anzeigebeleuchtung. Außerdem kann man das Gerät einem Raum zuordnen, falls ein solcher schon definiert ist (Abbildung 5). Diese Zuordnung lässt sich aber auch im Nachhinein noch vornehmen, genauso lassen sich die einzelnen Komponenten noch später benennen.

Abbildung 5: Nach dem Anlernen gibt der Anwender sowohl dem neuen Gerät als auch den Sensoren und Aktoren einfach zu merkende Namen.

Abbildung 5: Nach dem Anlernen gibt der Anwender sowohl dem neuen Gerät als auch den Sensoren und Aktoren einfach zu merkende Namen.

Dashboard

Die Weboberfläche von Z-Way gliedert sich in vier unterschiedliche Reiter. Ein Klick auf das Haus-Icon führt ins anfangs noch leere Dashboard – dazu später mehr. Im zweiten Reiter lassen sich die im System registrierten Z-Wave-Geräte nach Räumen ordnen und beliebig benennen sowie mit eigenen Aufnahmen bebildern.

Der dritte Reiter listet alle Stellelemente und Sensoren auf (Abbildung 6). Das jeweils an den Geräten eingeblendete Zahnrad-Symbol führt zur Konfiguration. Hier lässt sich das Gerät ausblenden, zu einem Raum hinzufügen, umbenennen oder ins Dashboard einbinden. Dort erhält der Anwender dann schneller Zugriff auf die wichtigsten Geräte in seinem Haus, ohne dass er lange suchen muss. Für eine bessere Übersicht sortiert oder filtert er die Liste nach Elementen, Tags oder chronologisch.

Abbildung 6: In der Übersicht listet die Z-Way-Oberfläche alle in das Z-Wave-Netz eingebundenen Geräte auf. Dort lassen sich auch Aktionen von Hand ausführen.

Abbildung 6: In der Übersicht listet die Z-Way-Oberfläche alle in das Z-Wave-Netz eingebundenen Geräte auf. Dort lassen sich auch Aktionen von Hand ausführen.

Über die Liste sind nicht nur die einzelnen Geräte zu verwalten, sondern es lassen sich dort auch deren Sensorwerte (etwa Temperaturen oder der aktuelle Stromverbrauch) ablesen oder der Aktor des jeweiligen Geräts steuern.

Experten-Oberfläche

Genügen die Einstellungsmöglichkeiten an dieser Stelle den Anforderungen nicht, lässt sich über die URL »http://RasPi-IP:8083/expert« eine erweiterte Oberfläche aufrufen (Abbildung 7). Sie bietet neben den einzelnen Schaltmöglichkeiten und Sensordaten viele weitere Informationen zu den eingebundenen Geräten. Dazu gehören beispielsweise die Ergebnisse des Interviews oder Details zur Firmware-Version sowie des SDK-Protokolls. In der Regel kommt man aber mit der Standardoberfläche aus.

Abbildung 7: Das Expert UI liefert vor allem zur Problemlösung wichtige Informationen. Geübte Anwender erfahren hier zudem tiefer gehende Konfigurationsmöglichkeiten.

Abbildung 7: Das Expert UI liefert vor allem zur Problemlösung wichtige Informationen. Geübte Anwender erfahren hier zudem tiefer gehende Konfigurationsmöglichkeiten.

Das Dashboard sowie die Geräteübersicht erlauben nun zwar bereits das Steuern und Auslesen der eingebundenen Z-Wave-Geräte, doch automatisch geschieht im Haus nach wie vor gar nichts. Zum Einrichten eines Automatismus muss der Nutzer erst über den Punkt »Anwendungen« aus dem Zahnrad-Menü der Weboberfläche eigene Regeln oder Szenarios definieren sowie bei Bedarf noch externe Anwendungen einrichten.

Z-Way unterteilt die Ansicht in drei Reiter: Unter »Lokal« stehen die bereits vorhandenen Apps. Darunter versteht das Programm einfache Wenn-Dann-Regeln, Zeitpläne oder auch Aktionen wie das Versenden von E-Mails oder Push-Nachrichten mittels externer Dienste wie etwa Pushover [7] oder Pushbullet [8].

Im Reiter »Server« findet sich eine Art App-Store, über den sich weitere Funktionen nachinstallieren lassen. Dazu zählen etwa ein Astronomie-Modul, mit dem sich der Sonnenstand ermitteln und eine Markise entsprechend steuern lässt, sowie ein Kameramodul für die Webcam des RasPi. Über diesen Reiter aktualisiert man auch bereits installierte Module.

Zu beachten ist, dass beide Reiter anfangs nur wenige Featured Apps auflisten. Eine komplette Übersicht erhält, wer den Filter rechts neben dem Suchfeld auf »Alle Apps« umstellt. Mit einem Mausklick auf »Neue App« richtet der Anwender die ausgewählte Funktion ein. Noch nicht installierte Erweiterungen fügt er mit einem einfachen Klick auf »Download« dem System hinzu.

Die Funktionsweise der Apps lässt sich am besten anhand eines Beispiels erklären: Für das zeitgesteuerte Schalten einer Steckdose legt man einen Zeitplan als neue App an. Im nächsten Dialog erhält die App einen Namen, werden die Wochentage für die Aktion markiert und schließlich eine Uhrzeit eingetragen.

Danach definiert der Anwender Aktionen, etwa das Setzen eines Dimmers oder Betätigen eines Motors, das Einstellen eines Thermostats oder eine andere Aktion. Im Falle der Steckdose setzt der Anwender schlicht den entsprechenden Schalter auf »Ein« oder »Aus«. Mit einem Klick auf »Speichern« schließt er das Einrichten ab. Die App sollte danach im Reiter »Aktiv« erscheinen und zur richtigen Zeit das Gerät wie definiert schalten.

Mit Anwachsen des Heimautomationssystems wächst auch der Umfang des Regelwerks. Wer viele Z-Wave-kompatible Sensoren wie Bewegungsmelder, Fenster- und Türsensoren, Helligkeits- und Feuchtigkeitsmesser sowie Rauchmelder und automatisierte Rollläden, Markisen oder gar Türschlösser installiert, der investiert dabei viel Zeit in die Gestaltung der Regeln. Die lassen sich daher über das Zahnrad-Menü und dessen Punkt »Management« auf einem Rechner sichern und bei Bedarf neu einspielen.

Im selben Menü bietet sich auch die Gelegenheit, neue Benutzer anzulegen, die Firmware des Razberry zu aktualisieren oder einen Fernzugriff auf die Konfigurationsoberfläche von Z-Way einzurichten. Zudem lassen sich auch Keys für Betaversionen einzelner Apps oder zusätzliche Lizenzen hinterlegen.

Z-Way-Server steuern

Bei der Installation der Z-Way-Software auf dem Raspberry Pi spielt der Installer einen Dienst in das System ein. Wenn die Konfigurationsoberfläche von Z-Way einmal nicht zu erreichen ist oder der Dienst einen Fehler meldet, dann fragt der Anwender den Status dieses Diensts in Debian-typischer Manier über das Terminal ab (Listing 2). Bei Bedarf lässt sich der Dienst auf demselben Weg auch stoppen oder starten (Listing 3).

Listing 3

Restart

01 $ sudo service z-way-server start
02 $ sudo service z-way-server stop
03 $ sudo service z-way-server
04 restart

Listing 2

Server-Status

01 $ sudo service z-way-server status
02 * z-way-server.service - LSB: RaZberry Z-Wave service
03 Loaded: loaded (/etc/init.d/z-way-server)
04 Active: active (running) since Fri 2016-04-08 13:11:03 UTC; 43s ago
05 Process: 1054 ExecStop=/etc/init.d/z-way-server stop (code=exited,
06 status=0/SUCCESS)
07 Process: 1058 ExecStart=/etc/init.d/z-way-server start (code=exited,
08 status=0/SUCCESS)
09 CGroup: /system.slice/z-way-server.service
10 |?1061 z-way-server

Das Start-Stopp-Skript erwies sich im Laufe des Tests als wichtig, da der Dienst nach einem Kaltstart des Raspberry Pi zwar lief (man sich also im Webfrontend einloggen konnte), aber keine Geräte mehr auflistete, obwohl diese vor dem Neustart noch vorhanden waren. Sobald der Admin den Dienst bei laufendem RasPi einmal durchstarten lässt (»restart«), führt Z-Way die verloren gegangenen Geräte wieder auf.

Zur Analyse von auf den ersten Blick nicht lösbaren Problemen lohnt sich zudem immer ein Blick in die Protokolldatei »z-way-server.log« des Diensts im Verzeichnis »/var/log/« (Listing 4). Dorthin schreibt der Z-Way-Server während des Starts wie auch im laufenden Betrieb zahlreiche Informationen zu Events. Falsche Login-Daten bei externen Diensten, der Ausfall von Z-Wave-Geräten oder Bugs im Programm selbst sowie in externen Apps fallen auf diesem Weg recht schnell auf. Darüber hinaus eignet sich die bereits erwähnte Expert-Oberfläche zum Auffinden von Fehlern.

Listing 4

z-way-server.log

01 $ tail -f /var/log/z-way-server.log
02 [2016-04-08 13:11:03.334] [I] [core] Executing script: exit()
03 [2016-04-08 13:11:03.700] [I] [core] Executing script: /*** Z-Way Home
04 Automation Engine main executable ***************************** ...
05 [2016-04-08 13:11:03.702] [I] [core] Executing script: // Comon
06 utilities and functions ...
07 [2016-04-08 13:11:03.707] [I] [core] Executing script: // This script
08 transforms old formats to new ...

Z-Way-Apps

Nun möchte der Anwender nicht zwingend für jede Aktion im Haus den PC starten, wenn doch mit dem Smartphone oder Tablet ein Computer jederzeit griffbereit ist. In den App-Stores von Android und iOS finden sich dann auch diverse Apps, die auf das ausführlich dokumentierte Z-Way-API aufsetzen und so das Steuern des Smart Home via Handy ermöglichen. Neben den beiden offiziellen Apps Z-Way für Android-Nutzer sowie ZWay Home Control für Anwender mit iOS gibt es noch eine Reihe alternativer Anwendungen, darunter beispielsweise die App Z-Way Control.

Im Test hinterließen aber besonders die Android-Apps keinen souveränen Eindruck. Zum Testzeitpunkt war es der offiziellen Z-Way-App für Android aufgrund einer Änderung an der Authentifizierungsmethode nicht möglich, sich bei der Serversoftware anzumelden. Die App meldete trotz korrekter Zugangsdaten lediglich »Can’t connect!«.

Mit der alternativen App Z-Way Control klappte die Anmeldung zwar, allerdings zeigt diese App nur die vom PC gewohnte Weboberfläche in einer Webview an. Der Vorteil der Anwendung liegt dann lediglich darin, dass sie Teile der Webseite lokal lädt und sie so beim Zugriff über eine mobile Internetverbindung Datenvolumen einspart.

Fazit

Wer einen Raspberry Pi als Zentrale für die Heimsteuerung nutzen und Z-Wave-Geräte in die Installation einbinden möchte, für den führt kaum ein Weg am Razberry oder dem UZB-Stick vorbei. Besonders der Razberry eignet sich hervorragend, da die Installation kaum Aufwand erfordert, die Kosten sich noch dazu in Grenzen halten und die USB-Ports für andere Anwendungen frei bleiben. Der UZB bietet hingegen den Vorteil, dass die GPIO des Raspberry Pi für andere Aufgaben nutzbar bleibt und der Stick auch an herkömmlichen Rechnern gut funktioniert.

Der Z-Way-Server bietet einen einfachen Einstieg, da das Einspielen der Software auch ohne große Linux-Kenntnisse gelingt und sich in der Weboberfläche auch komplexere Aufgaben gut konfigurieren lassen. Dafür muss sich der Anwender jedoch ausschließlich mit Z-Wave-Geräten zufriedengeben – Geräte anderer Smart-Home-Standards einzubinden, das gelingt mit Z-Way nicht.

Bei Problemen erhält man entweder über den offiziellen Support Hilfe oder auch über das Forum von Z-Wave.Me, das auch ein deutschsprachiges Unterforum bereithält. Entwickler finden auf der Razberry-Homepage eine gute und ausführliche Dokumentation sowohl zum Modul als auch zu den von Z-Way bereitgestellten APIs.

Neben FHEM gibt es noch weitere quelloffene Heimautomationslösungen, die den Razberry sowie Z-Way als Schnittstelle unterstützen. Dazu gehören etwa Open Remote und Freedomotic. Wer jedoch Wert auf eine möglichst breite Unterstützung unterschiedlicher Dienste und Protokolle sowie eine breitgefächerte und engagierte Community legt, für den empfiehlt es sich, den Razberry in FHEM zu integrieren.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 5 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Nach oben