Minimum/Maximum Level Calibration LZW31-SN

Hello Inovelli folks,

I am new here as I only became an Inovelli customer a few weeks ago. Today I took delivery on a set of LZW31-SN dimmers and they only are the first of many. I really l like the Red Series dimmers. Anyone on the fence about purchasing them I encourage you to dive in head first as they’re awesome especially for Hubitat owners!

I am trying to understand how the min-max levels work in order to “calibrate” the dimmers that are driving “dumb” LED bulbs. For example, when setting a level on a device page within hubitat, what is the math that takes place in the driver or firmware to translate that into a level? Assuming for a moment that my minimum is 1 and maximum is 99 I would expect there to be little math if any. However I suspect that there might be a non-linear curve applied and some trickery concerning the minimum and maximum level values. If it effects anything, know that I do have neutral wires connected to every LZW31-SN in my home.

Now on to the task at hand… I want to properly adjust the minimum value so that is set at just the right percentage so that when I tell the dimmer either in a scene, directly, on a dashboard, etc. to go to 1% I get that expected tiny little glow. What is the best way to do this? Set the min/max to 0% and 99% respectively, carefully find the correct minimum, then input that into the minimum field and “save preferences?” What will this do to the indicator bar? How will this behave within scenes? For example, if my minimum is as high as 40% and I set the dimmer to 10% in a scene does the driver/firmware clamp to 40% or stretch/scale the ranges so a setting of 10% actually outputs something around 46%?

Warning I am a lighting professional in my working life so this may seem a little obsessive (which is perhaps exactly right for this community of enthusiasts)


This is handled by the device itself, not the Hubitat driver (so it would presumably work the same on any platform). Your assumption is correct that the dimmer handles the math for you, so if you set the minimum level to 10 via the Z-Wave parameter and then set the level to 1% via Hubitat, it will go to what would (if unaltered) be level 10 to the dimmer, with some math done internally to stretch the all Z-Wave level values 1-99 across whatever “usable”/real range you have set. What type of math they use to do that is something you’ll have to wait for Inovelli, or possibly one of their firmware engineers, to respond with. :slight_smile: (If it were me, I’d probably take the easy route and go linear; different bulbs respond quite differently to dimmers in general in my experience, which you undoubtedly have a lot more of; I’m not sure what reason there may be to prefer one conversion over another. But that part I don’t think they’ve ever mentioned specifically.)

That’s the best way, I think – don’t adjust the min/max parameters, find them yourself, and then set them both after you figure them out (otherwise it’s hard to know what you should set them to if it’s already adjusting the levels behind the scenes for you).

Like the reported (and set) level, the indicator bar is also scaled for you: even if your minimum is set to 40% (via the parameter), a level of 10% sent to or repoted by the dimmer will show on the bar as 10% (while the dimmer indeed will likely be giving something like 46% to the load itself). I’m not sure where “scenes” come into this unless you mean Hubitat-based lighting scenes; on the switch side, scenes are just Z-Wave events that get send to your hub with taps and multi-taps (Central Scene on the Z-Wave side, usually converted to button events on the Hubitat side), with the LED bar getting used for level display as usual (like here) or notifications (via another Z-Wave parameter, or configured via notification child devices if you use Inovelli’s Hubitat driver).


I am trying to understand how the min-max levels work in order to “calibrate” the dimmers that are driving “dumb” LED bulbs. For example, when setting a level on a device page within hubitat, what is the math that takes place in the driver or firmware to translate that into a level?

I think you will find the percent ON in Hubitat (or any hub) correlates poorly to the created lumens. I expect it is nearly linear to the amount of delay before the output turns ON. And even if the Red Dimmer were perfectly calibrated to something (delay to ON time, Vouts RMS or ???) most every LED bulb will be different.
I’ve measured the input current on 5 different LED bulbs, no two are even similar. I measured at 100% on (i.e. connected directly to the input line, no dimmer).

@BertABCD1234 thanks for your thoughts and insight. I can confirm everything you explained to be true now that I’ve gone through the process. However there is an artifact of this process that I should have expected. I can see the quantization limits inherent in the math. Once the range is limited by even a few percent a “steppyness” appears when dimming especially towards the bottom of the range with LED bulbs. This is a small price to pay to fix the perceived delay when dimming up LED bulbs but it is nonetheless something I hope can improve in the future.

Perhaps this is something that can be improved with some interpolation within the dimmer in a firmware update? I have searched for how to @ a suggestion or support account but did not find much. I would advance this as a feature request of course!

@JohnRob very true. I see this in my day job all the time but we have some powerful tools to help mitigate the issue. We also consider that LED bulbs dim more smoothly and reach a lower level on the way down vs on the way up and compensate differently depending on the direction. I also measure wildly different minimum values that vary between bulbs. Of course anything halogen or incandescent looks fantastic and functions predictably. But all LED bulbs differ as you’ve said. I used a spot meter to set the minimum values anywhere I have LED bulbs (there are few) and that resulted in the most consistent results.

Great observations about set levels and bulbs.

I created a ‘Wishlist’ suggestion about a week ago to be able to set custom power curves on the switches based on our preferences.

I think the first step is getting the switch into a mode that supports linear ramping vs log ramping or even better a fully custom ramp (percent on vs power distributed), which would help a lot. Then we as a community could build some solutions that would allow us to define the curve based on light bulbs we are using.

Great topic!

@BuilderTroy very exciting thoughts and I agree with you too. I would love to see a home dimmer product where it would be possible to upload or otherwise specify a lookup table to define a custom response curve.

I also have read and posted on another thread about dimming smoothness. Your suggestion might help the other in this case.

– Richard