Setting indicator on Inovelli Red Switch LZW30-SN using system drivers in RM

I have an Inovelli Red LZW30-SN (also LZW31-SN dimmer). I've used the Inovelli supplied drives with child devices to control the notification LED. However I find this model less than ideal.

The new(ish) Hubitat drivers provide a "set Indicator" command on the driver page. If possible, I would like to set the indicator from RM directly; for me, this would be cleaner and more flexible than using the Inovelli child-switch model.

I've searched the community, perhaps I've missed something, but can't find how to do this.

Hubitat does not have a built-in driver for the LZW31-SN (Red Series Dimmer), so you'll have to use a third-party driver like Inovelli's own for that. To set the notification LED from RM, the driver will need to expose a command for that, as you must know since you asked. However, last time I used Inovelli's own, they didn't--the child devices were the only option. I have my own that does provide custom commands if you wanted to try that out. It also has the option to create child devices for the LED itself. That is optional, and the difference from Inovelli's own drivers is that this would be a child device for the notification LED (and the default "on" and "off" LED, though those support fewer features) that expose the LED as more or less just an RGB bulb that you can manipulate directly and turn "on" to activate the notification--no need to pre-define child devices for notifications (I was also not a fan of that). But you don't need to do that, as you could also just use the custom command on the parent device.

For the LZW30-SN (Red Series Switch), Hubitat does have a driver built in ("Inovelli Z-Wave Smart Scene Switch S2"). That one, like mine and whatever one you've apparently also seen, does indeed have the setIndicator command. It has fewer features than Inovelli's own driver (which again doesn't implement a command like this) or my own (I haven't documented its existence yet but I do indeed have one for the LZW30-SN, too). Notably, Hubitat's built-in drivers all stop at "double tapped," so you'll lose out on the third, fourth, and fifth taps up or down on the paddle as events you can respond to. (Speaking of these, I'm also not a fan of what button-related events Inovelli chose to generate here. A tap up is "1 pushed," but a tap down is..."1 held"? On mine, "1 pushed" is a tap up and "1 held" is...wait for it...a hold of the "up" paddle. The tradeoff is that you need to do some arithmetic: the top paddle taps are buttons 1, 3, 5, 7, 9; the bottom paddle taps are buttons 2, 4, 6, 8, and 10; 1 and 2 support held and released as their logical real-world events; button 11 is the config button.)

Also, if you haven't seen this thread on the Inovelli forums, here's an easy way to calculate the value you'd need to set this parameter manually: Visual Notification LED Calculator Updated for LZW31-SN Dimmer - Digital Lounge - Inovelli Community.

As to how to actually use these commands, no matter what driver you use, in RM: they aren't standard commands, so none of RM's built-in actions can run them directly. What you need to do is use the "Run Custom Action" feature, which is an action you can choose, then fill in whatever else you want:

(If you haven't used this before, the "Select capability..." option will work if you choose any capability the switch/dimmer supports. It's just a way to get RM to present a list of devices to you. I chose "Switch" because both the switch and dimmer would support this, but as long as whatever you choose gets the device you want in the list, it doesn't matter; RM will have access to all its commands regardless.)

Hope this helps!

1 Like

Thank you! Indeed it helps.

Thank you for the clarification on the LZW31-SN dimmer not having an in-built driver. I guess I assumed that since there was one for the switch, they did the dimmer too. Until I expanded my browser (working on an old laptop), the drop down for the drives was cut off. I did not notice the lack of the "S2".

I don't plan on going past double tap, trying to remember what 3, 4, or 5 mean is more than I (or my wife) can handle.

It was the "Run custom action" piece I was missing. Thank you for pointing that out. It looks like it wants to take a constant value. I would like to use a variable for that. For instance, if there is something I wish to announce, I can't start with low brightness, and over time, increase the brightness by adding an appropriate offset. This would require a variable which I could do math on.

Are you aware of a way of using a variable here? Can I just put %Brightness% (a custom variable) where it says "integer value"?

Thank you again.

You should be able to use a variable for that, but if you're talking about the notification LED parameter, I think it's going to be pretty difficult to calculate that in RM based entirely on brightness. It's one 4-byte parameter, with each "option" within the notification taking up one byte. This makes sense if you think about it it in four groups of eight-bit bytes:

color*(2^0) + level*(2^8)+ duration*(2^16)+ effect*(2^24)

or, for a bit more human-friendly form:

color*1 + level*256 + duration*65536 + effect*16777216

In all cases, the values are color from 0-255 (scaled from the conventional 0-360 hue values where both extremes are red), level from 1-10 (LED brightness), duration from 1-255 (desired duration in number of seconds 1-254 or 255 for indefinite, or something like that...I think their beta firmware update is fixing something with a duration calculation and I'm not sure if this is part of that), and effect is 0-5 (for off, solid, chase, fast blink, slow blink, and pulse, respectively; chase is not available on the switches, and I think it's 0-4 for those instead).

So, if you only change the parameter from within RM and keep track of its current value with a variable, you could do some algebra and figure out what the new value might need to be just to reduce the brightness. :slight_smile: But because it's all crammed into one parameter, you'll have to do some work to get there. (The driver I wrote, above, does make this easier by treating the notification LED as an RGB bulb where you can set all of these separately. You'd need to do a setLevel on the notification LED child, then turn the notification on() to activate your new settings.)

Thank you again for the input. As a software engineer, I am comfortable with bit math, and manipulating bytes. How to do that in RM, I still have to figure out.