Start level Change Not Working

Using zwavejs (Not sure if legacy zwave system has same issue) the Start level change command appears to not work for both the system driver and the inovelli provided driver.

Dimmer: Inovelli 2 in 1 VZW31

logs:

11:28:24.181 AMinfoLoft device name Switch Multilevel Report: value off (0)
11:28:24.179 AMtraceLoft device name zwaveEvent(SwitchMultilevelReport(value: 0, targetValue: 0, duration: 0))
11:28:24.175 AMdebugParsed {"cc":38,"cmd":3,"ep":0,"values":[{"commandClass":38,"commandClassName":"Multilevel Switch","endpoint":0,"newValue":0,"prevValue":0,"property":"targetValue","propertyName":"targetValue"},{"commandClass":38,"commandClassName":"Multilevel Switch","endpoint":0,"newValue":{"unit":"seconds","value":0},"prevValue":{"unit":"seconds","value":0},"property":"duration","propertyName":"duration"},{"commandClass":38,"commandClassName":"Multilevel Switch","endpoint":0,"newValue":0,"prevValue":0,"property":"currentValue","propertyName":"currentValue"}]} to SwitchMultilevelReport(value: 0, targetValue: 0, duration: 0)
11:28:24.169 AMtraceLoft device name parse({"cc":38,"cmd":3,"ep":0,"values":[{"commandClass":38,"commandClassName":"Multilevel Switch","endpoint":0,"newValue":0,"prevValue":0,"property":"targetValue","propertyName":"targetValue"},{"commandClass":38,"commandClassName":"Multilevel Switch","endpoint":0,"newValue":{"unit":"seconds","value":0},"prevValue":{"unit":"seconds","value":0},"property":"duration","propertyName":"duration"},{"commandClass":38,"commandClassName":"Multilevel Switch","endpoint":0,"newValue":0,"prevValue":0,"property":"currentValue","propertyName":"currentValue"}]})
11:28:23.501 AMdebugLoft device name stopLevelChange [SwitchMultilevelStopLevelChange(), SwitchMultilevelGet()]
11:28:23.485 AMinfoLoft device name stopLevelChange()
11:28:18.249 AMdebugLoft device name startLevelChange [SwitchMultilevelStartLevelChange(stepSize:null, dimmingDuration:null, startLevel:60), SwitchMultilevelGet()]
11:28:18.244 AMinfoLoft device name startLevelChange(down)

Seems like it maybe similar to: Lzw42 "Start Level Change" commande don't work - General Discussion - Inovelli Community

Any ideas?

Update: The base "zwave plus scene control dimmer" device type works.

What "system driver" were you using? There isn't a targeted one for this device, though a couple generics should work.

Do you mean "Generic Z-Wave Plus Scene Dimmer"? If so, the biggest difference I see between the two is that Inovelli is using V4 of the SwitchMultiLevel command class to do this (plus some options that might be only available in this newer version, though I'm not sure they need given the Z-Wave parameters they have for handling some of these plus the default command behavior). Assuming you're using the current version of their driver (a link to the code you're using if not built-in is always a good idea to provide), I see this at line 1349, inside the startLevelChange() method:

cmds += zwave.switchMultilevelV4.switchMultilevelStartLevelChange(upDown: upDownVal, dimmingDuration: duration, ignoreStartLevel: true, startLevel: device.currentValue("level"))

If the command class version is really the problem, it should work if you replace it with something like:

cmds += zwave.switchMultilevelV1.switchMultilevelStartLevelChange(upDown: upDownVal, ignoreStartLevel: 1, startLevel: 0))

If you wanted to try that modification, it would at least verify the command class version theory, as opposed to some other driver problem. (This should work either way, as far as I can tell, but something might have been missed if this worked on Legacy.)

3 Likes

TLDR: Many, many thanks @bertabcd1234 switching to v1 has level change working!!!

I tried:
Inovelli provided vzw31 driver -- Doesn't work

"Generic Z-Wave Plus Scene Dimmer" -- Works
Built in: Inovelli Z-Wave Red Scene Dimmer (I thought I tried this, but can't reproduce issue now.)

You're right, this would have been a great thing to do. My apologies for making you dig.

THAT DID IT! I was looking around to try to find the documentation for zwave.switchMultilevelV4 but couldn't find any.

Looks like it hasn't made it to the Z-Wave classes list yet, but it does exist. I don't think there is actually any difference between V3 and V4 for this command, but I don't think it's being used wrong -- probably just a JS oddity for @bcopeland to look into if he has any devices that suppor V4 (or V3).

I can put one in my wall some day if not (have one in box but part of a whole thing where I want to move my Zigbee one upstairs to replace a G2 Red and put the G3 Red down here and... :slight_smile: ).