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

@kschlichter I am making some progress, but not enough I fear.

I had originally just tried to add your Blueprint using the “Import Blueprint to MY” that you had on the first post, but when I tried to create a script from the Blueprint in HA, it failed with the required fields warning.

I then went back and reread your GH readme more carefully and noticed that I have to actually replace the entire contents of the Script with the contents from a non-master branch. I tried the Controlling-Individual-LEDs-on-Red-800-and-Blue-Series-Devices branch, but I am not convinced that is the correct one.

Once I had the new script cut & pasted into the HA editor, I was able to save as a new script and create an automation that calls it. I ran the action manually but do not see the effect executed on my switch. Rather if I set an effect manually (via config params), and then run the automation, I see the switch reset to the default state.

Is this what you mean by configuring it dynamically? Given the full GUI list of params that show up in the automation, I thought I could specify them within the automation configuration page and then run the automation.

If I try to create a script in which I preconfigure the entity, and other params and run it, the effect still does not kick in, however, the LED Color When On (non-effect) changes based on the script defn.

I looked at the Events tab and noticed that 2 values are being written to param 16 and wondering if that is the issue:

3/5/2025, 7:43:35 PM - value updated
Arg 0:
└─commandClassName: Configuration
└─commandClass: 112
└─endpoint: 0
└─property: 16
└─propertyKey: 16711680
└─newValue: 0
└─prevValue: 0
└─propertyName: LED Indicator: Effect Duration
3/5/2025, 7:43:35 PM - value updated
Arg 0:
└─commandClassName: Configuration
└─commandClass: 112
└─endpoint: 0
└─property: 16
└─propertyKey: 2130706432
└─newValue: 0
└─prevValue: 0
└─propertyName: LED Indicator: Effect Type

I am using an LZW31-SN switch if that makes any difference.

Am I misunderstanding the steps to install/integrate/use your blueprint/script?

Thanks!

Eric

I’ve updated the readme on Github to be clearer. The blueprint and script now have separate installation and use instructions. I also got rid of the comment to pull the dev branch. That was a lazy copy / paste error on my part and I’m sorry it wasted so much of your time.

The blueprint required you to fill in all of the fields because I removed the defaults. I’ve added those back now, and you should have a better experience with the blueprint.

If you want to use the script, I’d re-pull the code from master. That dev branch is old and I don’t remember if it worked or not. You may be running into an issue with that branch, so let’s see if you hit the same issue with the current code.

Significant improvement. :). Thanks!

I grabbed the latest from your main branch and pasted it into HA Blueprint and created a script from that. Now in my Automation, I can refer to the script and specify the correct fields and it works! :slight_smile: Thanks for the amazing work.

I now wanted to understand how to install it as a script within a config folder as you recommended in your Readme. But I’m not sure what the best approach is to downloading and storing the script in a scripts/ folder or how to keep the script(s) up-to-date. If I cut & paste the script into a scripts folder, do I need to cut & paste everytime to update it? Is there a way to use git to make it more efficient? Can I use HACS to download and keep up to date?

Thanks!

Eric

If you’re looking for an easy way to pull updates, I think the “reimport blueprint” option is going to be your best bet. I try very hard to avoid breaking changes, and you should not have to modify your existing scripts when I make updates.

If I cut & paste the script into a scripts folder, do I need to cut & paste everytime to update it?

That’s one option. It’s probably what I would do because if something breaks I’d have a pretty good idea of what went wrong. I expect most would use git.

Is there a way to use git to make it more efficient?

Yeah, that’s probably easier. I suppose you could run it in a cron job too, and make updates invisible (until it breaks and you spend a week thinking it’s the switch before you remember this script even exists in your setup). Installing, configuring, and using git is outside the scope of this thread but there’s plenty of information out there describing how to use git to download from github.

Can I use HACS to download and keep up to date?

This script isn’t in HACS.

I’m seeing the same error. I’m far from a YAML expert, but doesn’t the # in front of required: false turn it into a comment line instead of an actual line of code that’s processed? As a blueprint this script also tells me that the label, floor, area, and group are all required items.

The required: field defaults to false, so unless you explicitly set it to true, it isn’t required. Also, if you set it to true it turns out it isn’t a valid option for blueprints anyway:

kschlichter/inovelli_led_blueprint.yaml could not be loaded
Invalid blueprint: extra keys not allowed @ data['blueprint']['input']['LEDbrightness']['required']. Got False extra keys not allowed @ data['blueprint']['input']['LEDbrightness_off']['required']. Got False extra keys not allowed @ data['blueprint']['input']['LEDcolor']['required']. Got False extra keys not allowed @ data['blueprint']['input']['LEDcolor_off']['required']. Got False extra keys not allowed @ data['blueprint']['input']['LEDnumber']['required']. Got False extra keys not allowed @ data['blueprint']['input']['area']['required']. Got False extra keys not allowed @ data['blueprint']['input']['brightness']['required']. Got False extra keys not allowed @ data['blueprint']['input']['color']['required']. Got False extra keys not allowed @ data['blueprint']['input']['device']['required']. Got False extra keys not allowed @ data['blueprint']['input']['duration']['required']. Got False extra keys not allowed @ data['blueprint']['input']['effect']['required']. Got False extra keys not allowed @ data['blueprint']['input']['entity']['required']. Got False extra keys not allowed @ data['blueprint']['input']['floor']['required']. Got False extra keys not allowed @ data['blueprint']['input']['group']['required']. Got False extra keys not allowed @ data['blueprint']['input']['label']['required']. Got False

I made the same mistake I did before. I’ve uncommented the default: lines. Reimport the blueprint; it should be fine now.

Thanks for all the work on this and the comments! It works now and allows me to create scripts off the blueprint. It does however put some “invalid” characters in some fields, including the label field. See attached screenshot for a visual, the yaml shows “invalid” as well.

I think if you set the value of default to be empty brackets instead of ‘invalid’ that will prevent that issue. I forked your repo to test and it appears to work. I can send you a PR unless you prefer to make the change. Thanks again for the useful script, looking forward to deploying it!

It does however put some “invalid” characters in some fields, including the label field.

Yeah; that’s the problem I keep trying to solve. :slight_smile: I keep forgetting that if I comment out default, all the fields become required. I won’t really have time to play around with it until this weekend but, If you have a better solution, I very much welcome the PR! I can do some quick sanity tests and get it out right away.

No worries, and happy to help. It seems to be working when generating scripts from the blueprint but please test away to see what you think.

PR has been sent, you may get multiple messages as I was messing around with the settings. Thanks again and happy to help/test more. Still pretty new to HA but learning more everyday.

It seems to work and cleans up the UI selectors. Thanks for figuring that out! I’ve set it as a new release.

1 Like

Working great from your repo, thanks a bunch. Your blueprint fixed a recurring issue with some (not all for some reason) of my VZW31-SN switches going dark after a sensor notification pop was cleared.

Try setting LEDNumber: all clear and all clear for both LED color when on and when off. Also, make sure you aren’t setting the effect to off. I think in the VZM series that’s an effect, so you want to use clesr. There’s also a setting somewhere in the firmware to configure a timeout that turns the LED bar off after the brightness level changes. I forget what it’s called. Hopefully that gets you pointed in the right direction, at least.

What’s Changed 2025.03.30

  • Added “selector_mode” logic to match entities from ANY selectors (logical OR) or ALL selectors (logical AND).
    • Compare selecting entities that are upstairs or bathrooms, with selecting entities that are upstairs bathrooms. The former will select all entities in upstairs bedrooms and hallways, as well as bathrooms which are upstairs or downstairs, while the latter will only select entities in the upstairs bathrooms (but not the downstairs bathrooms, or any bedrooms).
    • Selector Mode readme has examples to help clarify.
  • Domain filters to select all fans, lights, or switches. Combine this with selector_mode: 'all' to set all fans downstairs, or all lights in the office.
  • Defaults have been updated so they don’t pre-populate fields with 'invalid’ and blueprints don’t require every field to be set.
    • Blueprints are different from scripts in strange ways that are frustrating for me.
  • Script service calls, and blueprints that were generated before this release will continue to function in the same way. Despite the new fields, they do not need to be updated. There should be no breaking changes in this release.

New Contributors

Full Changelog: https://github.com/kschlichter/Home-Assistant-Inovelli-Effects-and-Colors/compare/2025.03.25...2025.03.30

2 Likes

oh sorry, to be clear I was saying your script fixed an issue I was having prior to using the script for the first time. :slight_smile:

I’ve added support for individual LED effects on Red 800 Series devices, as well as Blue Series devices on ZHA and Z2M. I’ve added a new parameter—LEDnumber_effect to indicate which LED the effect is being applied. It defaults to 'all' so your existing blueprints and script calls should not be impacted.

Done! Release 2025.04.09 supports individual LED effects. Sorry that took so long.

I can’t get this to work for me for some reason. I run the script after putting every thing in, and nothing gets sent per the logs. Included below is an example. Running script produces nothing including in the device logs. Am I missing something?

I’ve also tried the script version with no success

It looks like you’re trying to start a blink effect; is that right? You’ll have to set the effect_brightness to something between 0.1 – 10. A value of “11” means ignore / invalid, so it can’t set the effect.

Tried adjusting that but still no luck. The weird part is nothing is getting sent to the device log. I’m trying to switch over from node red and can get it to work there but not throught this script for some reason.

Can you send me the debug info? Steps 2 – 7 in post 108, is an example. Control LEDs and LED Effects on Inovelli Black, Red, and Blue Devices by Floor, Area, Group, Device ID, or Entity - #108 by kschlichter