ZWave dimmer not working. What am I doing wrong?

I’m still a little new to this, so maybe there’s something obvious I’m missing. Any help would be appreciated.

Here’s the debug log, which is complaining about a command for an unknown channel.

2016-06-12 10:51:16.884 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 14: Command received zwave:device:154acc671d8:node14:switch_dimmer --> INCREASE
2016-06-12 10:51:16.887 [WARN ] [ding.zwave.handler.ZWaveThingHandler] - NODE 14: Command for unknown channel zwave:device:154acc671d8:node14:switch_dimmer with IncreaseDecreaseType
2016-06-12 10:51:16.890 [INFO ] [smarthome.event.ItemCommandEvent    ] - Item 'KitchenCeiling_VRI06_Dimmer' received command INCREASE

Here’s the item definition.

Dimmer KitchenCeiling_VRI06_Dimmer "Kitchen Ceiling Light [%d %%]" <dimmablelight> {channel="zwave:device:154acc671d8:node14:switch_dimmer"}

Here’s the sitemap definition.

Slider item=KitchenCeiling_VRI06_Dimmer label="Kitchen Ceiling Light"

Here’s the zwave node definition.

{
statusInfo: {
status: "ONLINE",
statusDetail: "NONE",
description: "VERSION"
},
label: "Z-Wave Node 14: Dimmer (Kitchen Ceiling))",
bridgeUID: "zwave:serial_zstick:154acc671d8",
configuration: {
action_heal: "-232323",
switchall_mode: "0",
nodename_name: "",
nodename_location: "",
powerlevel_timeout: "0",
action_failed: "-232323",
powerlevel_level: "0",
group_1: [ ],
action_remove: "-232323",
binding_pollperiod: "1800"
},
properties: {
zwave_class_basic: "ROUTING_SLAVE",
zwave_class_generic: "MULTILEVEL_SWITCH",
zwave_deviceid: "521",
zwave_frequent: "false",
zwave_nodeid: "14",
zwave_version: "0.4",
zwave_listening: "true",
zwave_routing: "true",
zwave_beaming: "false",
zwave_class_specific: "SCENE_SWITCH_MULTILEVEL",
zwave_manufacturer: "29",
zwave_devicetype: "1025",
zwave_neighbours: ""
},
UID: "zwave:device:154acc671d8:node14",
thingTypeUID: "zwave:leviton_vri06_00_000",
channels: [
{
linkedItems: [
"KitchenCeiling_VRI06_Dimmer",
"zwave_device_154acc671d8_node14_switch_dimmer"
],
uid: "zwave:device:154acc671d8:node14:switch_dimmer",
id: "switch_dimmer",
channelTypeUID: "zwave:switch_dimmer",
itemType: "Dimmer",
label: "Dimmer",
defaultTags: [ ],
properties: {
binding:Command:OnOffType: "SWITCH_MULTILEVEL",
binding:*:PercentType: "SWITCH_MULTILEVEL,BASIC"
},
configuration: { }
}
]
},

I don’t think increase/decrease is supported in the zwave binding at the moment - how are you generating this command? Are you pressing an up/down button somewhere, or using a slider? A slider should work fine.

The problem with increase/decrease is this isn’t something that ZWave devices support. So, it needs the binding to first interrogate the device to find its starting level, then increase it. It’s not impossible, but requires a reasonable amount of work to tie these different transactions together. Alternatively, the binding could keep track of the current status, and then increase from there, but that has other drawbacks.

For now, if you can use the slider it should work fine in ZWave - I note that this thread is also tagged with Leviton - I can’t say if the same issue exists there…

Yes, I’m pressing the up arrow in the Classic UI. Classic UI is rendering Slider as up and down arrows. I now see there are several threads dealing with the Classic UI not have a true slider control. Does such a control not exist in the Classic UI?

Sure enough, the slider in the Basic UI works like a charm. Yeah!

I agree it’s not trivial. At least one drawbacks to the latter approach is that the binding-maintained status will get out of sync whenever adjustments are made directly on the device (in cases where the device does not report status changes).

I’m not sure - it’s been a LONG time since I used it (for reasons like this!).

Yep…

Most UIs don’t seem to use the INCREASE/DECREASE, so this might just be an issue with the Classic UI (??). It’s probably something that I should address, but given you’re the first person to mention this in nearly 6 months of the OH2 ZWave binding being used, I suspect most UIs don’t render these buttons…

LOL. Yep, my use of the Classic UI will be short-lived as well.

I thought perhaps the issue was specific to the device. I removed the leviton tag and added classicui.

In fact there was a real slider in openHAB 1.8.0, but it turned out that there were serious issues by reason of this improvement, so the code was reverted.

There is a way to circumvent this, but you have to use a proxy item for this. Then you can detect the commands of the proxy item used in the UI and translate them to absolute dimming commands. If there are other (hardware) switches to command the dimmer, you will need a 2nd rule to update the proxy item.