Inovelli Z-Wave Red Series Notification LED

According to the change log, white was added in firmware 1.45, so was not originally included and was added 6/22/20

It states you can set the LED bar to white by publishing a value of 255 to parameter 13.

Since it was added later on, I would think this would explain its absence from the Inovelli toolbox.

I attempted to confirm this after updating my dimmer to v1.57 Z-Wave MCU (Target 0) and v1.45 Holtek MCU (Target 1). Unfortunately, setting the color to 255 still displays a red color. I also tried directly setting parameter 13 to 255 and nothing happened.

I also copied @kschlichter’s spreadsheet, and selected white as a parameter and the resulting value still turned the led red.

I have white as an option in the Z-Wave JS to MQTT web UI, but I’m on firmware 1.61 / 1.45 so maybe that’s the difference? Punching 33490687 into parameter 16 successfully set the switch effect to solid white forever.

I’m still on older firmware 1.47 Z-wave MCU and 1.41 Holtek MCU

I can confirm setting parameter 13 to 255 directly in the zwavejs2mqtt web UI changed the LED to white on my dimmer as well. Using the zwave_js:set_config_parameter service in Home Assistant also successfully changed the LED to white.

Initially, I updated to 1.47 to use the parameter 51 “instant on” option (remove 700ms delay). At the time, even though everything showed successful with the firmware update, that option didn’t work initially. When I applied the firmware update again, it worked the second time. My only other thoughts to get white working would be to try and apply the firmware updates again in case something didn’t stick, or possibly that there was a problem in 1.57 that got fixed again in 1.61

White is now included in the toolbox since Jan 5, 2021.
Are you using the version on git or did you clone it?

image

Capture

May 26, 2022 change: Added support for the White LED color.
  * Support for the color white was supposedly added to the LZW31-SN dimmer [in Firmware 1.45 accoding to Inovelli](https://support.inovelli.com/portal/en/kb/articles/firmware-change-log-lzw31-sn-dimmer-switch-red-series).
  * I ended up having to flash both LZW31-SN Z-Wave 1.61 and LZW31-SN Holtek 1.45 firmware twice before I could see white light.

@mwav3 and @kschlichter:
I tried the 1.61 beta Z-wave firmware instead of 1.57, and I tried reflashing the 1.45 Holtek firmware for good measure. 255 now produces white light! Thank you both for the suggestions!

@takissd and @RarelyComplete:
Thanks for the heads up. I don’t know why I didn’t think to update the firmware on my dimmer, but it works now.

Updated script

1 Like

Not to completely derail this thread, but I have a question for those of you who upgraded your switches (with what I assume was the OTA method). I recently did one of my switches via OTA Z-Wave JS, using the ZWAVEJS2MQTT integration, and both targets updated successfully. However, I wasn’t expecting that I would have to exclude and re-include the device to get Z-Wave JS and Home Assistant to recognize it after the update.

Z-Wave JS did attempt to re-interview the device after the upgrade but eventually failed. Is this common? I have several more switches to update, but I’m thinking twice if I need to go through all this with each one.

No, I did not have to remove/re-add my Inovelli dimmer.

The Zwave JS 2 MQTT web interface showed a progress ring to show it was working on the upgrade for each firmware. I sent them over one at a time, waiting for the first to complete before uploading the second.

1 Like
May 26, 2022 - update #2
1. This is the first release only supporting Z-wave JS!
2. Added support to send the same notification to multiple Inovelli switches and dimmers. (Thanks to Danny Schuh)'s contribution to the blueprint.)

From now on only the Z-Wave JS versions of this script and the blueprint will only get updates. The OpenZWave and Zwave integrations were officially removed from Home Assistant version 2022.4.

If you are still using either of the old integrations on a old version of Home Assistant, you can download the final version of that script here.

Updated script (Z-wave JS only)

1 Like

I’ve done several firmware updates. Most of the time, all config and zwave settings were fine and the switch did not need to be reincluded.

One time though, the red series dimmer switch completely factory reset and I had to reinclude and resend all the config settings. It was in the same room as the zstick, and I only did the one firmware update and tried not to use any switches or create zwave traffic, so I can’t think of anything I did to cause this. I guess it depends on the firmware version?

I’ve been skittish about applying zwave firmware updates since that happened. I probably won’t unless I see support in the change log for a new feature I really want.

That’s odd, because this switch was also in the same room as my Zooz Z-Wave stick. Probably a coincidence, but you never know.

Hello, I just recently found this script and I’m playing with it on my LZW36 fan/light switch. I have been able to make the LED strip for the light button work with the script but the fan button doesn’t seem to respond to commands. Is there something special I need to do to get the fan LED strip to use the effects?

These are the entities exposed

and my automation YAML is simply

service: script.1655124714448
data:
  entity_id:
    - light.red_series_fan_light_switch
    - fan.red_series_fan_light_switch_2
  color: Green
  level: 10
  effect: Chase
  duration: 5 Seconds

and this way the light LED strip responds, the fan does not. I’ve tried all 3 entities in my YAML as well but it’s the same so I’m thinking there’s something I’m missing.

Thank you!

You have to make it a separate call and add: model_type: combo_fan to the data.

EDIT: depends on which version of the script you’re using as well. It looks like the script misses checking for the fan domain as well.

EDIT 2: Something like this may help:

              model_type: |
                {%- if model_name is string %}
                  {%- if "LZW31" in model_name %}
                    dimmer
                  {%- elif "LZW36" in model_name %}
                    {%- set domain = repeat.item.split(".")[0] %}
                    {%- if domain == "fan" %}
                      combo_fan
                    {%- else %}
                      combo_light
                    {%- endif %}
                  {%- else %}
                    switch
                  {%- endif %}
                {%- else %}
                  dimmer
                {%- endif %}

Hi yes, so the version of the script I’m running already has this in it

I’m running the version of the script linked here Inovelli Z-Wave Red Series Notification LED - #175 by BrianHanifin

#1 Don’t post images of text.

#2 The code you’ve posted does not contain the modification I’ve posted. Using what I have posted will change the fan LED on the LZW36. (I’ve tested it locally)

  1. Sorry for posting images of text. I can see how that would be upsetting.
  2. I do see the difference in your code vs what’s existing. I’ll update what’s in the script with that. Thank you kindly.

It’s not upsetting more of a courtesy for those who may be color blind or have vision problems.

Enjoy!

Your modification works fantastically. Thank you again!

1 Like

I’m having issues getting the blueprint to work (and I’m a noob, so I don’t know how to just install the script either). I’m getting the following in my log:

Logger: homeassistant.components.websocket_api.http.connection
Source: components/blueprint/importer.py:160
Integration: Home Assistant WebSocket API (documentation, issues)
First occurred: 7:34:30 PM (1 occurrences)
Last logged: 7:34:30 PM

[140257971047968] Error handling message: Unknown error (unknown_error)
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/decorators.py", line 27, in _handle_async_response
    await func(hass, connection, msg)
  File "/usr/src/homeassistant/homeassistant/components/blueprint/websocket_api.py", line 68, in ws_import_blueprint
    imported_blueprint = await importer.fetch_blueprint_from_url(hass, msg["url"])
  File "/usr/src/homeassistant/homeassistant/components/blueprint/importer.py", line 225, in fetch_blueprint_from_url
    imported_bp = await func(hass, url)
  File "/usr/src/homeassistant/homeassistant/components/blueprint/importer.py", line 160, in fetch_blueprint_from_github_url
    resp = await session.get(import_url, raise_for_status=True)
  File "/usr/local/lib/python3.9/site-packages/aiohttp/client.py", line 640, in _request
    resp.raise_for_status()
  File "/usr/local/lib/python3.9/site-packages/aiohttp/client_reqrep.py", line 1004, in raise_for_status
    raise ClientResponseError(
aiohttp.client_exceptions.ClientResponseError: 404, message='Not Found', url=URL('https://raw.githubusercontent.com/brianhanifin/Home-Assistant-Config/master/blueprints/script/brianhanifin/inovelli_led.yaml')

anyone have any idea what I’m doing wrong?

@BrianHanifin I’ve been using a similar inovelli_led.yaml from this Inovelli LED for Garage & Door Lock Blueprint for some time, but recently have run into issues that I’ve been unable to solve myself.

I found this thread and tried your script, which appears to solve my issues (as I believe it has to do with the deprecated Z-wave protocols is was evaluating or something along those lines). Anyway, the script works great for this Blueprint, except I am getting this error related to the “for_each” part of the repeat section.

Logger: homeassistant.components.script.inovelli_led
Source: helpers/script.py:409
Integration: Script (documentation, issues)
First occurred: 20:09:18 (1 occurrences)
Last logged: 20:09:18

: Repeat ‘for_each’ must be a list of items in , got: light.mudroom

This automation is only dealing with one Inovelli switch, so there’s not a list of entities it’s going to update. I’ve tried adjusting the script to only do the one, but I haven’t figured out how to resolve this error. Do you have any suggestions on how I should modify it so it’s OK with only one entity and not expecting an entire list? I’d really appreciate any pointers you can provide. Thanks for posting this.