Not only can the Inovelli LZW31-SN Red Series Dimmer (and LZW30-SN Switch) trigger scenes with up to 5 taps (up and down), it has a really slick Status LED strip built in. It is possible to both change the color and animate it!
What surprised me was how complex the math was required for the task. Luckily the manufacturer provided a spreadsheet with the calculations. So I converted the spreadsheet math to a Home Assistant script template math. The result is a script with simple parameters named inovelli_led. Here is an example.
Essentially my script passes the correct information to the zwave.set_config_parameter service, including a tricky math formula to set the color, effect, duration, and brightness. If you are interested I did a brief write up on my blog with commented automations and scripts.
I can’t seem to get it to work, first I had an issue with Node Id but then I hard coded it and it still didn’t work. Did you just secure pair the switch to Home Assistant? Are there any other things that you set up?
So I got it to work by changing the parameter from 16 to 8 and hard coding the entity ID. Why are our parameters different when I have a LZW30-SN. I have the ON/OFF red switch. Do you have the dimmer version?
Also great work on the script! I just bought one of these switches for the notification light!!
Nice work! I’ll likely give the script a shot this weekend. It looks much easier than specifying everything manually. Thanks! Now if only we could get feedback into Home Assistant about what the z-wave config parameters are set at…
Yes, I have the LZW31-SN dimmer. I’m glad that you got it working.
Thank you! I often make my scripts a bit more complex so I don’t have to think so hard when I am trying to make use of it later. I even added a couple of alternate names for animations (eg. “Pulse” and “Breath”) to make it less likely that I will type in an invalid name.
Yes, I’m fairly close! Ok so the parameter makes sense because you have the dimmer switch.
The part of your script that I can’t get working is the entity id. I keep getting an error for the line of code starts with node_id. Is this the latest version of the code? Everything else works, I just don’t want to have to hard code the node is field.
So awesome you put this together, since I just got the switch! I love the extra code, makes it more flexible!
The nice thing about scripts are, you can pass variables to them so you can reuse the same code for multiple purpose. Make sure you pass the zwave. entity instead of your switch (or light) entity. In my example notice that I pass zwave.dimmer_family_room. I renamed that on the integrations page so it would be easier to identify should I ever get more.
Ok! So I figured something out that might be helpful. There seems to be some limitation on entity_id character limit. Once I renamed the entity_id to something shorter I got this to work! Thank you for the hard work. Now I can have fun with some notifications!
Thanks for letting me know the switch uses parameter: 8 instead of 16.
With that knowledge I believe I have modified script.innovelli_led to make it work with both the dimmer and the switch. Change your parameter: 8 line to the following. It should work for your switch, but allow you to use the unmodified script with a dimmer in the future.
parameter: >
{# Set a default value so this parameter may be omitted. #}
{% set dimmer = dimmer|default('false') %}
{{ "16" if dimmer == "true" else "8" }}
Since the above code defaults the dimmer to “false”, you don’t have to modify anything else. But when you are ready to add a dimmer add dimmer: "true" like the following.
Just chiming in to say thank you! I (a beginner) was able to get your example working on my system with little effort. I appreciate the time you took sharing everything. Now the fun part: I have to think of ways to utilize this new tool
This is awesome, set it up tonight, they are green when my alarm is off and red when my alarm is on, will play to add other things…
I had some weird issues, I was triggering them on alarm_disarmed and “alarm_armed” events, and I had to move the scripts above other calls like locking locks, etc… Or maybe it just doesn’t work sometimes and it’s random? Not sure yet…
Also, I could just test this and will tomorrow, but can you run script with multiple entities or do you need to call it for each zwave entity?
Brand new to HA but have 30some Inovelli switches in the house. This is a known firmware bug with the switches and there’s actually a beta firmware release on their site right now for the red series switch and dimmer that should address this.
Over on Hubitat I went away from using the Inovelli drivers and used a third party one which would allow me to setup automations to modify the default LED colour. So in my case when alarm is armed, default LED colour changes to red, when disarmed default LED colour changes to blue. This would allow it to stay through switch presses or zwave commands but you lose the functionality of blinking/flashing or any of the other notification “animations” there are. Solid colour only. Not sure if anybody has gone down that road yet on HA.
@BrianHanifin, thanks for gathering the relevant Inovelli posts and putting together this script! I have both switches and dimmers and noticed that the effects didn’t work quite right on the switches. In particular the “pulse” effect would just stay solid (I didn’t test the blink effects). It’s possible this is something in my revision of firmware, or with the Inovelli XML files I used to set up my switches and dimmers in Home Assistant. Nobody else seems to be complaining about the switch ‘pulse’ effect not working. Anyway, I have a fix for it.
I also noticed that using the “solid” effect doesn’t make use of the gradient in the LED strip on the dimmer if the lights are <100% power and, if you use the lights the effect is lost and they go back to their default blue. I really wanted to set my LEDs to red and make them dimmer at night, then change them back to some other color and brightness in the day.
I’m happy to share the code, and I can submit a merge request against your git repository if you’re interested.