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

I’ve issued a new release (2024.07.16) which fixes effects for Red 800 Series and Blue Series devices on ZHA. I’ve also implemented the clear effect option properly, instead of issuing an “off” effect for one second and letting it timeout. Existing automations don’t need to change and will continue to behave as they always have. Calling a device without any options will clear active effects (faster than before).

1 Like

You are awesome. FYI Looks like the blueprint import isn’t working.

Invalid blueprint: required key not provided @ data[‘blueprint’]. Got None

1 Like

@jkolinek-dev, Thanks for flagging that! I think it’s working now.

1 Like

Seems like most of the errors I was having have gone away, however, this one is persisting. Looks related to the individual LED settings I think?


Logger: homeassistant.components.script.late_night_scene
Source: helpers/script.py:2002
integration: Script (documentation, issues)
First occurred: July 11, 2024 at 7:00:17 PM (18 occurrences)
Last logged: 9:19:24 PM

Late Night Scene: Sequence action at step 1: Error executing script. Error for call_service at pos 6: Failed to set attribute: value: 0 attribute: 95 cluster_id: 64561 endpoint_id: 1
Late Night Scene: Error executing script. Error for sequence at pos 1: Failed to set attribute: value: 0 attribute: 95 cluster_id: 64561 endpoint_id: 1
Late Night Scene: Sequence action at step 1: Error executing script. Error for call_service at pos 6: Failed to set attribute: value: 20 attribute: 62 cluster_id: 64561 endpoint_id: 1
Late Night Scene: Error executing script. Error for sequence at pos 1: Failed to set attribute: value: 20 attribute: 62 cluster_id: 64561 endpoint_id: 1
Late Night Scene: Sequence action at step 1: Error executing script. Error for call_service at pos 4: Failed to set attribute: value: 0 attribute: 95 cluster_id: 64561 endpoint_id: 1

I think you’ll need to do two things. First, run the blueprint with LEDnumber: all, LEDcolor: all clear, and LEDcolor_off: all clear. That’ll reset the individual LEDs.
Next, remove this line from the service call or uncheck the “LEDnumber” option in the UI.

It’s 4:45 in the morning and I haven’t had coffee yet, so I could be wrong. I think that’s going to fix it. In my mind, LEDnumber: all was only going to be used with the “all” color sets (e.g. “all unicorn”), and setting the whole strip would have LEDnumber unchecked. Looking through my readme on github I can see that’s what I tested. If that’s the issue, I can fix this pretty easily once I have my server set up at my new house and running Home Assistant again. At the moment, I’m without an internet connection and everything is packed up.

For now, do the reset, and leave LEDnumber unchecked. I can fix the handling for it in a few weeks.

1 Like

Been a few days since I followed your instructions, my scripts/ automations are running without errors now.

1 Like

I’m attempting to use this to set the color and brightness consistent across all of my switches. I used the following:

service: script.inovelli_led_settings_and_effects_blueprint
data:
  area: 'all'
  LEDcolor: 197
  LEDcolor_off: 197
  LEDbrightness: 5
  LEDbrightness_off: 1

I then see a series of errors (4 seperate nodes), like this:

 NotFoundError: Configuration parameter with parameter name LED Indicator: Effect Type on node Node(node_id=18) endpoint 0 could not be found 

When I run the script, the LED Effect Type on node 18 becomes blank. From the log of that device:

Bedroom Ceiling Light LED Effect Type became unknown
10:40:52 AM - 9 seconds ago

The nodes that fire this error are a mix of LZW30-SN and LZW31-SN. It doesn’t appear that any of the switches changed the color that I supplied.

EDIT: Reposting because I mistakenly replied to the above vs starting a new response.

Sorry I didn’t reply sooner. I didn’t see the message. Some Inovelli firmware versions clear the effect when LED colors are changed and others reset the timer (which is worse, if you’re depending on that timer). The behavior is inconsistent so I clear the effect to standardize the experience. You can add the effect settings to the call and the LED colors will be set with it. That’ll make it smooth and if you’re using “forever” as the duration it doesn’t matter.

The colors have to be from the list offered; the script doesn’t support numbers anymore. That’s a byproduct of offering the UI. Try purple and see if 190 is close enough for you. The script is easy to modify and add your own colors but I don’t know about the Blueprint. Line 445 is where you’d add it, if you want to monkey with that. Otherwise I can add 197 to the next release.

service: script.inovelli_led_settings_and_effects_blueprint
data:
  area: 'all'
  LEDcolor: 'purple'
  LEDcolor_off: 'purple'
  LEDbrightness: 5
  LEDbrightness_off: 1

I forgot about this until I came back to the community looking for something else. Running the script with 'all' and 'purple' leads to the same error message.

I know this is an old comment, but I came across this looking to do the same thing and wanted to pass along what I ended up doing to get this working.

I have an Inovelli Dimmer 2-in-1 Red Series VZW31-SN paired with Hubitat, and I wanted to control the LED light strip based on certain conditions within Home Assistant. My “solution” does not use this custom Blueprint, but instead uses the built-in hubitat.send_command service that is available once you integrate Hubitat with Home Assistant using the hacs-hubitat integration. This allows me to control the LED light strip of the Inovelli Dimmmer based on conditions within Home Assistant, even though the device is only paired to Hubitat.

Within my Home Assistant Automations, I have the following Action configured to change the LED light strip on the VZW31-SN

The below action will set the entire LED light bar to “Red” indefinitely:

 - action: hubitat.send_command
    metadata: {}
    data:
      entity_id: light.back_door_entry_light
      command: ledEffectAll
      args: 1,1,100,255

The args that are used breakdown as follows:

 Effect     Color             Level                   Duration
1=Solid, 1=Red Color, 100=LED bar brightness, 255=duration indefinitely

Effect
Effect

Color
Color

Level
Level

Duration
Duration

You can adjust the args to fit your needs, this is just an example of what I used for one of my actions.

Hopefully this helps anyone looking to do something similar!

1 Like

@hoyt, I suspect your recent re-interview should resolve this problem as well and restore the missing parameter.

Configuration parameter with parameter name LED Indicator: Effect Type on node Node(node_id=18) endpoint 0 could not be found

Yeah, actually, I rebuilt my entire z-wave network recently (changed controllers). I tried the script again and it worked - kind of. I ran this:

action: script.inovelli_led_settings_and_effects_blueprint
data:
  area: 'all'
  LEDcolor: 'purple'
  LEDcolor_off: 'purple'
  LEDbrightness: 5
  LEDbrightness_off: 1

Eventually I saw this error pop-up: Failed to perform the action script.inovelli_led_settings_and_effects_blueprint. Unknown error

And all (or at least most?) of my Inovelli LZW31-SN and VZM31-SN changed, but none of my VZM36 updated.

This used to happen to me from time to time. The switch in my daughter’s room would stop responding to any Z Wave commands (not just the script but on / off commands too). When that happened, nothing listed after it would be updated. The commands went out okay from Home Assistant, but wouldn’t get to the devices. I’d target each of the devices that didn’t change one at a time and see if you can figure out which one is causing the issue. I can’t remember if I had to re-pair it, re-interview it, or just power cycle it with the built-in breaker tab. It would happen every year or 18mo and it was always the same dimmer.

1 Like

I love this script and blueprint. You’ve done some amazing work here.

Question for you: I have several LZW30-SN, LZW31-SN and several VZW31-SN.

I’ve got groups for each type of switch (3 groups total), so putting them into your script makes my life easy…but…

Calling the script to implement an LED effect works great, but when I clear the effect, all the switches clear except for the LZW30-SNs…any idea why the LZW30-SNs don’t clear?

This is what I’m using to set the LED effect across the house:

data:
  group:
    - group.red_series_on_off_switches
    - group.red_series_dimmers
    - group.red_series_2_1_switches
  duration: Indefinitely
  effect: Blink Slow
  brightness: 10
  color: Orange

And here is what I’m using to clear it:

action: script.inovelli_led_settings_and_effects
data:
  group:
    - group.red_series_on_off_switches
    - group.red_series_dimmers
    - group.red_series_2_1_switches
  duration: "Off"
  effect: "Off"
  brightness: 0
  color: "Off"
1 Like

Yes! In fact I do know! The LZW30-SN is one of Inovelli’s first Red 500 devices so it has a few quirks that were improved on in the LZW31-SN. I recently re-wrote a bunch of that code and obviously didn’t QA it very well. I think it was a couple of days before I moved in July.

I bought one of each Inovelli device for a lab. Your service call is fine and I was able to reproduce the issue right away. Everything clears but that switch. I’ve fixed the code but I’m heading out for a bit. I’ll release an update tonight.

Wow. Amazing! Thank you! I regret buying them now, it was pre-pandemic. A lot has changed since then with these switches (for the better).

See if that works for you. I know I fixed the script but I don’t use the blueprint.

I think she works!

One last question for you experts…I’m starting to use this amazing script because of the recent update to node red (read: ‘broken’).

I have a flow in node red that looks like this (see below). It seems to be much faster than this script. Any idea why? Should I run three scripts in parallel - one for each series of red switch sort of like I’m doing below? (the two reddish/brown nodes are the old inovelli-notification-manager nodes)

My script will run through your three groups in series. Each device type has different parameter names and values so they can’t be done together. You’d have to make three calls to my script—one with each group—and let them run in parallel as well.

I’ve never tried to optimize my code. I’m sure there’s a good list of things I could do. I haven’t found a need to speed things up though, and I have a few other features I’d like to add so I’m more focused on those for now. I’m open to pull requests if you figure anything out. :slight_smile: