Z-Wave dimmer state keeps jumping to 100%

I have setup a zwave fibaro dimmer in openhab however openHAB is reporting the state wrong.
If I change the slider to say 56% the light changes brightness to 56% and the slider moves to 56%, however about 1 second later the slider jumps to 100%. It does not seem to be a UI problem as the internal state of openhab reads back as 100%. I have created a rule to log the state of the dimmer.

Here is the debug log of the problem:

22:33:06.677 [DEBUG] [o.i.r.i.resources.ItemResource:193 ] - Received HTTP POST request at ‘items/Light_dimmer’ with value ‘56’.
22:33:06.678 [DEBUG] [ZWaveMultiLevelSwitchConverter:171 ] - Multilevel Switch MultiLevelPercentCommandConverter
22:33:06.678 [DEBUG] [veMultiLevelSwitchCommandClass:163 ] - NODE 5: Creating new message for command SWITCH_MULTILEVEL_SET
22:33:06.678 [DEBUG] [o.b.z.i.protocol.SerialMessage:109 ] - NODE 5: Creating empty message of class = SendData (0x13), type = Request (0x00)
22:33:06.678 [DEBUG] [b.z.i.protocol.ZWaveController:898 ] - Callback ID = 46
22:33:06.678 [DEBUG] [b.z.i.protocol.ZWaveController:580 ] - Enqueueing message. Queue length = 1
22:33:06.679 [DEBUG] [m.r.internal.engine.RuleEngine:305 ] - Executing rule ‘debug dimmer issue’
22:33:06.678 [DEBUG] [WaveController$ZWaveSendThread:1171 ] - Took message from queue for sending. Queue length = 0
22:33:06.682 [DEBUG] [o.b.z.i.protocol.SerialMessage:233 ] - Assembled message buffer = 01 0A 00 13 05 03 26 01 38 25 2E F4
22:33:06.682 [DEBUG] [WaveController$ZWaveSendThread:1228 ] - NODE 5: Sending REQUEST Message = 01 0A 00 13 05 03 26 01 38 25 2E F4
22:33:06.683 [DEBUG] [m.r.internal.engine.RuleEngine:305 ] - Executing rule ‘debug dimmer issue’
22:33:06.691 [DEBUG] [eController$ZWaveReceiveThread:1441 ] - Receive Message = 01 04 01 13 01 E8
22:33:06.692 [DEBUG] [eController$ZWaveReceiveThread:1365 ] - Receive queue ADD: Length=1
22:33:06.692 [DEBUG] [b.z.i.protocol.ZWaveController:1123 ] - Receive queue TAKE: Length=0
22:33:06.692 [DEBUG] [o.b.z.i.protocol.SerialMessage:233 ] - Assembled message buffer = 01 04 01 13 01 E8
22:33:06.692 [DEBUG] [b.z.i.protocol.ZWaveController:1124 ] - Process Message = 01 04 01 13 01 E8
22:33:06.692 [DEBUG] [b.z.i.protocol.ZWaveController:190 ] - Message: class = SendData (0x13), type = Response (0x01), payload = 01
22:33:06.692 [DEBUG] [b.z.i.p.s.SendDataMessageClass:38 ] - NODE 5: Sent Data successfully placed on stack.
22:33:06.706 [DEBUG] [eController$ZWaveReceiveThread:1441 ] - Receive Message = 01 07 00 13 2E 00 00 02 C7
22:33:06.707 [DEBUG] [eController$ZWaveReceiveThread:1365 ] - Receive queue ADD: Length=1
22:33:06.707 [DEBUG] [b.z.i.protocol.ZWaveController:1123 ] - Receive queue TAKE: Length=0
22:33:06.707 [DEBUG] [o.b.z.i.protocol.SerialMessage:233 ] - Assembled message buffer = 01 09 00 13 2E 00 00 02 00 00 C9
22:33:06.708 [DEBUG] [b.z.i.protocol.ZWaveController:1124 ] - Process Message = 01 09 00 13 2E 00 00 02 00 00 C9
22:33:06.708 [DEBUG] [b.z.i.protocol.ZWaveController:190 ] - Message: class = SendData (0x13), type = Request (0x00), payload = 2E 00 00 02
22:33:06.708 [DEBUG] [b.z.i.p.s.SendDataMessageClass:74 ] - NODE 5: SendData Request. CallBack ID = 46, Status = Transmission complete and ACK received(0)
22:33:06.708 [DEBUG] [.z.i.p.s.ZWaveCommandProcessor:63 ] - Sent message Message: class = SendData (0x13), type = Request (0x00), payload = 05 03 26 01 38
22:33:06.708 [DEBUG] [.z.i.p.s.ZWaveCommandProcessor:64 ] - Recv message Message: class = SendData (0x13), type = Request (0x00), payload = 2E 00 00 02
22:33:06.708 [DEBUG] [.z.i.p.s.ZWaveCommandProcessor:65 ] - Checking transaction complete: class=SendData, expected=SendData, cancelled=false
22:33:06.708 [DEBUG] [.z.i.p.s.ZWaveCommandProcessor:68 ] - transaction complete!
22:33:06.708 [DEBUG] [b.z.i.protocol.ZWaveController:595 ] - Notifying event listeners: ZWaveTransactionCompletedEvent
22:33:06.708 [DEBUG] [.z.internal.ZWaveActiveBinding:433 ] - ZwaveIncomingEvent
22:33:06.708 [DEBUG] [WaveController$ZWaveSendThread:1287 ] - NODE 5: Response processed after 26ms/112ms.
22:33:06.727 [INFO ] [rg.openhab.model.script.lights:53 ] - Dimmer state has updated to:56
22:33:06.728 [INFO ] [rg.openhab.model.script.lights:53 ] - Dimmer state has updated to:56
22:33:06.968 [DEBUG] [eController$ZWaveReceiveThread:1441 ] - Receive Message = 01 09 00 04 00 05 03 26 03 38 E9
22:33:06.969 [DEBUG] [eController$ZWaveReceiveThread:1365 ] - Receive queue ADD: Length=1
22:33:06.970 [DEBUG] [b.z.i.protocol.ZWaveController:1123 ] - Receive queue TAKE: Length=0
22:33:06.970 [DEBUG] [o.b.z.i.protocol.SerialMessage:233 ] - Assembled message buffer = 01 09 00 04 00 05 03 26 03 38 E9
22:33:06.970 [DEBUG] [b.z.i.protocol.ZWaveController:1124 ] - Process Message = 01 09 00 04 00 05 03 26 03 38 E9
22:33:06.970 [DEBUG] [b.z.i.protocol.ZWaveController:190 ] - Message: class = ApplicationCommandHandler (0x04), type = Request (0x00), payload = 00 05 03 26 03 38
22:33:06.970 [DEBUG] [ApplicationCommandMessageClass:38 ] - NODE 5: Application Command Request (ALIVE:DONE)
22:33:06.970 [DEBUG] [ApplicationCommandMessageClass:56 ] - NODE 5: Incoming command class SWITCH_MULTILEVEL
22:33:06.970 [DEBUG] [veMultiLevelSwitchCommandClass:94 ] - NODE 5: Received Switch Multi Level Request
22:33:06.970 [DEBUG] [veMultiLevelSwitchCommandClass:114 ] - NODE 5: Switch Multi Level report, value = 56
22:33:06.970 [DEBUG] [b.z.i.protocol.ZWaveController:595 ] - Notifying event listeners: ZWaveCommandClassValueEvent
22:33:06.970 [DEBUG] [.z.internal.ZWaveActiveBinding:433 ] - ZwaveIncomingEvent
22:33:06.970 [DEBUG] [.z.internal.ZWaveActiveBinding:450 ] - NODE 5: Got a value event from Z-Wave network, endpoint = 0, command class = SWITCH_MULTILEVEL, value = 56
22:33:06.971 [DEBUG] [.z.i.p.s.ZWaveCommandProcessor:63 ] - Sent message Message: class = SendData (0x13), type = Request (0x00), payload = 05 03 26 01 38
22:33:06.971 [DEBUG] [.z.i.p.s.ZWaveCommandProcessor:64 ] - Recv message Message: class = ApplicationCommandHandler (0x04), type = Request (0x00), payload = 00 05 03 26 03 38
22:33:06.971 [DEBUG] [.z.i.p.s.ZWaveCommandProcessor:65 ] - Checking transaction complete: class=ApplicationCommandHandler, expected=SendData, cancelled=false
22:33:06.971 [DEBUG] [m.r.internal.engine.RuleEngine:305 ] - Executing rule ‘debug dimmer issue’
22:33:06.975 [INFO ] [rg.openhab.model.script.lights:53 ] - Dimmer state has updated to:56
22:33:07.160 [DEBUG] [eController$ZWaveReceiveThread:1441 ] - Receive Message = 01 0C 00 04 00 05 06 31 05 04 22 00 74 92
22:33:07.162 [DEBUG] [eController$ZWaveReceiveThread:1365 ] - Receive queue ADD: Length=1
22:33:07.162 [DEBUG] [b.z.i.protocol.ZWaveController:1123 ] - Receive queue TAKE: Length=0
22:33:07.162 [DEBUG] [o.b.z.i.protocol.SerialMessage:233 ] - Assembled message buffer = 01 0C 00 04 00 05 06 31 05 04 22 00 74 92
22:33:07.162 [DEBUG] [b.z.i.protocol.ZWaveController:1124 ] - Process Message = 01 0C 00 04 00 05 06 31 05 04 22 00 74 92
22:33:07.162 [DEBUG] [b.z.i.protocol.ZWaveController:190 ] - Message: class = ApplicationCommandHandler (0x04), type = Request (0x00), payload = 00 05 06 31 05 04 22 00 74
22:33:07.162 [DEBUG] [ApplicationCommandMessageClass:38 ] - NODE 5: Application Command Request (ALIVE:DONE)
22:33:07.162 [DEBUG] [ApplicationCommandMessageClass:56 ] - NODE 5: Incoming command class SENSOR_MULTILEVEL
22:33:07.162 [DEBUG] [veMultiLevelSensorCommandClass:97 ] - NODE 5: Received Sensor Multi Level Request
22:33:07.162 [DEBUG] [veMultiLevelSensorCommandClass:131 ] - NODE 5: Sensor Multi Level REPORT received
22:33:07.162 [DEBUG] [veMultiLevelSensorCommandClass:141 ] - NODE 5: Sensor Type = Power(4), Scale = 0
22:33:07.163 [DEBUG] [veMultiLevelSensorCommandClass:150 ] - NODE 5: Sensor Value = 11.6
22:33:07.163 [DEBUG] [b.z.i.protocol.ZWaveController:595 ] - Notifying event listeners: ZWaveMultiLevelSensorValueEvent
22:33:07.163 [DEBUG] [.z.internal.ZWaveActiveBinding:433 ] - ZwaveIncomingEvent
22:33:07.163 [DEBUG] [.z.internal.ZWaveActiveBinding:450 ] - NODE 5: Got a value event from Z-Wave network, endpoint = 0, command class = SENSOR_MULTILEVEL, value = 11.6
22:33:07.163 [DEBUG] [.z.i.p.s.ZWaveCommandProcessor:63 ] - Sent message Message: class = SendData (0x13), type = Request (0x00), payload = 05 03 26 01 38
22:33:07.163 [DEBUG] [.z.i.p.s.ZWaveCommandProcessor:64 ] - Recv message Message: class = ApplicationCommandHandler (0x04), type = Request (0x00), payload = 00 05 06 31 05 04 22 00 74
22:33:07.163 [DEBUG] [.z.i.p.s.ZWaveCommandProcessor:65 ] - Checking transaction complete: class=ApplicationCommandHandler, expected=SendData, cancelled=false
22:33:07.163 [DEBUG] [m.r.internal.engine.RuleEngine:305 ] - Executing rule ‘debug dimmer issue’
22:33:07.165 [INFO ] [rg.openhab.model.script.lights:53 ] - Dimmer state has updated to:100

My debug rule is:

rule “debug dimmer issue”
when
Item Light_dimmer received update
then
var PercentType percent
if(Light_dimmer.state instanceof PercentType) percent = Light_dimmer.state as PercentType
logInfo(“lights”,“Dimmer state has updated to:”+percent)
end

I have declared the dimmer Item as:

Dimmer Light_dimmer “Living Room Dimmer [%d %%]” { zwave=“5” }

Have I done something wrong or is this a bug?

I would ALWAYS set the command class in a item string otherwise you risk other command classes interfering and I think this is probably your problem.

I have set the command class but it does not make any difference.

Dimmer Light_dimmer “Living Room Dimmer [%d %%]” (LIGHTS) { zwave=“5:command=SWITCH_MULTILEVEL” }

I don’t think openhab recognises this class as I now get this in the log:

11:07:32.024 [INFO ] [c.internal.ModelRepositoryImpl:80 ] - Loading model ‘default.items’
11:07:32.066 [DEBUG] [i.internal.GenericItemProvider:154 ] - Processing binding configs for items from model ‘default.items’
11:07:32.068 [DEBUG] [i.internal.GenericItemProvider:419 ] - Couldn’t find ItemFactory for item ‘SWITCH_MULTILEVEL’ of type ‘command’
11:07:32.072 [DEBUG] [i.internal.GenericItemProvider:133 ] - Read items from model ‘default.items’
11:07:32.075 [DEBUG] [i.internal.GenericItemProvider:419 ] - Couldn’t find ItemFactory for item ‘SWITCH_MULTILEVEL’ of type ‘command’

Works ok now after a update and restart! Think it might have been caused by a mismatch of zwave binding or something else in my item map.

Thanks