[RELEASE] Inovelli Bulbs Drivers LZW41/LZW42

Updated (3/11/2020)

Updates for the Inovelli LZW41/LZW42 Multi-White and Multi-Color Bulbs

  • Improved speed / reduced packets on Color and CT set operations
  • Increased reliability of reporting
  • Added color fade time prefrerence for smooth Color and CT transitions

I have issued a pull request for these changes to get them back to the official repository:

I have modified the inovelli provided drivers for:

  • multi-white lzw41
  • multi-color lzw42

Changes:

  • Added color pre-staging option
  • Added power restored memory configuration
  • Added debug logging configuration
  • Fixed color setting (broken in official drivers)
  • Fixed color temperature setting (broken in official drivers)
  • Fixed reporting (broken in official drivers)
  • Removed SmartThings related code
  • Added importURL
  • Added color name
  • Added attribute ColorMode for proper scene capture on multi-color
  • Fixed level set in setcolor issue

Changes 3/11/2020

  • Improved speed / reduced packets on Color and CT set operations
  • Increased reliability of reporting
  • Added color fade time prefrerence for smooth Color and CT transitions

Changes 4/9/2020

  • major re-write for new coding standards / cleanup
  • stabilization of color temp and color reporting
  • re-organization of device data for standardization / addition of serialnumber, hardware ver, protocol ver, firmware
  • re-work of associations
  • Fix of long-standing bug in lowest value of CT range..

Changes: 4/10/2020 NPK

  • added dimming speed parameter
  • added dimming speed to on / off

Changes 4/12/2020

  • added duplicate event filtering (optional as it has a slight possibility of causing issues with voice assistants)
  • changed dimming speed default to 1 to match previous default functionality

Changes 4/15/2020

  • fixed bug in CT report
  • added gamma correction as an optional setting

Changes 4/19/2020

  • Re-structure / location change and new importUrl
3 Likes

I finally had enough and decided to modify the code when I got woken up by my sunrise color temperature change rule on New Years day, with a raging hangover... :joy:

1 Like

It is Hubitat convention that a setLevel, setColor, or setColorTemperature will turn a bulb (or dimmer) on if off. Recently-ish, Hubitat added "Enable color prestaging" and "Enable level prestaging" options to some drivers to modify the behavior in the ways you describe. You can see an example of this in their generic Zigbee RGBW bulb driver, published here:

So, if you're wondering why they did it that way, that is probably why. Hubitat will certainly implement their driver in the same way (assuming they have plans to do this). If you want to modify it in a Hubitat-like way, I'd suggest adding one of the options above like they did in the RGBW Zigbee bulb driver, then turning that feature on--something Hubitat will probably do if/when they add support for these natively. Then your driver would be consistent with others. Obviously, if you're only using this for yourself and know how it works, it won't matter--just a short history lesson. :slight_smile:

1 Like

Ok.. I'll modify to match the official standards...

Added colorStaging preference to match official standards

Use the preference to turn off the turn on with color temp change..

colorPrestaging

1 Like

Thanks @bertabcd1234 for pointing that out

1 Like

Cleaned up the code... removed some SmartThings related stuff..

@bcopeland Still no control of saturation, set hue. Status for color temperature, color do not change values.

@razorwing was this problems you were having with the inovelli official drivers?

Yes, is there another driver I am missing?

Is this the multi-color bulb? I don’t actually have one of those yet... I just have the multi-white.. I will be ordering one probably tomorrow and see what I can do for that driver...

Yes, it is the LZW42 RGBW bulb.

Ok.. when I get mine in... I’ll see if I can fix that ...

Great, thanks. It is a nice bulb and it's z-wave plus if anyone is interested.

Ok... While this code change does fix the issue of being able to do color pre-staging … I am now realizing what a hot mess the original code was.. Lots of stuff broken... I have already fixed the ability to do fine grain tuning of color temperature.. I am working on fixing the reporting of color temperature..

I'll publish the new code sometime this afternoon after I get most of the original code bugs worked out..

I have updated the code for the multi-white .. fixes setting any color temperature in the range the bulb supports 2700-6500k and now reports back the color temperature...

There was a lot of changes to make this work.. I will need to wait until I have the multi-color bulb to fix that one..

My multi-color bulb will be in on Monday .. I'll apply all the fixes to that one and fix the other problems that @razorwing reported..

I added debug logging as a preference to reduce the chatter from this driver

Took a first attempt to merge the color temp fixes from the multi-white to the multi-color code.. (I still don't have this to test) .. I also added importurl to both devices ..