Thema in von https://forum.fhem.de/index.php/topic,35513.msg572578.html#msg572578 in einen eigenen Thread verlagert.
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 der insgesamt 4 Taster hat. Entgegen manch andere ZWave Remote Taster kann diese direkt in fhem verwendet werden.
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
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.
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.
Die notifys sehen so aus:
define WZ_Schalter3 notify ZW_Wallcontroller:2off set ZW_Rolladen1 off
attr WZ_Schalter3 room Wohnzimmer-BG
define WZ_Schalter4 notify ZW_Wallcontroller:2on set ZW_Rolladen1 on
attr WZ_Schalter4 room Wohnzimmer-BG
Liegt der Fehler wirklich hier?
sequence kannte ich bisher noch nicht. Ich schaue mir das mal an. Rein logisch hätte ich watchdog eigentlich sehr passend gefunden.
Gibt es noch eine Idee warum "Central Scene" mit dem ersten und zweiten Taster geht, mit dem 3. und 4. aber nicht? Kann das an mcaAdd liegen?
ZitatDie notifys sehen so aus:
...
Im Log kann man deutlich $SELF='WZ_Schalter2' lesen, und dass die Meldung von
{fhem "set ZWave_WallPlug1 off" if ($EVTPART1 == 8)}
verursacht wird, weil in diesem Fall das Event "cSceneSet..2" war, und damit kein $EVTPART1 gesetzt ist.
Keine Ahnung, woher dieses Event kommt, das ZWave Modul erzeugt sowas mW nicht, ich tippe auf was manuelles wie trigger, oder was Verruecktes wie notify auf global:DEFINED.
ZitatGibt es noch eine Idee warum "Central Scene" mit dem ersten und zweiten Taster geht, mit dem 3. und 4. aber nicht? Kann das an mcaAdd liegen?
Ja. Um es klarer zu formulieren: ich halte es fuer moeglich. Getestet/verifiziert habe ich es nicht.
Sowas ist Konfigurationssache bzw. geraeteabhaengig.