DragonTech switch issues

Hey @chris. I just installed a DragonTech switch (WS-100). Using OpenHAB 2 (nightly) and up-to-date as of a couple of weeks ago. The switch recognized fine, but I can’t get it to update the status without polling. It seems to be sending the command via the central scene class. and here’s a log from when it’s turned on:

18:37:19.803 [DEBUG] [ve.internal.protocol.ZWaveController] - Receive queue TAKE: Length=0
18:37:19.808 [DEBUG] [WaveSerialHandler$ZWaveReceiveThread] - Receive Message = 01 0B 00 04 00 18 05 5B 03 08 00 01 BC 
18:37:19.810 [DEBUG] [wave.internal.protocol.SerialMessage] - Assembled message buffer = 01 19 00 49 84 18 13 04 10 01 5E 86 72 5A 85 59 73 25 27 70 2C 2B 5B 7A EF 5B 8A 
18:37:19.820 [DEBUG] [ve.internal.protocol.ZWaveController] - Process Message = 01 19 00 49 84 18 13 04 10 01 5E 86 72 5A 85 59 73 25 27 70 2C 2B 5B 7A EF 5B 8A 
18:37:19.826 [DEBUG] [ve.internal.protocol.ZWaveController] - Message: class=ApplicationUpdate[0x49], type=Request[0x00], priority=High, dest=255, callback=0, payload=84 18 13 04 10 01 5E 86 72 5A 85 59 73 25 27 70 2C 2B 5B 7A EF 5B 
18:37:19.828 [DEBUG] [essage.ApplicationUpdateMessageClass] - NODE 24: Application update request. Node information received.
18:37:19.830 [DEBUG] [alization.ZWaveNodeInitStageAdvancer] - NODE 24: Starting initialisation from DONE
18:37:19.833 [DEBUG] [ve.internal.protocol.ZWaveController] - Event Listener org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer@10d2198 already registered
18:37:19.837 [DEBUG] [.serialmessage.ZWaveCommandProcessor] - Checking transaction complete: Sent Message: class=SendData[0x13], type=Request[0x00], priority=Set, dest=24, callback=153, payload=18 03 25 01 00 
18:37:19.842 [DEBUG] [.serialmessage.ZWaveCommandProcessor] - Checking transaction complete: Recv Message: class=ApplicationUpdate[0x49], type=Request[0x00], priority=High, dest=255, callback=0, payload=84 18 13 04 10 01 5E 86 72 5A 85 59 73 25 27 70 2C 2B 5B 7A EF 5B 
18:37:19.844 [DEBUG] [.serialmessage.ZWaveCommandProcessor] - Checking transaction complete: class=ApplicationUpdate, callback id=153, expected=SendData, cancelled=false      MISMATCH
18:37:19.846 [DEBUG] [ve.internal.protocol.ZWaveController] - Receive queue TAKE: Length=0
18:37:19.849 [DEBUG] [wave.internal.protocol.SerialMessage] - Assembled message buffer = 01 0B 00 04 00 18 05 5B 03 08 00 01 BC 
18:37:19.852 [DEBUG] [ve.internal.protocol.ZWaveController] - Process Message = 01 0B 00 04 00 18 05 5B 03 08 00 01 BC 
18:37:19.854 [DEBUG] [ve.internal.protocol.ZWaveController] - Message: class=ApplicationCommandHandler[0x04], type=Request[0x00], priority=High, dest=255, callback=0, payload=00 18 05 5B 03 08 00 01 
18:37:19.856 [DEBUG] [ssage.ApplicationCommandMessageClass] - NODE 24: Application Command Request (ALIVE:DONE)
18:37:19.857 [DEBUG] [alization.ZWaveNodeInitStageAdvancer] - NODE 24: Starting initialisation from DONE
18:37:19.859 [DEBUG] [ve.internal.protocol.ZWaveController] - Event Listener org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer@10d2198 already registered
18:37:19.862 [DEBUG] [ssage.ApplicationCommandMessageClass] - NODE 24: Incoming command class CENTRAL_SCENE
18:37:19.863 [DEBUG] [dclass.ZWaveCentralSceneCommandClass] - NODE 24: Received CENTRAL_SCENE command V2
18:37:19.923 [DEBUG] [dclass.ZWaveCentralSceneCommandClass] - NODE 24: Received scene 1 at key 0 [Single Press]
18:37:19.947 [DEBUG] [ve.internal.protocol.ZWaveController] - Notifying event listeners: ZWaveCommandClassValueEvent
18:37:19.973 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 24: Got an event from Z-Wave network: ZWaveCommandClassValueEvent
18:37:19.984 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 24: Got a value event from Z-Wave network, endpoint = 0, command class = CENTRAL_SCENE, value = 1.0
18:37:19.991 [DEBUG] [.serialmessage.ZWaveCommandProcessor] - Checking transaction complete: Sent Message: class=SendData[0x13], type=Request[0x00], priority=Set, dest=24, callback=153, payload=18 03 25 01 00 
18:37:19.996 [DEBUG] [.serialmessage.ZWaveCommandProcessor] - Checking transaction complete: Recv Message: class=ApplicationCommandHandler[0x04], type=Request[0x00], priority=High, dest=255, callback=0, payload=00 18 05 5B 03 08 00 01 
18:37:19.997 [DEBUG] [.serialmessage.ZWaveCommandProcessor] - Checking transaction complete: class=ApplicationCommandHandler, callback id=153, expected=SendData, cancelled=false      MISMATCH

I’ll try and take a look at the log later, but if it’s only sending the CENTRAL_SCENE class then you won’t be able to use this to update the status without a rule to poll the switch.

There’s a similar discussion here for the WD-100 -:

@chris that’s fine…but how do I write a rule for CENTRAL_SCENE (there’s only a switch channel…)? I looked for examples, but it appeared as though they all had a separate channel for the scenes.

If there’s no channel, then it will need to be added to the database - presumably the same as the other device has?

Ya, I think the DragonTech ones may be re-branded Homeseer (not 100% sure but I’ve read something along those lines). Do I need to re-upload the XML, or just a tweak in the database?

Just tweeking the database should be fine - I guess add the CENTRAL_SCENE class, and the channel should do it.