Z-Wave Binding einrichten


Da seit diesem Jahr Rauchmelder auch im Altbau pflicht sind, habe ich mich kurzerhand für 3 Fibaro Smoke Sensoren entschieden. Hier muss man allerdings ein bisschen aufpassen. Da es eine alte Version gibt, die nicht nach DIN 14604 zertifiziert ist. Der Fibaro Rauchmelder mit DIN Zertifizierung heißt „FIBEFGSD-002“. Diese Rauchmelder haben auch einen Temperatursensor, der die Zimmertemperatur misst und einen Alarm auslößt falls sie über 55 Grad steigen sollte.Zusätzlich läßt sich der Sensor auch mit OpenHAB auslesen. Im Auslieferungszustand meldet der Rauchmelder allerdings nur die Temperatur, wenn sie sich um mindestens ein Grad geändert hat.

Z-Wave mit OpenHAB

Um Z-Wave Komponenten mit OpenHAB steuern zu können, benötigt man einen Z-Wave USB-Stick. Dieser USB-Stick dienst als Controller im Netzwerk mit dem alle Z-Wave Komponenten kommunizieren. In einem Z-Wave Netzwerk können bis zu 232 einzelne Geräte angemeldet werden. Diese Geräten vernetzen sich untereinander. So können auch weit entfernte Geräte mit dem Controller komunizieren. Befehle werden über maximal 4 Zwischen-Hops zum Controller weitergeleitet. Ich habe mich für den UZB1 von ZME entschieden. Dieser Stick funktioniert gut und ist relativ preiswert.

Z-Wave StickVon aktuellen Linuxdistributionen wird dieser Stick automatisch erkannt und eingerichtet. Für Windows muss ein Treiber von der Hersteller-Webseite heruntergeladen werden. Steckt man diesen Stick an seinen OpenHAB Server erkennt der Linuxkernel ihn automatisch und bindet ihn auch automatisch ein. Um herauszufinden als welches Device der Kernel den Stick eingebunden hat, kann man sich die Kernelmeldungen anzeigen lassen.

dmesg |grep tty
[    1.724850] cdc_acm 1-3:1.0: ttyACM0: USB ACM device

Bei mir wurde der Stick als ttyACM0 erkannt. Nun muss das Z-Wave Binding installiert werden. Wer bereits HABmin installiert hat, kann diesen Schritt überspringen, da HABmin das Z-Wave Binding benötigt.

apt-get install openhab-addon-binding-zwave

Damit OpenHAB auf den USB-Stick zugreifen darf, muss der Benutzer unter dem der OpenHAB-Dienst läuft zusätzlich zur Gruppe „dailout“ hinzugefügt werden.

usermod -a -G dialout openhab

Ist das erledigt, so können in der „openhab.cfg“ die nötigen Einstellungen vorgenommen werden.

zwave:port = /dev/ttyACM0
zwave:healtime = 2
zwave:setSUC = true
zwave:softReset = false
zwave:masterController = true

Nach einen Neustart des OpenHAB Dienstes kann mit dem einbinden der ersten Devices begonnen werden. Ich empfehle hier HABmin einzusetzen, da hierdurch die Installation deutlich vereinfacht wird.

Einbindung der Fibaro Rauchmelder

Damit ein Gerät angemeldet werden kann, muss der Controller in einen Zustand versetzt werden, in dem das möglich ist.

Z-Wave includeNach einem Klick auf „Include“ hat man 30 Sekunden Zeit, um die Anmeldeprozedur am Gerät durchzuführen. Bei den Fibaro Rauchmeldern muss man 3 mal schnell auf den Button in der mitte des Gerätes drücken, um den Vorgang durchzuführen.

Fibaro Smoke SensorIst der Anmeldevorgang erfolgreich, wird nach dem Aktualisieren der Anzeige ein neues Gerät angezeigt.

habmin deviceWie man auf dem Screenshot sieht, hat der Controller die ID 1 bekommen und der Rauchmelder die ID 2. Diese IDs werden für die Zuordnung der Items benötigt, die noch angelegt werden müssen.

Items und Sitemap in OpenHAB

Für einen Rauchmelder habe ich 3 Items definiert. Eins für die Temperatur, eins falls Alarm ausgelößt wird und eins für den Zustand der Batterie.

Switch  RM_Wohnzimmer   "Rauchmelder Wohnzimmer"        <fire>  { zwave="2:command=sensor_alarm" }
Number  RM_Wohnzimmer_Temp      "Rauchmelder Wohnzimmer Temperatur [%.1f C]"    { zwave="2:command=sensor_multilevel,sensor_type=1" }
Number  RM_Woohnzimmer_Batterie "Rauchmelder Wohnzimmer Batterie [%d %%]"       <energy>        { zwave="2:command=battery" }

Da der Rauchmelder für das Wohnzimmer beim Anmelden die ID 2 bekommen hat, muss diese ID auch für das Binding des Items verwendet werden. Für den Feueralarm habe ich einen Switch definiert, für die Temperatur ein Number-Item vom Type Float (Fließkomma) und für die Batterie ein Number-Item vom Typ Integer (Ganzzahl). Wenn man das ganze mit HABmin machen möchte, sieht es folgendermaßen aus.

Beim Hinzufügen des Binding muss man darauf achten erst „Add“ und dann die neu entstandene Zeile anzuklicken. Falls das nicht geschieht, werden die Binding-Einstellungen nicht übernommen. Die roten Dreiecke an den einzelnen Feldern kennzeichnen Änderungen, die noch nicht gespeichert sind. Sind alle Items erstellt, kann man sich der Sitemap widmen.

Der Zustand der Batterie wird nur eimal pro Tag übermittelt. Von daher kann es etwas dauern bis ein Wert angezeigt wird. Die Batterie des Rauchmelders soll 10 Jahre halten, wenn man die Defaulteinstellungen des Herstellers verwendet.

sitemap Test label="Main Menu"
{
	Frame {
		Switch item=RM_Wohnzimmer label="Rauchmelder Wohnzimmer" icon="fire"		
		Text item=RM_Wohnzimmer_temp label="Temperatur Wohnzimmer [%.1f C]" icon="temperature"		
		Text item=RM_Wohnzimmer_Batterie label="Batterie RM Wohnzimmer [%d %%]" icon="energy"		
	}	
}

Hier noch mal der Quelltext der Sitemap.

Meine Erfahrungen

Der Rauchmelder sieht ziemlich gut aus und er ist relativ klein. Ich habe ihn auch testweise ausgelößt, dann ist er ziemlich laut und wird im ganzen Haus gehört. Selbst wenn die Tür im Wohnzimmer zu ist. Die Temeraturanzeige sollte man nicht zu ernst nehmen, da er typischer Weise an der Decke hängt (warme Luft steigt nach oben). Da er sich auch relativ leicht in OpenHAB integrieren läßt, werde ich wohl alle Zimmer mit diesen Rauchmeldern ausstatten. Eines sollte man auf jeden Fall aber noch wissen. Findet der Rauchmelder sein Z-Wave Netzwerk nicht mehr, piept er in gefühlt sehr kurzen abständen (was etwas nervt).

Assosiation Groups und Configuration Parameters

Links:

Fibaro Webseite
Idealo Preisvergleich
Wikipedia Z-Wave
OpenHAB Z-Wave Binding (Wiki)ZME UZB1-USB-Stick


Schreibe einen Kommentar