Z-Wave exception on command from remote

I’ve gotten my Aeon minimotes mostly working (they never complete initialization), but while the other night I was receiving the scene commands in OpenHAB (they were showing properly in my log), I’m now getting exceptions in the zwave binding. Here’s the debug output from when I hit a button on one of the remotes:

21:26:01.028 [DEBUG] [eController$ZWaveReceiveThread:1481 ] - Receive Message = 01 0A 00 04 00 02 04 2B 01 01 00 DC
21:26:01.030 [DEBUG] [eController$ZWaveReceiveThread:1405 ] - Receive queue ADD: Length=1
21:26:01.030 [DEBUG] [b.z.i.protocol.ZWaveController:1163 ] - Receive queue TAKE: Length=0
21:26:01.031 [DEBUG] [o.b.z.i.protocol.SerialMessage:233  ] - Assembled message buffer = 01 0A 00 04 00 02 04 2B 01 01 00 DC
21:26:01.031 [DEBUG] [b.z.i.protocol.ZWaveController:1164 ] - Process Message = 01 0A 00 04 00 02 04 2B 01 01 00 DC
21:26:01.031 [DEBUG] [b.z.i.protocol.ZWaveController:192  ] - Message: class = ApplicationCommandHandler (0x04), type = Request (0x00), payload = 00 02 04 2B 01 01 00
21:26:01.032 [DEBUG] [ApplicationCommandMessageClass:38   ] - NODE 2: Application Command Request (ALIVE:PING)
21:26:01.032 [DEBUG] [ApplicationCommandMessageClass:56   ] - NODE 2: Incoming command class SCENE_ACTIVATION
21:26:01.032 [DEBUG] [ApplicationCommandMessageClass:62   ] - NODE 2: Command class SCENE_ACTIVATION not found, trying to add it.
21:26:01.032 [DEBUG] [.o.b.z.i.p.c.ZWaveCommandClass:225  ] - NODE 2: Creating new instance of command class SCENE_ACTIVATION
21:26:01.032 [DEBUG] [ApplicationCommandMessageClass:68   ] - NODE 2: Adding command class SCENE_ACTIVATION
21:26:01.033 [DEBUG] [.z.internal.protocol.ZWaveNode:571  ] - NODE 2: Adding command class SCENE_ACTIVATION to the list of supported command classes.
21:26:01.033 [DEBUG] [z.i.p.c.ZWaveBasicCommandClass:62   ] - Received Scene Activation for Node ID = 2
21:26:01.033 [DEBUG] [z.i.p.c.ZWaveBasicCommandClass:66   ] - Scene Activation Set
21:26:01.033 [DEBUG] [z.i.p.c.ZWaveBasicCommandClass:93   ] - Scene activation node from node 2: Scene 1, Time 0
21:26:01.034 [DEBUG] [b.z.i.protocol.ZWaveController:635  ] - Notifying event listeners: ZWaveCommandClassValueEvent
21:26:01.034 [DEBUG] [.z.internal.ZWaveActiveBinding:433  ] - ZwaveIncomingEvent
21:26:01.034 [DEBUG] [.z.internal.ZWaveActiveBinding:450  ] - NODE 2: Got a value event from Z-Wave network, endpoint = 0, command class = SCENE_ACTIVATION, value = 1
21:26:01.037 [ERROR] [b.z.i.protocol.ZWaveController:1173 ] - Exception during Z-Wave thread: Input.
java.lang.NumberFormatException: null
        at java.lang.Integer.parseInt(Integer.java:454) ~[na:1.7.0_95]
        at java.lang.Integer.parseInt(Integer.java:527) ~[na:1.7.0_95]
        at org.openhab.binding.zwave.internal.converter.ZWaveSceneConverter.handleEvent(ZWaveSceneConverter.java:76) ~[na:na]
        at org.openhab.binding.zwave.internal.converter.ZWaveConverterHandler.handleEvent(ZWaveConverterHandler.java:369) ~[na:na]
        at org.openhab.binding.zwave.internal.ZWaveActiveBinding.handleZWaveCommandClassValueEvent(ZWaveActiveBinding.java:461) ~[na:na]
        at org.openhab.binding.zwave.internal.ZWaveActiveBinding.ZWaveIncomingEvent(ZWaveActiveBinding.java:437) ~[na:na]
        at org.openhab.binding.zwave.internal.protocol.ZWaveController.notifyEventListeners(ZWaveController.java:638) ~[na:na]
        at org.openhab.binding.zwave.internal.protocol.commandclass.ZWaveSceneActivationCommandClass.processSceneActivationSet(ZWaveSceneActivationCommandClass.java:99) ~[na:na]
        at org.openhab.binding.zwave.internal.protocol.commandclass.ZWaveSceneActivationCommandClass.handleApplicationCommandRequest(ZWaveSceneActivationCommandClass.java:68) ~[na:na]
        at org.openhab.binding.zwave.internal.protocol.serialmessage.ApplicationCommandMessageClass.handleRequest(ApplicationCommandMessageClass.java:80) ~[na:na]
        at org.openhab.binding.zwave.internal.protocol.ZWaveController.handleIncomingRequestMessage(ZWaveController.java:223) ~[na:na]
        at org.openhab.binding.zwave.internal.protocol.ZWaveController.handleIncomingMessage(ZWaveController.java:196) ~[na:na]
        at org.openhab.binding.zwave.internal.protocol.ZWaveController.access$6(ZWaveController.java:191) ~[na:na]
        at org.openhab.binding.zwave.internal.protocol.ZWaveController$ZWaveInputThread.run(ZWaveController.java:1166) ~[na:na]

Oh, and here’s the Item configuration for node 2:

Switch Remote_Button1_Short "Remote_Button1_Short" <switch> (gRemotes) { zwave="2:command=SCENE_ACTIVATION,scene=1" }
Switch Remote_Button2_Short "Remote_Button2_Short" <switch> (gRemotes) { zwave="2:command=SCENE_ACTIVATION,scene=3" }
Switch Remote_Button3_Short "Remote_Button3_Short" <switch> (gRemotes) { zwave="2:command=SCENE_ACTIVATION,scene=5" }
Switch Remote_Button4_Short "Remote_Button4_Short" <switch> (gRemotes) { zwave="2:command=SCENE_ACTIVATION,scene=7" }
Switch Remote_Button1_Long "Remote_Button1_Long" <switch> (gRemotes) { zwave="2:command=SCENE_ACTIVATION,scene=2" }
Switch Remote_Button2_Long "Remote_Button2_Long" <switch> (gRemotes) { zwave="2:command=SCENE_ACTIVATION,scene=4" }
Switch Remote_Button3_Long "Remote_Button3_Long" <switch> (gRemotes) { zwave="2:command=SCENE_ACTIVATION,scene=6" }
Switch Remote_Button4_Long "Remote_Button4_Long" <switch> (gRemotes) { zwave="2:command=SCENE_ACTIVATION,scene=8" }

I suspect the issue is you haven’t set the state argument in the item definition. Take a look at the wiki…

Chris

Added state=1 to the end, no more exceptions…however, it still isn’t quite working. Here’s what I see in the log after hitting a button:

21:12:18.513 [DEBUG] [eController$ZWaveReceiveThread:1481 ] - Receive Message = 01 0A 00 04 00 02 04 2B 01 01 00 DC
21:12:18.514 [DEBUG] [eController$ZWaveReceiveThread:1405 ] - Receive queue ADD: Length=1
21:12:18.514 [DEBUG] [b.z.i.protocol.ZWaveController:1163 ] - Receive queue TAKE: Length=0
21:12:18.515 [DEBUG] [o.b.z.i.protocol.SerialMessage:233  ] - Assembled message buffer = 01 0A 00 04 00 02 04 2B 01 01 00 DC
21:12:18.516 [DEBUG] [b.z.i.protocol.ZWaveController:1164 ] - Process Message = 01 0A 00 04 00 02 04 2B 01 01 00 DC
21:12:18.517 [DEBUG] [b.z.i.protocol.ZWaveController:192  ] - Message: class = ApplicationCommandHandler (0x04), type = Request (0x00), payload = 00 02 04 2B 01 01 00
21:12:18.517 [DEBUG] [ApplicationCommandMessageClass:38   ] - NODE 2: Application Command Request (ALIVE:MANUFACTURER)
21:12:18.518 [DEBUG] [ApplicationCommandMessageClass:56   ] - NODE 2: Incoming command class SCENE_ACTIVATION
21:12:18.518 [DEBUG] [z.i.p.c.ZWaveBasicCommandClass:62   ] - Received Scene Activation for Node ID = 2
21:12:18.518 [DEBUG] [z.i.p.c.ZWaveBasicCommandClass:66   ] - Scene Activation Set
21:12:18.518 [DEBUG] [z.i.p.c.ZWaveBasicCommandClass:93   ] - Scene activation node from node 2: Scene 1, Time 0
21:12:18.519 [DEBUG] [b.z.i.protocol.ZWaveController:635  ] - Notifying event listeners: ZWaveCommandClassValueEvent
21:12:18.519 [DEBUG] [.z.internal.ZWaveActiveBinding:433  ] - ZwaveIncomingEvent
21:12:18.519 [DEBUG] [.z.internal.ZWaveActiveBinding:450  ] - NODE 2: Got a value event from Z-Wave network, endpoint = 0, command class = SCENE_ACTIVATION, value = 1
21:12:18.520 [DEBUG] [ApplicationCommandMessageClass:85   ] - Transaction not completed: node address inconsistent.

The “transaction not completed” line seems off…

Here’s the rule I’m trying to get it to trigger:

Oops, forgot to paste the rule. But anyway, it works now :slight_smile: I changed the rule state from 1 to ON and now it’s happy.