Control LEDs and LED Effects on Inovelli Black, Red, and Blue Devices by Area, Group, Device ID, or Entity

This blueprint and script can set and clear effects as well as configure the LED or LED strip on Inovelli dimmers, switches, and fan / light combo dimmers from the “Black”, “Red 500”, “Red 800”, and “Blue” series. Devices of different types can be called simultaneously. It will accept entities, the device ID, groups, areas, or area: all and find all Inovelli devices in the house. This blueprint and script can set everything at once—even if the devices are different series and being called from different combinations of sources (e.g. 2 areas, and 3 entities).

Supported Inovelli devices:

Open your Home Assistant instance and show the blueprint import dialog with a specific blueprint pre-filled.

[2024-01-24] Black series support, correcting some effect values in the Blue series, and some general cleanup.
[2024-01-05] Added support for Blue Series devices
[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.
[2024-01-05] Adding support for Blue Series devices and groups of devices. These groups can be of the light.* or group.* domain, and any combo of Blue or Red series switches, dimmers, or fan / light combo devices.

Original discussion thread

Notification effect examples:

    service: script.inovelli_led
    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
    data:
      area: all
      duration: Forever
      effect: Blink
      brightness: 8
      color: 'Light Pink'

    service: script.inovelli_led
    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
    data:
      area: 'Family Room'
      entity: fan.front_porch, light.front_door

LED color example:

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

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

    service: script.inovelli_led
    data:
      group: group.bedroom_lights
      LEDbrightness_off: 2
2 Likes

@jayw, if you have some time, would you mind deleting the script version we were playing with and importing the blueprint? I noticed this morning that I’d pointed you to a version of the script that I was still developing and I wonder if that’s related to the area problem we you were having.

@kschlichter I’m trying to use the script version with LZW-31SN switches (1.61 firmware). It just isn’t working at all for me. If I use the blueprint version I can get them to change color, but effects don’t seem to work. I’m not sure what I’m doing wrong.

Edit: Actually, I was wrong. It doesn’t work with blueprints either. The only thing that works are the “color when on” and “color when off” settings

service: script.1708468893547
data:
  device:
    - 5f68f034d2c137aa5dc15acb1bc5f91a
  duration: Forever
  effect: Solid
  brightness: "11"
  color: Green

The maximum brightness is 10. The code isn’t executed if the brightness is set to 11. This is so that you can change the effect or color without changing the brightness (which might be set by a separate day / night automation).

By the way, the LZW31-SN doesn’t have a “color when off” option so that code will be skipped unless you also have a VZW31-SN (Red 800 Series) or VZM31-SN (Blue Series).

 Setting the LED indicator
   LEDcolor: (int or string) Sets color of status LED.  If LEDcolor_off is defined and supported by the device, this is only used for "on" status.
   LEDbrightness: (whole integer 1 – 10) Sets the brightness of the status LED.  If LEDbrightness_off is defined and supported by the device, this is only used for "on" status.
   LEDbrightness_off: (whole integer 1 – 10) Sets the brightness of the status LED when off, for devices that support this feature.
   LEDcolor_off: (int or string) Sets color of status LED when off, for devices that support this feature.
     Note that the Blue 2-in-1 switch/dimmer and Red 2-in-1 switch/dimmer support separate colors for on and off while the Black 500 and Red 500 Series devices do not.

 Required for setting LED effects
   duration: (string or whole integer of seconds) Either "Off", an integer of seconds, or a whole integer followed by "Seconds", "Minutes", "Hours", "Indefinitely", or "Forever".
   effect: (string) Where older devices don't support a new effect, that effect has been mapped to something that is supported.
   brightness: (integer 1 – 10) Sets the brightness of the LED's effect
   color: (string) Sets color of LED effect.

Try this:

service: script.1708468893547
data:
  device:
    - 5f68f034d2c137aa5dc15acb1bc5f91a
  duration: Forever
  effect: Solid
  brightness: 10
  color: Green

That was it. I didn’t actually change the brightness, just left it as what the default was set to. But shouldn’t it have still changed the color and just left the brightness alone? Or did I misunderstand what you meant.

Hmm… You did not misunderstand me; I said the wrong thing. For effects it needs everything set. For the LED status bar you can send bits and pieces. It wouldn’t be hard to enable that for effects, if that’s something you think would be valuable. The quirky bit is that any changes reset the timer. If you have a 30sec effect in green and change it to red with 10sec left, it’ll restart the timer and you’ll have red for 30sec.

Anyway, I could modify the script this weekend to accept incomplete changes for effects. Right now it’s just for the LED status bar.

Thanks, it isn’t something I really need, just trying to understand.