Z-Wave rules with SCENE_ACTIVATION problem

Hi there,

I have a problem with my KFOB 4 button keyfob.

The rules with the Item does not become an update if a button is pressed.
In the zwave debug log I see the following output:

 2017-04-07 11:53:12.958 [DEBUG] [WaveSerialHandler$ZWaveReceiveThread] - Receive Message = 01 0A 00 04 00 0E 04 2B 01 0B FF 25 
2017-04-07 11:53:12.958 [DEBUG] [ve.internal.protocol.ZWaveController] - Receive queue TAKE: Length=0
2017-04-07 11:53:12.958 [DEBUG] [wave.internal.protocol.SerialMessage] - Assembled message buffer = 01 0A 00 04 00 0E 04 2B 01 0B FF 25 
2017-04-07 11:53:12.958 [DEBUG] [ve.internal.protocol.ZWaveController] - Process Message = 01 0A 00 04 00 0E 04 2B 01 0B FF 25 
2017-04-07 11:53:12.958 [DEBUG] [ve.internal.protocol.ZWaveController] - Message: class=ApplicationCommandHandler[0x04], type=Request[0x00], priority=High, dest=255, callback=0, payload=00 0E 04 2B 01 0B FF 
2017-04-07 11:53:12.958 [DEBUG] [ssage.ApplicationCommandMessageClass] - NODE 14: Application Command Request (ALIVE:DYNAMIC_VALUES)
2017-04-07 11:53:12.958 [DEBUG] [ssage.ApplicationCommandMessageClass] - NODE 14: Incoming command class SCENE_ACTIVATION
2017-04-07 11:53:12.958 [DEBUG] [.commandclass.ZWaveBasicCommandClass] - Received Scene Activation for Node ID = 14
2017-04-07 11:53:12.958 [DEBUG] [.commandclass.ZWaveBasicCommandClass] - Scene Activation Set
2017-04-07 11:53:12.958 [DEBUG] [.commandclass.ZWaveBasicCommandClass] - Scene activation node from node 14: Scene 11, Time 255
2017-04-07 11:53:12.958 [DEBUG] [ve.internal.protocol.ZWaveController] - Notifying event listeners: ZWaveCommandClassValueEvent
2017-04-07 11:53:12.958 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 14: Got an event from Z-Wave network: ZWaveCommandClassValueEvent
2017-04-07 11:53:12.958 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 14: Got a value event from Z-Wave network, endpoint = 0, command class = SCENE_ACTIVATION, value = 11
2017-04-07 11:53:12.958 [DEBUG] [ssage.ApplicationCommandMessageClass] - NODE 255: Transaction not completed: node address inconsistent.  lastSent=255, incoming=255

the Item is configured as:

Number ZwaveFernbedinung        "Fernbedinung [%d]" <switch>                       (gEG,gKeller              ,gPersist) {channel="zwave:device:<hash>:node14:scene_number" }

but the scene_number does not updates :frowning:

How are you associating the item to the binding channel?

Haven’t tried with OH2, but in OH1, you need to configure switches instead of numbers for scenes, i,.e.

Switch GarageEinfach “Einfachklick Garage” (Szenen) { zwave=“19:command=SCENE_ACTIVATION,scene=26,state=1” }
Switch GarageZweifach “Doppelklick Garage” (Szenen) { zwave=“19:command=SCENE_ACTIVATION,scene=25,state=1” }

hmm, but in OH2 I only can define the Item with the channel configuration, right?

{channel="zwave:device:<hash>:node14:scene_number" }

and that does not updates on any key, in the debug the command class = SCENE_ACTIVATION with a value is send

Right, in OH2 it should work that way. Check out this thread and see how to check your node.xml if SCENE_ACTIVATION is a known command. Also ensure you have a recent 2.0 (non-beta at least).

Please be specific about what device this is. If possible can you provide a link to the device in the database.

I think it is this device:
ZME_KFOB-S

here the node.xml file:node14.xml (12.8 KB)

  <manufacturer>0x115</manufacturer>
  <deviceId>0x103</deviceId>
  <deviceType>0x100</deviceType>

@chris is there a way to modify the zwave database in OH2 and test it before submit a pull request?
I think the SCENE_ACTIVATION is missing in the org.eclipse.smarthome.core.thing.Thing.json file.

Yes - but you would need to compile your own binding. You can make changes to the database, export the XML and compile/test the binding…

Hi! I came across with the same problem as described in this thread. Does anybody have a solution?

Please can you be clear about what the problem is, and what version of the binding you have, and what device you have the problem with. There are too many variables and it will help us help you if you can provide information on your setup.

Hi, details are here:

My version of OpenHAB and binding is 2.1.0-stable.

These fobs should have the scene channel. What version of the binding were you using before this? Has it been updated from an older version (ie were you using 2.0 stable before 2.1?). If so, then I would suggest to delete the thing and add it back again to make sure that you are using the latest thing definition since 2.0 would not have these channels.

I was using legacy Z-Wave 1.9 before, and items definitions looked like that:

Switch Lock_KFob_1                         "Lock KFob 1"           {zwave="43:command=scene_activation,scene=11,state=1"}
Switch Common_Lock_KFob_1                  "Common Lock KFob 1"    {zwave="43:command=scene_activation,scene=12,state=1"}
Switch Lock_KFob_2                         "Lock KFob 2"           {zwave="34:command=scene_activation,scene=11,state=1"}
Switch Common_Lock_KFob_2                  "Common Lock KFob 2"    {zwave="34:command=scene_activation,scene=12,state=1"}
Switch All_Lights_Off_KFob_1               "All Lights Off KFob 1" {zwave="43:command=scene_activation,scene=21,state=1"}
Switch Sleep_Mode_KFob_1                   "Sleep Mode KFob 1"     {zwave="43:command=scene_activation,scene=22,state=1"}
Switch All_Lights_Off_KFob_2               "All Lights Off KFob 2" {zwave="34:command=scene_activation,scene=21,state=1"}

So, there’ve been a separate Switch item for every scene number. I removed old xml files before switching to Z-Wave 2.1.0. I can post a section from my org.eclipse.smarthome.core.thing.Thing.json file related to these two things. And here’s what I see in PaperUI for one of these things:

So my question is did you ever use OH2.0? I guess the answer is ‘no’, but I just want to be sure as I don’t see why else the channel wouldn’t be processed other than this at the moment?

The OH1 configuration isn’t really relevant - you can’t use scenes in the same way in OH2 - I think they are all mapped to a number and you need to use a rule to handle them.

I was using OH2.0, but with z-wave 1.9 binding. This is the first time I’m setting up z-wave 2 (version 2.1.0). I understand that now scenes are mapped to numbers, that’s why I created a single Number item for a single KFob channel. Of course I’ll rewrite my rules accordingly, but the key is that the channel (and so the item too) is not being updated when SCENE_ACTIVATION is coming from the device (as you can see in the log snippet above).

You mean the log snippet from @dhde? That is quite old - can you please post the same log from your system.

No, I mean my snippet in this message:


Repeating it again for convenience:

2017-07-13 22:43:05.687 [DEBUG] [ssage.ApplicationCommandMessageClass] - NODE 43: Application Command Request (ALIVE:DETAILS)
2017-07-13 22:43:05.687 [DEBUG] [ssage.ApplicationCommandMessageClass] - NODE 43: Incoming command class SCENE_ACTIVATION
2017-07-13 22:43:05.688 [DEBUG] [.commandclass.ZWaveBasicCommandClass] - Received Scene Activation for Node ID = 43
2017-07-13 22:43:05.688 [DEBUG] [.commandclass.ZWaveBasicCommandClass] - Scene Activation Set
2017-07-13 22:43:05.688 [DEBUG] [.commandclass.ZWaveBasicCommandClass] - Scene activation node from node 43: Scene 11, Time 255
2017-07-13 22:43:05.689 [DEBUG] [ve.internal.protocol.ZWaveController] - Notifying event listeners: ZWaveCommandClassValueEvent
2017-07-13 22:43:05.694 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 43: Got an event from Z-Wave network: ZWaveCommandClassValueEvent
2017-07-13 22:43:05.695 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 43: Got a value event from Z-Wave network, endpoint = 0, command class = SCENE_ACTIVATION, value = 11
2017-07-13 22:43:05.696 [DEBUG] [ssage.ApplicationCommandMessageClass] - NODE 58: Transaction not completed: node address inconsistent.  lastSent=58, incoming=255

There’s nothing obviously wrong - it’s just not processing the event it seems. There are a couple of reasons for this - to try and debug further can you provide a bit more information in the log above - I need to see the received messages which should be a line or two earlier than the log you’ve provided.

I’d also like to see the binding startup since this is where the event handlers are created - maybe there’s something wrong there.

Ok, old logs are already rotated. I will come home in the evening, restart the binding and press some buttons on the fob to trigger commands. One question: startup logs can be actually endless - till what line do you need them?