ZWave.me Remote HOWTO

Begonnen von rudolfkoenig, 26 März 2015, 23:50:28

Vorheriges Thema - Nächstes Thema

rudolfkoenig

Ich wuerde erst mit "set XX mcaDel 0" versuchen alle MultiChannel Associations entfernen, und dann mit dem mcaAdd von vorne anfangen.
Wenn das nicht hilft, dann die Fernbedienung aus dem Netzwerk "exkludieren" (heisst das so?), und dann erneut inkludieren, und von vorne anfangen.

Da ich das Problem nicht wirklich verstehe, sind das eventuell nur sinnlose Vorschlaege.

krikan

@Rudi: In diesem verschobenen Thread http://forum.fhem.de/index.php/topic,43261.0.html liegt anscheinend das gleiche Problem wie bei figo-z80 vor. Könntest Du dort mal reinschauen. Danke.

tom44

Danke für die ausführliche Beschreibung des HOWTO.
Ich bin bis zur Stelle gekommen, wo für die einzelnen Schalter die Control-Gruppen angelegt wurden.
Was mir nicht gelingt,  ist es für die einzelnen Schalter/Knopf eine eigenes Gerät anzulegen.

Für den 1. Knopf sieht das z.B. so aus:
016-10-09 10:48:48 ZWave remo cSceneSet: 1
2016-10-09 10:48:48 ZWave remo wakeup: notification
2016-10-09 10:48:48 ZWave remo configActionButton1Mono: ControlGroup2

Habe ich das auch so richtig verstanden? Für jeden Knopf wird ein "dummy-Gerät" angelegt und diese später miteinander verknüpft? Vielleicht fehlt mir hier auch noch Grundlagenwissen!

Ich verwende eine nodon OCTAN Fernbedienung.

Zitat von: rudolfkoenig am 26 März 2015, 23:50:28

Damit die Knoepfe unter "All On/Off" das Spielchen auch mitmachen, muessen sie vorher umgestellt werden mit "set remo configByte 20 1" (steht in der Doku der Fernbedienung).

Danach auf der FB in jede Reihe einen Knopf druecken, woraufhin FHEM jeweils ein Geraet anlegt:
ZWave_Endpoint_22.1
ZWave_Endpoint_22.2
usw.


Die ebenfalls angelegten FileLogs entfernen (delete FileLog_ZWave_Endpoint.*), und die angelegten Geraete umbenennen (rename ZWave_Endpoint_22.1 remo.1; usw, also 11-mal rename).  Danach fuer alle ein eventMap angelegen, um spaetere notifies zu vereinfachen:
attr remo.\d* eventMap basicReport..ff:on basicReport..00:off


Bei einem notify sollte man eine kleine Pause einlegen, damit die Fernbedienung keine Fehler (LED=rot) meldet:
define n_r1 notify remo.1:(on|off) sleep 0.1;; set Lampe $EVENT

FHEM 17762 auf Raspberry Pi 3 Model B Rev | nanoCUL868, CUL 868 MhZ, Rolladen- Aktoren, Heizung | Z-Wave, FIBARO FGD211 Universal Dimmer 500W, Popp Plug-in Dimmer, FIBARO Wall Plug, Everspring PIR Motion Sensor, FIBARO Door Opening Sensor | Netatmo

tom44

#18
Anscheinend sind bei mir bereits alle möglichen Aktionen (Dim, Einfacher Klick, Doppelter Klick) in FHEM angelegt.

Zitat
2016-10-09 11:18:08 ZWave remo cSceneDim: 1
2016-10-09 11:18:08 ZWave remo cSceneDim: 1
2016-10-09 11:18:09 ZWave remo cSceneDim: 1
2016-10-09 11:18:09 ZWave remo cSceneDim: 1
2016-10-09 11:18:09 ZWave remo cSceneDim: 1
2016-10-09 11:18:10 ZWave remo cSceneDim: 1
2016-10-09 11:18:10 ZWave remo cSceneDim: 1
2016-10-09 11:18:10 ZWave remo cSceneDim: 1
2016-10-09 11:18:11 ZWave remo cSceneDimEnd: 1
2016-10-09 11:18:11 ZWave remo wakeup: notification
2016-10-09 11:18:14 ZWave remo cSceneSet: 1
2016-10-09 11:18:14 ZWave remo wakeup: notification
2016-10-09 11:18:20 ZWave remo cSceneDouble: 1
2016-10-09 11:18:20 ZWave remo wakeup: notification

Was ich allerdings nicht verstehe. Wie bekomme ich diese Befehle nun den Aktoren (z.B. einer Lampe) zugeordnet, dass ich diese mit der Fernbedienung (remo) dimmen oder Ein-, Ausschalten kann?

Neue Geräte - wie es Rudolf in seinem HOWTO beschrieben hat - sind leider nicht angelegt worden.

Mit einem DOIF klappt es leider auch nicht:
define remo_licht.on DOIF ([remo:cSceneSet] = "1") (set licht on)

FHEM 17762 auf Raspberry Pi 3 Model B Rev | nanoCUL868, CUL 868 MhZ, Rolladen- Aktoren, Heizung | Z-Wave, FIBARO FGD211 Universal Dimmer 500W, Popp Plug-in Dimmer, FIBARO Wall Plug, Everspring PIR Motion Sensor, FIBARO Door Opening Sensor | Netatmo

rudolfkoenig

ZitatWie bekomme ich diese Befehle nun den Aktoren (z.B. einer Lampe) zugeordnet, dass ich diese mit der Fernbedienung (remo) dimmen oder Ein-, Ausschalten kann?
Durch ein notify/DOIF/etc in FHEM, oder eine direkte Assoziation der Fernbedienung mit dem Schalter. Beim Letzteres muss sichergestellt sein, dass der verwendete Kanal der Fernbedienung etwas sendet, was der Schalter auch versteht (bei cScene bin ich mir nicht sicher). Siehe Dokumentation der Fernbedienung.

ZitatNeue Geräte - wie es Rudolf in seinem HOWTO beschrieben hat - sind leider nicht angelegt worden.
Ich gehe davon auss, dass du nicht eine ZWave.me Fernbedienung mit 11x3 Knoepfen hast.
Andere Fernbedienungen sind in der Voreinstellung auf das Senden von cScene konfiguriert, was mit FHEM ohne Weiteres auch verwendet werden kann. Um direkt on/off Befehle zu bekommen, bzw "mein" HOWTO sinnvoll zu verwenden muss man diese Fernbedienungen umkonfigurieren, ein Beispiel dafuer ist die ZWave.me 4-Tasten KFOB.


tom44

#20
Zitat von: rudolfkoenig am 09 Oktober 2016, 11:57:41
Durch ein notify/DOIF/etc in FHEM, oder eine direkte Assoziation der Fernbedienung mit dem Schalter. Beim Letzteres muss sichergestellt sein, dass der verwendete Kanal der Fernbedienung etwas sendet, was der Schalter auch versteht (bei cScene bin ich mir nicht sicher). Siehe Dokumentation der Fernbedienung.

Ich habe es nach Anleitung des Herstellers über das Gateway (also keine direkte Assoziation) nun mit einem DOIF probiert:
Zitatdefine remo_licht.on DOIF ([remo:cSceneSet] = "1") (set licht on)

Es tut sich leider nichts. In den Readings ist cSceneSet immer 1. Der Status ist immer 1.

ZitatIch gehe davon auss, dass du nicht eine ZWave.me Fernbedienung mit 11x3 Knoepfen hast.
Ja, ich habe eine nodon Octan- Fernbedienung

ZitatAndere Fernbedienungen sind in der Voreinstellung auf das Senden von cScene konfiguriert, was mit FHEM ohne Weiteres auch verwendet werden kann. Um direkt on/off Befehle zu bekommen, bzw "mein" HOWTO sinnvoll zu verwenden muss man diese Fernbedienungen umkonfigurieren, ein Beispiel dafuer ist die ZWave.me 4-Tasten KFOB.

Was meinst Du mit Beispiel? Ich habe die Fernbedienung so konfiguriert, dass sie im Gateway-Modus über Szenen gesteuert werden kann. Ich möchte mit der Fernbedienung nicht direkt schalten.

Und das ist meine Fehlermeldung auf mein DOIF  :-\
Zitat
erl error in condition: ReadingValDoIf($hash,'remo','cSceneSet','','',AttrVal($hash->{NAME},'notexist',undef)) = "1": Can't modify non-lvalue subroutine call in scalar assignment at (eval 5701) line 2, at EOF
FHEM 17762 auf Raspberry Pi 3 Model B Rev | nanoCUL868, CUL 868 MhZ, Rolladen- Aktoren, Heizung | Z-Wave, FIBARO FGD211 Universal Dimmer 500W, Popp Plug-in Dimmer, FIBARO Wall Plug, Everspring PIR Motion Sensor, FIBARO Door Opening Sensor | Netatmo

rudolfkoenig

DOIF kenne ich nicht wirklich, deswegen mein Beispiel mit notify: Man sucht erst im Event-Monitro das Event raus, was einem passt (Knopf druecken, und Event Monitor beobachten). Z.Bsp. die Zeile mit
Zitat2016-10-09 11:18:08 ZWave remo cSceneDim: 1
Danach definiert man das notify
define remo_licht.on notify remo:cSceneDim:.1 set licht on

ZitatWas meinst Du mit Beispiel?
Die Fernbedienung der Firma ZWave.me mit dem Namen KFOB.

ZitatIch habe die Fernbedienung so konfiguriert, dass sie im Gateway-Modus über Szenen gesteuert werden kann.
Dann eruebrigt sich dieses HOWTO komplett.


tom44

Zitat von: rudolfkoenig am 09 Oktober 2016, 12:37:07
.....mein Beispiel mit notify: Man sucht erst im Event-Monitro das Event raus, was einem passt (Knopf druecken, und Event Monitor beobachten). Z.Bsp. die Zeile mitDanach definiert man das notify
define remo_licht.on notify remo:cSceneDim:.1 set licht on

Hey - Ja, das funktioniert  :) :) :)
Kurze Zwischenfrage: Warum der Punkt hinter dem Doppelpunkt und vor der 1?  :.1

Und eine weitere (Folge)frage: Du hast vor längerer Zeit aufgrund meiner Frage dimwithduration in FHEM integriert
Das funktioniert dann hier aber nicht?
Zitatremo:cSceneDim:.1 set az dimWithDuration 99 5



FHEM 17762 auf Raspberry Pi 3 Model B Rev | nanoCUL868, CUL 868 MhZ, Rolladen- Aktoren, Heizung | Z-Wave, FIBARO FGD211 Universal Dimmer 500W, Popp Plug-in Dimmer, FIBARO Wall Plug, Everspring PIR Motion Sensor, FIBARO Door Opening Sensor | Netatmo

rudolfkoenig

. ist noetig, weil der Regexp-Teil im notify durch Leerzeichen vom Befehl getrennt wird.
Warum dimWithDuration nicht funktioniert, weiss ich nicht, vielleicht kann az kein dimWithDuration.

P.S.: etwas irritierend, dass du deine Fragen als mein Werk ausgibst. Bitte dein Text ausserhalb von  einfuegen. Ob es gelingt, kann man mit Vorschau pruefen.

tom44

ZitatWarum dimWithDuration nicht funktioniert, weiss ich nicht, vielleicht kann az kein dimWithDuration.

Ja, das war es. Der Fibaro Switch kann es nicht, der Popp Dimmer sehr wohl. Danke.

Zitatetwas irritierend, dass du deine Fragen als mein Werk ausgibst. Bitte dein Text ausserhalb von  einfuegen. Ob es gelingt, kann man mit Vorschau pruefen.

Sorry, ich wollte nur die Zitate als solches kennzeichnen, nichts anderes. Prüfen tue ich immer sehr gewissenhaft (auch die Rechtschreibung)  :) :) :)

Vielen Dank nochmals.
FHEM 17762 auf Raspberry Pi 3 Model B Rev | nanoCUL868, CUL 868 MhZ, Rolladen- Aktoren, Heizung | Z-Wave, FIBARO FGD211 Universal Dimmer 500W, Popp Plug-in Dimmer, FIBARO Wall Plug, Everspring PIR Motion Sensor, FIBARO Door Opening Sensor | Netatmo

T3mplate

Ich habe jetzt ziemlich lange nach einer Lösung durch trial and error und hier im Forum gesucht. Eine Lösung für mein Problem habe ich aber nicht gefunden.
Ich habe einen ZME_WALLC-S (also nicht das eigentliche Ziel des HowTo) der insgesamt 4 Taster hat.
Entgegen dem hier beschriebenen Taster kann man meinen theoretisch sofort verwenden.

Mit der verwendeten Konfiguration: "Zentrale Szenensteuerung im Gateway (Central Scene)" werden von jedem Taster die Signale ohne weitere Arbeit (auch ohne mcaAdd) in fhem reingereicht.
Das sieht dann so aus (Beispiel für den 3. Taster. Erst einfacher Druck, dann Doppeldruck, Durchgehend Drücken alias dim und wieder aufhören):
2017-01-29_18:16:50 ZW_Wallcontroller cSceneSet: 3
2017-01-29_18:16:51 ZW_Wallcontroller cSceneSet: 7
2017-01-29_18:16:52 ZW_Wallcontroller cSceneDim: 3
2017-01-29_18:16:53 ZW_Wallcontroller cSceneDim: 3
2017-01-29_18:16:53 ZW_Wallcontroller cSceneDim: 3
2017-01-29_18:16:53 ZW_Wallcontroller cSceneDim: 3
2017-01-29_18:16:53 ZW_Wallcontroller cSceneDim: 3
2017-01-29_18:16:53 ZW_Wallcontroller cSceneDim: 3
2017-01-29_18:16:53 ZW_Wallcontroller cSceneDim: 3
2017-01-29_18:16:53 ZW_Wallcontroller cSceneDim: 3
2017-01-29_18:16:53 ZW_Wallcontroller cSceneDim: 3
2017-01-29_18:16:53 ZW_Wallcontroller cSceneDim: 3
2017-01-29_18:16:53 ZW_Wallcontroller cSceneDim: 3
2017-01-29_18:16:54 ZW_Wallcontroller cSceneDimEnd: 3


Grundsätzlich kann ich damit leben, allerdings habe ich 2 Probleme:
um verständlichere Aufrufe in notify zu haben, nutze ich eventMap (Hier das Beispiel für Taster 2):
cSceneSet..2:2on cSceneSet..6:2off cSceneDim..2:2DimStart cSceneDimEnd..2:2DimEnd
Das funktioniert, wirft mir aber folgende Fehlermeldungen:
2017.01.29 16:48:21 1: ERROR evaluating my $SELF='WZ_Schalter2';my $TYPE='ZWave';my $NAME='ZW_Wallcontroller';my $EVENT='cSceneSet..2';my $EVTPART0='cSceneSet..2';{fhem "set ZWave_WallPlug1 off" if ($EVTPART1 == 8)}: Global symbol "$EVTPART1" requires explicit package name at (eval 103282) line 1.

2017.01.29 16:48:21 3: WZ_Schalter2 return value: Global symbol "$EVTPART1" requires explicit package name at (eval 103282) line 1.


Problem2:
Das "dim" möchte ich für eine Kindersichere Umsetzung verwenden.
Dazu habe ich mir gedacht, dass etwas erst passiert, wenn man 5 Sekunden lang drückt:
define WZ_Wd_Schalter2 watchdog ZW_Wallcontroller:2DimStart 00:00:05 ZW_Wallcontroller:2DimEnd set ZWave_WallPlug1 on
Leider funktioniert das aber nicht. Wenn ich andere "trigger" verwende, dann geht es. Kann es sein, dass der Watchdog nicht wirklich mit dem ersten Druck die 5 Sekunden losläuft sondern durch die dauernde Meldung "2DimStart" (ähnlich oben "cSceneDim: 3") immer wieder gestartet wird?

Lösen könnte man letzteres, indem man statt der Konfiguration "Zentrale Szenensteuerung im Gateway (Central Scene)" diesen hier "SendScenes (4)" verwendet.
Dann sehen die Meldungen folgendermaßen aus:
2017-01-29_18:16:37 ZW_Wallcontroller sceneEvent2: dim up start
2017-01-29_18:16:37 ZW_Wallcontroller scene_23: 255
2017-01-29_18:16:37 ZW_Wallcontroller sceneEvent2: dim up end
2017-01-29_18:16:37 ZW_Wallcontroller scene_25: 255
2017-01-29_18:16:39 ZW_Wallcontroller sceneEvent2: on
2017-01-29_18:16:39 ZW_Wallcontroller scene_21: 255
2017-01-29_18:16:40 ZW_Wallcontroller sceneEvent2: on
2017-01-29_18:16:40 ZW_Wallcontroller scene_21: 255
2017-01-29_18:16:43 ZW_Wallcontroller sceneEvent2: on
2017-01-29_18:16:43 ZW_Wallcontroller scene_21: 255
2017-01-29_18:16:46 ZW_Wallcontroller sceneEvent2: off
2017-01-29_18:16:46 ZW_Wallcontroller scene_22: 255


Das wiederum kann ich aber nur für die Taster 1 und 2 machen, nicht für 3 und 4. Und ich weiß nicht warum.
Als einziger Unterschied fällt mir ein, dass ich bei 1 und 2 das hier probiert habe:
set remo mcaAdd 2 0 1 1
set remo mcaAdd 3 0 1 2
.
Das habe ich für den 3. nachgeholt, aber ich kann diesen dennoch nicht mit dieser Konfiguration verwenden.

Anbei das list des Wandtasters:
Internals:
   DEF        f9713a89 17
   IODev      ZWaveStick
   LASTInputDev ZWaveStick
   MSGCNT     607
   NAME       ZW_Wallcontroller
   NR         372
   STATE      swmEnd
   TYPE       ZWave
   ZWaveStick_MSGCNT 607
   ZWaveStick_RAWMSG 0004001103800364
   ZWaveStick_TIME 2017-01-29 18:44:08
   ZWaveSubDevice no
   endpointChildren WZ_Schalter1,ZWave_Node_17.2
   homeId     f9713a89
   isWakeUp   1
   lastMsgSent 1485711850.36581
   nodeIdHex  11
   Readings:
     2017-01-29 18:16:05   CMD             ZW_APPLICATION_UPDATE
     2017-01-29 00:21:09   assocGroup_1    Max 10 Nodes ZWaveStick
     2017-01-29 00:21:09   assocGroup_2    Max 10 Nodes
     2017-01-29 00:21:09   assocGroup_3    Max 10 Nodes ZWaveStick
     2017-01-29 00:21:09   assocGroup_4    Max 10 Nodes
     2017-01-29 00:21:09   assocGroup_5    Max 10 Nodes
     2017-01-29 00:21:09   assocGroups     5
     2017-01-29 16:24:38   basicSet        255
     2017-01-29 18:44:08   battery         100 %
     2017-01-29 18:16:53   cSceneDim       3
     2017-01-29 18:16:54   cSceneDimEnd    3
     2017-01-29 18:16:51   cSceneSet       7
     2017-01-29 18:16:05   configBlocksWakeupEvenWhenWakeup25 WakeupIsPossibleIfConfigured1
     2017-01-29 18:16:06   configButton1And3PairMode Separately
     2017-01-29 18:16:06   configButton2And4PairMode Separately
     2017-01-29 18:16:06   configCommandToControlGroupA SwitchOnOffAndDimSendBasicSetAnd1
     2017-01-29 18:16:06   configCommandToControlGroupB SendScenes
     2017-01-29 18:16:06   configCommandToControlGroupC CentralSceneToGatewayDefault
     2017-01-29 18:16:06   configCommandToControlGroupD CentralSceneToGatewayDefault
     2017-01-29 18:16:06   configInvertButtons NoDefault
     2017-01-29 18:16:06   configSendTheFollowingSwitchAll21 SwitchOffOnlyDefault
     2017-01-29 18:16:06   configSendUnsolicitedBatteryReportOn30 ToSameNodeAsWakeUpNotification1
     2017-01-29 16:47:36   mcaGroups       5
     2017-01-29 16:47:36   mca_1           Max 10 Nodes ZWaveStick
     2017-01-29 16:47:36   mca_2           Max 10 Nodes ZWaveStick:1
     2017-01-29 16:47:36   mca_3           Max 10 Nodes ZWaveStick ZWaveStick:2
     2017-01-29 16:47:36   mca_4           Max 10
     2017-01-29 16:47:36   mca_5           Max 10
     2017-01-26 22:41:49   model           Z-Wave.Me ZME_WALLC-S Secure Wall Controller
     2017-01-26 22:41:49   modelConfig     zwave.me/ZME_WALLC-S.xml
     2017-01-26 22:41:49   modelId         0115-0100-0101
     2017-01-28 22:43:49   neighborList    ZWave_WallPlug1 ZW_Rolladen1 Keller_Licht
     2017-01-28 22:44:27   neighborUpdate  done
     2017-01-29 14:28:45   reportedState   swmEnd
     2017-01-29 18:16:46   sceneEvent2     off
     2017-01-29 18:16:43   scene_21        255
     2017-01-29 18:16:46   scene_22        255
     2017-01-29 18:16:37   scene_23        255
     2017-01-29 18:16:37   scene_25        255
     2017-01-29 14:28:45   state           swmEnd
     2017-01-29 18:44:10   timeToAck       0.029
     2017-01-29 18:44:10   transmit        OK
     2017-01-29 18:44:08   wakeup          notification
     2017-01-29 00:21:09   wakeupIntervalCapabilitiesReport min 240 max 15728400 default 604672 step 240
     2017-01-29 00:21:09   wakeupReport    interval 0 target 1
Attributes:
   IODev      ZWaveStick
   classes    ZWAVEPLUS_INFO MULTI_CMD POWERLEVEL SECURITY VERSION MANUFACTURER_SPECIFIC CONFIGURATION ASSOCIATION SCENE_CONTROLLER_CONF MULTI_CHANNEL_ASSOCIATION BATTERY WAKE_UP DEVICE_RESET_LOCALLY ASSOCIATION_GRP_INFO CENTRAL_SCENE MARK BASIC CENTRAL_SCENE SWITCH_MULTILEVEL SWITCH_ALL SCENE_ACTIVATION MULTI_CHANNEL
   eventMap   cSceneSet..2:2on cSceneSet..6:2off cSceneDim..2:2DimStart cSceneDimEnd..2:2DimEnd
   room       ZWave
   vclasses   ASSOCIATION:2 ASSOCIATION_GRP_INFO:1 BASIC:0 BATTERY:1 CENTRAL_SCENE:1 CONFIGURATION:1 DEVICE_RESET_LOCALLY:1 MANUFACTURER_SPECIFIC:1 MULTI_CHANNEL:0 MULTI_CHANNEL_ASSOCIATION:2 MULTI_CMD:1 POWERLEVEL:1 SCENE_ACTIVATION:0 SCENE_CONTROLLER_CONF:1 SECURITY:1 SWITCH_ALL:0 SWITCH_MULTILEVEL:0 VERSION:2 WAKE_UP:2 ZWAVEPLUS_INFO:2
   verbose    5

rudolfkoenig

ZitatIch habe einen ZME_WALLC-S (also nicht das eigentliche Ziel des HowTo) der insgesamt 4 Taster hat.
Dann waere es auch naheliegend ein neues Thema anzufangen, und den geneigten Leser hier nicht zu verwirren.

1. Die Fehlermeldung hat nichts mit eventMap zu tun, ist ein Benutzer-Programmierfehler in einem notify/etc.
2. watchdog fuer sowas ist das falsche Modul, ich wuerde sequence verwenden.

T3mplate

Zitat von: rudolfkoenig am 29 Januar 2017, 18:56:35
Dann waere es auch naheliegend ein neues Thema anzufangen, und den geneigten Leser hier nicht zu verwirren.

Mir ist der genaue Wunsch der User-Experience noch nicht klar gewesen.
Grundsätzlich geht es ja um einen ZWave.me Remote Taster. Das Thema ist also schon passend.
Ich denke, dass viele diesen Thread lesen und erst einmal wie ich versuchen mit mcaAdd die Taster zu integrieren, obwohl diese auch nativ bereits funktionieren.
Das wollte ich den kommenden Leuten mitteilen, damit nicht jeder den gleichen Fehler macht.

Ansonsten gebe ich dir recht. Thema wurde hier neu eröffnet: https://forum.fhem.de/index.php/topic,66017.0.html

rudolfkoenig

ZitatMir ist der genaue Wunsch der User-Experience noch nicht klar gewesen.
Na wenn ein Ueberschrift verspricht, ZWave.me Remote HOWTO zu sein, dann will man doch nicht ueber Debugging eines notifies (oder eventMap, so wie du das angenommen hast)  bei einem ganz anderen Geraet lesen. Und ja, andere denken auch nicht immer nach, und ich bin nicht sofort bei der Ermahnung. Nur wenn es mir zuviel wird.