I have written a separate post about my general question, but I wanted to ask as well about the specific situation of an LZW42.
I also know that you started this thread and did much of this driver work before you became a Hubitat employee. I assume that being an employee means that your priorities are at least partially driven Hubitat's vs what you might otherwise have done. As a result, I am content with any feedback you might give.
I am a fan of using the startLevelChange (up or down) and the stopLevelChange commands that are available in most if not all drivers for dimming capable bulbs. What I have found however is that they typically change at different rates. Just to be clear, I am only talking about the startLevelChange and not the setLevel where a duration is typically available as an input.
I have a mixture of Zigbee and Z-wave bulbs. Most are paired to my HE, but a few of the zigbee bulbs are paired to a parallel Zigbee mesh controlled by zigbee2mqtt (Z2M). For those on Z2M, I can issue the equivalent of a startLevelChange with a rate of change parameter.
Do you have any insight into whether such a command could be issued to an Inovelli LZW42?
I know such a command would require a new/modified driver and that just because an Ikea Zigbee bulb supports such a command (or Z2M is simulating such a command and doing so internally), doesn't mean that a Z-wave bulb would necessarily support it.
Additionally, I would love any clarification about the drivers for this bulb. Here is what I think I know about them:
- There seem to be 2 widely available drivers
- Inovelli Bulb Multi-Color (built in Hubitat driver)
- Inovelli Bulb Multi-Color LZW42 (user driver available from Inovelli)
- The Inovelli driver can be maintained and updated through Hubitat Package manager (a user app)
- It appears that the work that you did and discussed in this thread were ultimately incorporated in to Inovelli Bulb Multi-Color LZW42 (user driver available from Inovelli)
- There are a few capability differences in capabilities between the built in and Inovelli drivers
As you have transitioned from community member who created/enhanced many things to Hubitat staff, if you ever prioritize making changes to the driver going forward, will those changes be exclusive to the Hubitat driver or the Inovelli driver or will they be Hubitat exclusive, but shared in such a way that Inovelli may choose to incorporate into their driver?
I have been told in the Inovelli forum that the enhancement that I (and possibly me alone) want is not supported by the device as it is a white label item where the original manufacturer controls the firmware and would be responsible for supporting such a command. If I were to dive into the driver build/modification world, is there a good starting point for documentation on knowing what commands a given device supports and how to send such commands?
In this case I see in the current driver this line:
sendToDevice(zwave.switchMultilevelV2.switchMultilevelStartLevelChange(ignoreStartLevel: true, startLevel: device.currentValue("level"), upDown: upDownVal))
and would love to know if this is in any way modifiable in the direction I want or if it literally exercising all supported capabilities.
Thanks for any feedback if you read this entire novel of a post.