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

Thanks, this is very helpful.

I have a combination of the older Inovelli Red (LZW31-SN) and the newer (VZW31-SN).

I tested the following on the VZW31-SN:

  • The ‘area’ section does not seem to be appearing, but it does on my other switches. I confirmed I’ve identified the area for “VZW31-SN”.
  • The ‘Device’ section is what I am using, and it is populating the switch correctly.
  • ‘LED Brightness’ When On (non-effect) works.
  • ‘LED Brightness When Off’ seems to defer to the ‘Effect’ setting, which is fine for me.
  • The ‘Duration of Effect’, ‘Effect’, ‘Effect Brightness’ and ‘Effect Color’ are working as well.

If you need me to test anything else, let me know. Thanks for putting this together!

You don’t have the option to select area, or do I misunderstand you?

I only have the option for my three LZW31-SN and not my one VZW31-SN switch. It does show up in the device field however.

Edit: On second look those ‘areas’ don’t match any of my Inovelli switches. Maybe its a me problem.

Settings → Devices & Services → Z-wave. Then, under “Z-Wave JS” click the option for devices. Mine says 56 devices. Open your VZW31-SN and send me a screenshot like the one below. The filter should be showing areas with “LZW36, LZW30-SN, LZW31-SN, VZW31-SN” devices in the Z-Wave JS integration and I wonder if the VZW31-SN shows up as something else.

image

Im using Zwave2MQTT, maybe thats why?

image

Another screenshot showing all of my Inovelli devices if that helps:

I’m using the Z-Wave JS UI container (which used to be Z-Wave JS to MQTT) but I’m bringing it into Home Assistant through the Z-Wave integration and not the MQTT integration. If you’re bringing it in through MQTT that could be the issue but the area and device selectors are using - integration: zwave_js as a filter so I’d expect similar results from both. I can probably make this work through MQTT with a fair amount of work. Since smenzer added code to add the VZW31-SN through MQTT maybe it wouldn’t be too bad.

If you’re using the Z-Wave integration, maybe the issue is in the area selector. Perhaps it can’t take a list of device models. Can you change this bit of code near the top from this:

  area:
    name: Area
    description: Area names or IDs containing Inovelli devices.
    required: false
    example: 'Family Room, 7d7a44fe4d0f4bee947c430d2714e45c'
    selector:
      area:
        multiple: true
        device:
          - integration: zwave_js
            manufacturer: Inovelli
            model: LZW36, LZW30-SN, LZW31-SN, VZW31-SN
          - integration: mqtt
            manufacturer: Inovelli
            model: Inovelli 2-in-1 switch + dimmer (VZM31-SN)

to this:

  area:
    name: Area
    description: Area names or IDs containing Inovelli devices.
    required: false
    example: 'Family Room, 7d7a44fe4d0f4bee947c430d2714e45c'
    selector:
      area:
        multiple: true
        device:
          - integration: zwave_js
            manufacturer: Inovelli
            model: LZW36
          - integration: zwave_js
            manufacturer: Inovelli
            model: LZW30-SN
          - integration: zwave_js
            manufacturer: Inovelli
            model: LZW31-SN
          - integration: zwave_js
            manufacturer: Inovelli
            model: VZW31-SN
          - integration: mqtt
            manufacturer: Inovelli
            model: Inovelli 2-in-1 switch + dimmer (VZM31-SN)

If that still gives you goofy results, go to developer tools → template, delete what you have on the left side and paste this. It’ll give you a list of light.* switch.* and fan.* entities for each area in your house and tell you what the model is. If you find the Inovelli entities with anything other than LZW36, LZW30-SN, LZW31-SN, or VZW31-SN (e.g. “Inovelli 2-in-1 switch + dimmer (VZM31-SN)”) let me know. It’s going to give you a lot of blank spaces, so you might want to copy the results into a text editor that’s easier to work with.

{{ integration_entities(zwave_js) }}
{% set allowed_domains = 'fan, light, switch' %}
{% set area_array = namespace(area_list=[]) %}
{% set area_array.area_list = areas() %}

{% for area in area_array.area_list %}
  {{ area_name(area) }}
  {% for ent in area_entities(area) %}
    {% if ent.split('.')[0] in allowed_domains %}
      {{ device_attr(ent,'model') }}: {{ ent }}
    {% endif %}
  {% endfor %}
{% endfor %}

Thanks for the detailed instructions.

I thought about this after posting: I am also using Z-Wave JS (formally Zwave2MQTT) so that can’t be it.

Nevertheless, I did follow your directions and am still running into the same issue. With the template specifically, I only see the four switches, and they all appear to match the correct models. When I look at the ‘Bedroom’ area it shows only my Lutron switches and no Inovelli, but as you’ve seen in the ‘area’ part of the script it is pulling as if there is a valid light there. I’m not overly concerned since the rest of the script seems to be working.

Do the entities show up in a different area? It dawned on me last night that the model names must be right because, like the integration, it’s the same filter that’s working for the “Devices” selector. There must be something about the area specifically for these entities that’s causing confusion. I was thinking maybe the entity was assigned to a different area than the device but it sounds like there’s no Inovelli entity showing up in the Bedroom but it’s being selected anyway. I genuinely don’t understand how the selector thinks there’s an entity in that area if the code in the template editor shows that it’s assigned somewhere else.

At this point I think it’s something in your setup and not my script but I’d be interested in pursuing this in another thread to understand it better. We’d probably get help from the rest of the community as well. I think I’m out of ideas. I feel like the “areas” feature is one of the best in this script. I template a lot of automations that basically say “whatever room that just happened in, configure those Inovelli’s with this alert effect.” That’s not going to work for you right now, it seems.

That’s what I’m finding weird, is that the ‘areas’ look to be correct. I downloaded Spook from HACS to try and clean up my system a bit and remove old entities. Looks as though it actually changed what is appearing under the area but they are still not right.

The screenshot above does show confirmation that the ‘Basement’ area houses the ‘Hot Tub Lights’ so all appears fine there. ‘Devices’ selector continues to work 100% correctly for both models of switches i own.

I can confirm there is no Inovelli switch in the bedroom, just Lutrons. The template you provided does show correctly for all 4 switches. I like the ‘area’ idea although admittedly i dont put much focus on it when configuring until recently when i used auto entities for light switches in various rooms. That prompted me to start the clean up since it makes dashboarding so much easier.

I’m genuinely interested in seeing how this can be fixed and would love to help if you are looking to start another thread.

[Update 2024-01-24] Some of the Blue Series effects didn’t map right to the Inovelli toolbox, so I suspect the wrong effects were showing up for users with Blue Series devices.

Support was added for the original Black 500 Series devices. @thechickening was asking for this awhile back.

I’ve also mapped all of the new Red 800 Series and Blue Series effects back to the old Red 500 Series devices. If you have a mix of devices that support the new effects and those that don’t (Red 500 series or Black 500 Series), you shouldn’t get any errors. The effects have been remapped to something the device does support (or entirely disabled, in the case of Black 500 Series devices).

Effects have been renamed so they’re easier to find in the dropdowns. Inovelli’s effects (e.g.):

  • Blink
  • Fast Blink
  • Slow Blink

Are now:

  • Blink Slow
  • Blink Medium
  • Blink Fast

As always, I’ve tried to maintain backwards compatibility so if you have automations or templates using “fast blink” that has been mapped onto Blink Fast and it’ll continue to work. You don’t need to update anything.

I’ve renamed the github project as well, since it’s not much more than just the Red Series. The old link should still work.

[Update 2024-01-28] Added a blueprint on the Blueprints Exchange.

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

If anyone has a Red 800 Series “2-in-1” device, I could use some help testing some new code to enable brightness in steps of 1 instead of 10. Previously the script and blueprint could only set brightness to 10%, 20%, … 100%. The new code will set it from 1% to 100% in steps of one for Red 800 Series and Blue Series devices. I don’t have any Red 800 Series devices to test.

Red 500 Series and Black 500 Series are limited by the device to only support steps of 10% so this feature doesn’t apply to these devices.

Beta code to test

How to import and test:

  • In Home Assistant:
    • Click on “Settings” in the left-hand navigation pane.
    • “Automations & Scenes”
    • “Scripts” near the top in a horizontal menu / tab.
    • Blue, “+ Add Script” button in the lower-right.
    • “Create new script”
    • In the upper-right click the vertical ellipsis (three dot) menu and then “edit in Yaml”.
    • Delete the pre-populated lines.
  • Open a new tab
  • In Github (“Beta code to test” link above)
    • Since this hasn’t been merged into master yet, in the left-hand nav pane, under files, there’s a drop-down that says “master”. Change that to “Zigbee2MQTT-Inovelli-Device-Name-Change”.
    • On the right side, click the “copy raw file” in between the “raw” and “download” buttons.
  • In Home Assistant:
    • Paste the contents into the Yaml editor.
    • In the vertical ellipsis select “Edit in Visual Editor”
    • Blue, “Save Script” button in the lower right.

To test the script, you can use “developer tools” → “Services” and type “Inovelli LED Settings and Effects” to use the UI, and “Go to Yaml Mode” to see the code for automations. That code can be modified with templates.