FHEM -> Vision Z-Wave USB Stick -> Fibaro "Wall Plug" "Motion Sensor" (Tutorial)

Begonnen von goodtoknow, 27 Juni 2015, 10:30:42

Vorheriges Thema - Nächstes Thema

goodtoknow

Einen wunderschönen guten Morgen zusammen,

ich nutze nun schon seit geraumer Zeit FHEM mit zwei CULs sowie Geräten von ELRO, ELV (http://www.elv.de/bausaetze-homematic-smart-home.html) und co.

Ich bin mit der Funktionalität sehr zufrieden und bin beruflich auf den Hersteller Fibaro (http://www.fibaro.com/de) gestoßen.

Ziel: Ich möchte parallel zWave installieren, um Komponenten der Firma Fibaro "Wall Plug" & "Motion Sensor" in meine Architektur zu integrieren.

Ich versuche hier nun auch die einzelnen Schritte exakt aufzuzählen, falls jemand dieses Szenario nachbauen möchte oder auch an der einen oder anderen Stelle nicht mehr weiter kommt.

Die Geräte des Herstellers Fibaro verwenden ja einen andere Funktechnik, zWave (http://www.z-wave.com/)
Also nach dem trial & error Prinzip das Forum durchgelesen, den Beitrag (http://www.fhemwiki.de/wiki/Z-Wave) zu Herzen genommen und mir folgende Komponente gekauft:

Vision Z-Wave USB Stick ZU 1401 EU (VIS_ZU1401) (http://www.zwave-shopping.com/de/z-wave-terminals/vision-security/147-vision-usb-stick.html)

Nun den Dongle mit define ZWDongleVision ZWDongle /dev/ttyACM0@115200
attr ZWDongleVision room Z-Wave
eingefügt.
Gerät erscheint im Raum Z-Wave, allerdings komme ich nun schon an die erste Hürde. Ich kann die HomeID nicht auslesen.

ZitathomeId is unsupported by this controller

Im Logfile erscheint folgendes:

2015.06.27 10:28:09 2: ZWave_ProcessSendStack: no ACK, resending message
2015.06.27 10:28:11 1: PERL WARNING: Use of uninitialized value $cmd in pattern match (m//) at ./FHEM/01_FHEMWEB.pm line 804.
2015.06.27 10:28:11 2: ZWave_ProcessSendStack: no ACK, resending message
2015.06.27 10:28:12 2: ZWave_ProcessSendStack: no ACK, resending message
2015.06.27 10:28:13 2: ZWave_ProcessSendStack: no ACK, resending message
2015.06.27 10:28:13 1: ERROR: max send retries reached, removing 01030007fb from sendstack


Kann mir jemand einen Tipp geben, woran es liegen könnte dass ich z.B.

get ZWDongleVision homeId

nicht auslesen kann?

Danke Euch für die Unterstützung.

Jan

rudolfkoenig

Wie bist du auf die Idee gekommen, dass das Geraet via /dev/ttyACM0 anzubinden ist? Wenn an diesem Rechner zwei CULs angeschlossen sind, dann wird vmtl. einer von diesen bereits ueber /dev/ttyACM0 eingebunden. Ueblicherweise erkennt FHEM das Geraet automatich beim Neustart, oder wenn man "usb scan" / "usb create" ausfuehrt, ein "define" selbst einzugeben ist nicht notwendig.

Off-Topic: weisst du noch, wodurch du die gezeigte "PERL WARNING" ausgeloest hast? Ich wuerde es gerne fixen.

goodtoknow

Hallo FHEM hero! (eine bessere Bezeichnung gibt es auch nicht!!!)

gute Frage. Auf die Idee bin ich über folgendes Wiki gekommen.
(http://www.fhemwiki.de/wiki/Z-Wave)

In der Tat, die beiden Culs sind, wie vermutet, folgendermaßen eingebunden und es kam zu einem Konflikt:

#################
# CUL 868 & 433 #
#################

#Product: CUL868
define CUL CUL /dev/ttyACM0@xxxxx 1034
attr CUL rfmode MAX
attr CUL room Dongle
define cm CUL_MAX 123456
attr cm IODev CUL

#Product: CUL433
define CUL1 CUL /dev/ttyACM1@xxxxx 1134
attr CUL1 room Dongle



Über "usb scan" erhielt ich dann folgende, erfreuliche Nachricht:

### ttyACM0: checking if it is a CUL
already used by the fhem device CUL
### ttyACM1: checking if it is a CUL
already used by the fhem device CUL1
### ttyACM2: checking if it is a CUL
got wrong answer for a CUL
### ttyACM2: checking if it is a TCM_ESP3
got wrong answer for a TCM_ESP3
### ttyACM2: checking if it is a ZWDongle
create as a fhem device with: define ZWDongle_2 ZWDongle /dev/ttyACM2@115200
### ttyAMA0: checking if it is a CUL
got wrong answer for a CUL
### ttyAMA0: checking if it is a TCM_ESP3
got wrong answer for a TCM_ESP3
### ttyAMA0: checking if it is a FRM
got wrong answer for a FRM



Nach einen Neustart und folgenden Anpassungen konnte ich dann auch die homeID auslesen!

define ZWDongle_2 ZWDongle /dev/ttyACM2@115200
attr ZWDongle_2 room Dongle


-> Hinweis: Überprüft bei der Einbindung mehrere Dongle die fortlaufende Nr. /ttyACM...@...


Danke...und weiter geht die Reise

Jan

"Off-Topic: weisst du noch, wodurch du die gezeigte "PERL WARNING" ausgeloest hast? Ich wuerde es gerne fixen. / Ich versuche es zu rekonstruieren..."

krikan

Zitat von: goodtoknow am 27 Juni 2015, 14:28:55
gute Frage. Auf die Idee bin ich über folgendes Wiki gekommen.
(http://www.fhemwiki.de/wiki/Z-Wave)
Hallo Jan,
jetzt bin ich ein wenig verwundert  ;). Auf der Wiki-Seite ist festgehalten, dass die Anlage über autocreate, das eingeschaltet sein muss, erfolgen soll. Genau das hast Du aber anscheinend nicht gemacht, sondern manuell an der Konfiguration gearbeitet. Die im Wiki gezeigten define-Zeilen sind nur (Zitat): "Beispiele der automatisch erzeugten define-Zeile in der Konfiguration".
Ich fände es schön, wenn Du eventuelle Verbesserungsvorschläge wegen Deiner Probleme im Wiki einbringst: Entweder selbst machen oder mir Deine Verbesserungsvorschläge liefern. Genauso wäre es toll, wenn Deine Geräte-Beschreibungen im Wiki landen und nicht hier.
Gruß, Christian

goodtoknow

@krikan
Hallo Christian,

ich werde
Zitat..wenn Du eventuelle Verbesserungsvorschläge wegen Deiner Probleme im Wiki einbringst: Entweder selbst machen oder mir Deine Verbesserungsvorschläge liefern. Genauso wäre es toll, wenn Deine Geräte-Beschreibungen im Wiki landen und nicht hier.
sobald ich mit dem Thema durch bin, den Beitrag im Wiki ergänzen bzw. mit sämtlichen Modulen und Beispielen die ich integriert habe dort hinzufügen. Dann ist es nicht mehr so gestückelt.



Anmerkung:
Aktuell sitze ich dran einen "Fibaro 500W Universaldimmer Einsatz (FGD-211)" als Kreuzschaltung zu integrieren.
Ich war davon ausgegangen (wer lesen kann ist klar im Vorteil) das der Wall Plug auch dimmbar ist. Leider nicht.

Sobald ich diesen integriert und getestet habe kommt der Bewegungsdimmer "Motion Sensor" dran.

Ich werde dann berichten und eine Anleitung formulieren.











krikan

Zitat von: goodtoknow am 06 Juli 2015, 16:21:10
ich werde  sobald ich mit dem Thema durch bin, den Beitrag im Wiki ergänzen bzw. mit sämtlichen Modulen und Beispielen die ich integriert habe dort hinzufügen. Dann ist es nicht mehr so gestückelt.
Das finde ich sehr gut. Arbeite da momentan relativ "unkontrolliert", was mich stört. Habe häufig keine Ahnung, woran Einsteiger in ZWave-Fhem scheitern.

Philipp

Hallo,

hatten heute einen Motion Sensor und einen Fenstersensor angelernt und damit experimentiert. Echt nette Umsetzung wie schnell zb die Helligkeitswerte bei Änderung gesendet werden. Oder am Fenstersensor angeschlossene 1-Wire Sensoren melden auch recht flott zurück.
Interessant ist auch der RGBW Sensor mit 4 0-10V Eingängen....

lg
Philipp

goodtoknow

So folgende beiden Fibaro Geräte wurden nun integriert und getestet.

FIBARO_FGWPE_Wall_Plug
http://www.fibaro.com/manuals/en/FGWPE_F-101-Wall-Plug/FGWPE_F-101-Wall-Plug-en-2.1-2.3.pdf

FIBARO_FGMS002_Motion_Sensor
http://www.fibaro.com/manuals/en/Motion-Sensor/Motion-Sensor_EN_5.3.14.pdf

#######################################

Ziel:
An der FGWPE_Wall_Plug hängt eine Lampe, die ich über einen Bewegungsmelder bei einem bestimmten Ereignis ansteuern möchte.

#######################################

Umsetzung:
Folgenden Befehl in der Kommandozeile von FHEM starten:

set ZWDongle_2 addNode on (wobei ZWDongle_2 der Name des Zwave Dongles ist)

Nun solltet ihr den Fibaro Connect Button drei mal hintereinander schnell drücken.

Dann erscheint im "Event Monitor" (parallel in einem anderen Fenster geöffnet lassen) sowie auch im fhem.cfg (ganz unten) der neue Programmcode.
Diesen habe ich angepasst und sortiert:

##################################
# Stecker FIBARO_FGWPE_Wall_Plug #
##################################

define ZWave_SWITCH_BINARY_2 ZWave cc****** 2
attr ZWave_SWITCH_BINARY_2 IODev ZWDongle_2
attr ZWave_SWITCH_BINARY_2 alias Lampe EG
attr ZWave_SWITCH_BINARY_2 classes MANUFACTURER_SPECIFIC VERSION CONFIGURATION ASSOCIATION MULTI_CHANNEL_ASSOCIATION SWITCH_BINARY POWERLEVEL METER SENSOR_MULTILEVEL FIRMWARE_UPDATE_MD MARK SWITCH_BINARY METER SENSOR_MULTILEVEL
attr ZWave_SWITCH_BINARY_2 group Licht
attr ZWave_SWITCH_BINARY_2 room Wohnzimmer
attr ZWave_SWITCH_BINARY_2 verbose 5
define FileLog_ZWave_SWITCH_BINARY_2 FileLog ./log/ZWave_SWITCH_BINARY_2-%Y.log ZWave_SWITCH_BINARY_2
attr FileLog_ZWave_SWITCH_BINARY_2 logtype text



################################################
# Bewegungsmelder EG FIBARO_FGMS001_Motion_Sensor #
################################################

define ZWave_SENSOR_BINARY_3 ZWave cc****** 3
attr ZWave_SENSOR_BINARY_3 IODev ZWDongle_2
attr ZWave_SENSOR_BINARY_3 alias Bewegungsmelder EG
attr ZWave_SENSOR_BINARY_3 classes SENSOR_BINARY WAKE_UP ASSOCIATION BATTERY MULTI_CMD CRC_16_ENCAP MANUFACTURER_SPECIFIC VERSION CONFIGURATION MULTI_CHANNEL_ASSOCIATION SENSOR_MULTILEVEL SENSOR_ALARM
attr ZWave_SENSOR_BINARY_3 icon scene_day
attr ZWave_SENSOR_BINARY_3 room Wohnzimmer


define FileLog_ZWave_SENSOR_BINARY_3 FileLog ./log/ZWave_SENSOR_BINARY_3-%Y.log ZWave_SENSOR_BINARY_3
attr FileLog_ZWave_SENSOR_BINARY_3 logtype text
attr FileLog_ZWave_SENSOR_BINARY_3 room Wohnzimmer


Nach erfolgreicher Integration beende ich die addNode Vorgang wieder mit:
set ZWDongle_2 addNode off (wobei ZWDongle_2 der Name des Zwave Dongles ist)


Nun wollte ich im nächsten Schritt auch eine Aktion ausführen lassen:
In der Nacht ab 23:30 soll bis zum frühen morgen die Lampe automatisch angeschaltet werden, sobald eine Bewegung erkennbar ist.

Ich habe dieses Szenario über folgenden DOIF Befehl gelöst:

define Fibaro_Aktion2 DOIF ([23:30- 06:00] and [ZWave_SENSOR_BINARY_3]eq "open" ) (set ZWave_SWITCH_BINARY_2 on-for-timer 30)

Nun geht Nachts automatisch für 30 sec. das Licht an.
Man könnte jetzt noch weitere Ereignisse einbinden wie:
- wenn es dunkel wird (luminance < 10 Lux) starte ein Ereignis (Licht an)
- wenn die Temperatur über 40 Grad steigt (temperature > 40.0 C) starte ein Ereignis (pushover "es brennt")

etc. etc.
Ich werde diese weiteren Szenario noch einbinden und den Code hier posten.

Noch ein schönes Wochenende






Enilno

Zitat von: goodtoknow am 22 November 2015, 12:40:14

Ich habe dieses Szenario über folgenden DOIF Befehl gelöst:

define Fibaro_Aktion2 DOIF ([23:30- 06:00] and [ZWave_SENSOR_BINARY_3]eq "open" ) (set ZWave_SWITCH_BINARY_2 on-for-timer 30)

Nun geht Nachts automatisch für 30 sec. das Licht an.



Benutze den selben Sensor, schalte mit ihm auch eine Lampe wie bei deinem Code.
Allerdings geht das Licht nach der bei on-for-timer angegebenen Zeit wieder aus und geht auch nicht wieder an wenn die ganze zeit Bewegung registriert wird, der Status also zwischenzeitlich nicht auf closed springt.
Da es eine Zeit dauert bis der Status auf closed springt, auch ohne Bewegung, müsste ich x Sekunden bewegungslos im dunkelen Flur stehen, damit der Status closed angenommen wird, um dann wieder licht zu haben wenn ich noch im Flur bin.
Wie löse ich das Problem? Lässt sich eventuell die Zeit zurücksetzen bei erneuten Bewegungen, auch wenn der Status schon open ist?
Raspi 2 mit Jessie Lite und Fhem 5.7, CUL868 fw 1.66, Philips Hue Bridge, Logitech Harmony Companion HUB, Somfy RTS, Elro FS

bogdan_k

Ich hab es so gelöst:

define Fibaro_Aktion2 DOIF ([23:30- 06:00] and [ZWave_SENSOR_BINARY_3] eq "open" ) (set ZWave_SWITCH_BINARY_2 on)
DOELSEIF ([23:30- 06:00] and [ZWave_SENSOR_BINARY_3] eq "closed" ) (set ZWave_SWITCH_BINARY_2 off)

Enilno

Dank dir, werds mal testen. weist du zufällig wie lang der Status auf open bleibt ohne Bewegung? will ja keine Disco Beleuchtung wenn ich mich mal nicht bewege :D
Raspi 2 mit Jessie Lite und Fhem 5.7, CUL868 fw 1.66, Philips Hue Bridge, Logitech Harmony Companion HUB, Somfy RTS, Elro FS

jeep

Standard sind 30 Sekunden, kann man im Paramter 6 einstellen. Bei jeder erfasster Bewegung startet die Zeit von vorne.

ZitatHelp for configMotionAlarmCancellationDelay (numeric code 6):
Motion alarm will be cancelled in the main controller and the associated devices after the period of time set in this parameter. Any motion detected during the cancellation delay time countdown will result in the countdown being restarted. In case of small values, below 10 seconds, the value of parameter 2 must be modified (PIR sensor's "Blind Time"). Available settings: 1 - 65535 Default setting: 30 (30 seconds)
Ein wenig HomeMatic
RPi2  - UZB1, FHEM Testsystem - 8 devices
HC2  - 72 devices  (95 % sind Fibaro devices)