Z-Wave

Aus FHEMWiki
Version vom 25. April 2014, 16:37 Uhr von Hschmitt (Diskussion | Beiträge) (Struktur zusammengefasst, da zweimal etwas zuGeräten gesagt)

Z-Wave ist ein drahtloser Kommunikations-Standard, der von der Firma Sigma Designs und der Z-Wave Alliance für die Heimautomatisierung entwickelt wurde (Quelle: Wikipedia).


Auf dieser Seite wird das Einrichten eines Z-Wave Systems in FHEM beschrieben.

Konfiguration

Einrichten eines Z-Wave USB Sticks

Das Einrichten eines Z-Wave USB Sticks teilt sich in 2 Schritte.

  • Laden des Kernelmoduls
  • Definieren des USB Sticks

Laden des Kernelmoduls

Zuerst muss sichergestellt werden, dass das entsprechende Kernelmodul cp2101.ko geladen wird. Diese Datei ist bei einer FHEM und FritzBox 7390 Installation über das Image von fhem.de bereits enthalten. Um den Z-Wave USB Stick zu verwenden muss dieses Kernelmodul vor oder beim Starten des FHEM Servers geladen sein. Dies erreicht man durch einen Eintrag in der Datei startfhem.

Die entsprechende Zeile kann direkt unterhalb der modprobe Anweisungen eingefügt werden.

insmod $home/lib/cp2101.ko

Definieren des USB Sticks

Nach einem FHEM Neustart wird der USB Stick nun erkannt. Falls der USB Stick nicht automatisch in der fhem.cfg hinzugefügt wurde, ist die Log-Datei zu durchsuchen. Sie enthält den entsprechenden Eintrag, der in der fhem.cfg hinzugefügt werden muss.

Ein Aeon Labs Z-Stick wird an der Fritzbox wie folgend definiert:

define zwaveStick ZWDongle /dev/ttyUSB0@115200

Informationen zu dem USB Stick auslesen

Zum Definieren von Z-Wave Aktoren und Sensoren ist die homeId notwendig.

Die homeId des USB Sticks kann man mit folgendem Befehl auslesen:

get zwaveStick homeId

Die aktuelle Liste der Z-Wave Knoten, die bereits an dem Stick registriert sind, kann mit dem folgendem Befehl ausgelesen werden:

get zwaveStick nodeList

Hinzufügen eines neuen Z-Wave Geräts

Zuerst wird der Z-Wave Stick in den Modus zum Aufnehmen neuer Geräte gesetzt:

set zwaveStick addNode on

Danach wird das Gerät in den Aufnahmemodus versetzt. dies geschieht zumeist durch dreimaliges Drücken einer Taste am Gerät.

Abschließend wird der Z-Wave Stick wieder in den Normalmodus versetzt:

set zwaveStick addNode off

Erneutes Hinzufügen eines bereits registrierten Z-Wave Geräts

Es können die bereits an dem Z-Wave Stick registrierten Geräte abgerufen werden:

get zwaveStick nodeList

Es werden die verschiedenen IDs zurückgeliefert, wobei 1 der Z-Wave Stick selbst ist.

Mit dem folgenden Befehl wird das bereits registrierte Gerät mit der ID 2 eingerichtet:

set zwaveStick createNode 2

Glossar

Was ist eine Association?

Devices die die Association unterstützen sind in der Lage direkt mit anderen Devices zu kommunizieren. Dies können zum einen direkte Befehle sein, als auch Meldungen über den Status und Zustand der Devices.

Zum Beispiel kann damit ein Bewegungsmelder bei entdeckter Bewegung direkt eine Lampe ein oder ausschalten, oder die aktuelle Temperatur an den Controller senden.

Devices können mehrere Association Groups haben, die für vom Hersteller vorgesehene unterschiedliche Aktionen definiert sind. Welche das sind geht aus der jeweiligen Beschreibung hervor.

Damit FHEM auf Statusmeldungen von Sensoren reagieren (und auch Anzeigen) kann, muss der Controller (ZW_Dongle, DeviceID = 1) mit dem jeweiligen Device assoziiert werden.

set associationAdd <associationGroup> <deviceID>

Nahezu alle in Europa erhältlichen Devices unterstützen die Rückmeldung des Status via Association. Daher ist diese Konfiguration in der Regel Pflicht um ein Device sinnvoll mit FHEM nutzen zu können.

Ausnahmen gibt es in Nordamerika wo aufgrund von Patentansprüchen einige Hersteller auf die Statusrückmeldungen verzichten. Diese Geräte unterstützen in der Regel die Command Class ASSOCIATION nicht.

Tipps und Tricks

Batterie betriebene Geräte

Um die Batterielaufzeit zu erhöhen, legen sich batteriebetriebene Geräte „schlafen“ und wachen in konfigurierbaren Intervallen auf um einen "wakeup Report" zu senden. Daraufhin senden andere Devices ihre bis daher gesammelten Anfragen welche daraufhin beantwortet werden.

Dies wird in FHEM wie folgt konfiguriert.

set wakeupInterval <time> <nodeId>

Geräte Spezifika

Fibaro

Bei den bisher erschienenen Devices Devices wird die Association Group 3 für die Übermittlung von Sensor Werten verwendet.

set associationAdd 3 1

FGSS-001

Dieser Rauchmelder scheint einen Falschen Batterie Level (0%) zu senden wenn er Außerhalb des wakeup intervals abgefragt wird.

Workaround: Den Batterie Level nicht direkt via get anfordern sondern per notify auf den wakeup Report anfordern.

FGK-101

Der Tür/Fensterkontakt sendet Änderungen am Zustand nur als basicReport (ff oder 00). Der Status (open / closed) wird nur nach explizitem GET gemeldet.

GE

GE (Model t.b.d)

Dieser Schalter unterstützt keine Statusrückmeldungen.