Control LEDs and LED Effects on Inovelli Dimmers, Switches, and Combo Fan / Lights by Area, Device, or Entity

I’ve written a script to set LEDs and LED effects on Inovelli dimmers, switches, and combo fan / light dimmers attached by the Z-Wave JS integration. It’s possible to set every Inovelli device in an area (i.e. ‘Upstairs’), or in a device (which is easy to template from an automation’s trigger.event.data.device_id ), or by entity. It’ll also accept any combination of area, device, and entity as well as any combination of Inovelli models. Different devices can be set simultaneously, so the script doesn’t need to be called multiple times by an automation—we’ll just set everything at once.

[2022-05-17] Fixed a typo that caused an error when setting “pulse” effects on switch devices.
[2022-06-06] Areas and devices no longer need to be lists (entities were already being converted if they were in list format). This should make the script much easier to call from automations and scripts using templates.
[2023-05-01] The script will use the areas() function introduced in 2023-04 to accept “area: all”. This will search each area Home Assistant knows about, and apply the settings to all compatible Inovelli devices.

Notification effect examples:

    service: script.inovelli_led_zwavejs
    data:
      area: 'Family Room' # This can also be an area ID, if you're using a template.
      duration: Forever
      effect: CHASE
      brightness: 8
      color: Teal
                  
    service: script.inovelli_led_zwavejs
    data:
      area: all
      duration: Forever
      effect: Blink
      brightness: 8
      color: 'Light Pink'

    service: script.inovelli_led_zwavejs
    data:
      entity: fan.front_porch, light.front_door #Mix and match device types!
      effect: pulse
      brightness: 8
      color: red

Clearing the effects above

    service: script.inovelli_led_zwavejs
    data:
      area: 'Family Room'
      entity: fan.front_porch, light.front_door

LED color example:

    service: script.inovelli_led_zwavejs
    data:
      entity: light.office
      LEDcolor: blue
      LEDbrightness: 7
      LEDbrightness_off: 3

LEDbrightness_off example: (maybe part of a nighttime routine?)

    service: script.inovelli_led_zwavejs
    data:
      entity: light.office
      LEDbrightness_off: 2
7 Likes

Thanks for publishing this script, saved me so much time and frustration. I thought I was just going to have to go without led Notifications. I’m coming from Hubitat and the driver sets up the led options as devices so you just set your automations to turn on whatever you want by picking notification 1,2 and so on. So this was a big change when switching to HA. I’m wondering if this script will work with the new Blue and future Red switches? Im thinking about ordering some. I’m guessing it won’t work with the Blue because they’re Zigbee?

I’m glad it’s working for you!

It won’t work with the Blue Series, but it wouldn’t be hard to modify the commands to make it work. I don’t have any Blues though, so it would be tricky to test. I handle a lot of corner cases in different firmware versions and I don’t know how to test that without Blue devices. I think my logic was reused for this script for Blue Devices so take a look at that: [Z2M] Inovelli VZM31-SN Blue Series 2-1 Switch LED Notification Script

It’ll work for all of their current Red Series devices, and I think it’ll work for future devices too. I’m waiting on their 5-button controller but I think that’s it for them. They seem to be focusing on the Blue Series Zigbee and Matter devices more these days.

1 Like

I’m curious, should I just input whatever inovelli device I wish to use no matter how many devices I’ll be sending notifications to or is there another way like create a group? meaning to lessen the zwave load?

I don’t think I understand your question completely, so I’ll try to answer it with scattershot.

Let’s say you want to configure three devices with a notification. Each one ultimately needs to receive its own configuration commands over the Z-Wave network. Whether you want everything in a room configured, everything in a group, or you list those devices individually doesn’t matter. It will all get broken out and sent to individual devices. That part can’t be reduced into one over-the-air command for multiple devices, as far as I know.

If you’re only setting effect and duration, that’ll be two commands per device going over the air in the Z-Wave network, even if it’s only one command from Home Assistant to the Z-Wave JS container. If you’re setting effect, color, duration, and brightness all together, then it’ll be set in one bulk parameter command. That would reduce the number of commands flowing from Home Assistant to the Z-Wave JS container, but I’m pretty sure it still gets sent over-the-air as individual commands to the devices. I’m not completely sure if bulk parameters are one command to devices or not. In my automations I set all the parameters each time to ensure the effects are configured correctly. I only have about 55 devices on my network though, so I don’t tend to run into issues with having too much traffic. Even so, when the sun sets, I can see everything in the house turn red, and then get dim–in what looks like two passes. It takes about 20 seconds for everything to change. That’s why I think that bulk parameters are still multiple over-the-air commands, but I’m not 100% sure.

You could save a bit of processing power by listing the entities (e.g. switch.family_room, switch.kitchen). Looping through every device in a room to figure out which entities are Inovelli Reds is less efficient than if you list them. That could be helpful if you’re running a Raspberry Pi and doing a lot of other automations. I’ve never benchmarked it, myself. Listing a room let me add and remove devices without breaking things, and that was more important to me.

1 Like

Lol perfect shot :slight_smile: