Inovelli Red/Black/Blue Series - Change LED Colors Of Multiple Switches At Once

I have multiple Inovelli Red/Black Series switches that I like to periodically change the color of the LEDs. I got tired of having to go into the Z-Wave configuration of each switch to change them individually and created this automation to change them all at once. This currently supports the following switches:

  • LZW30 - Black On/Off
  • LZW30-SN - Red On/Off
  • LZW31 - Black Dimmer
  • LZW31-SN - Red Dimmer
  • LZW36 - Light/Fan Combo
  • VZW31-SN - Red 2-in-1
  • VZM31-SN - Blue 2-in-1

Disclaimer: I only own the Black On/Off, Red Dimmer and On/Off, and Blue 2-in-1. I have not been able to verify this works with the other switch’s but they are set up the same so there shouldn’t be any issue. Please let me know if you have one of these switches and can validate they function properly.

Screenshot:

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

Github:
https://github.com/JDIacobbo/Home-Assistant/blob/3ebd3a9c44d53885fe4566878437e4423ff16c57/CONFIG/blueprints/automation/Inovelli_Set_LED_Color_ZWave.yaml

Code:

  name: Inovelli LED Color Change
  description: Create automations for Inovelli dimmers and switches to set their LED color. Specific to Z-Wave devices using Z-Wave JS and Zigbee devices using ZHA.
  domain: automation
  input:
    inovelli_dimmer:
      name: Inovelli Dimmer
      description: List of available Inovelli dimmers.
      default: {}
      selector:
        target:
          device:
            - integration: zwave_js
              manufacturer: Inovelli
              model: LZW31-SN
            - integration: zwave_js
              manufacturer: Inovelli
              model: LZW31
    inovelli_switch:
      name: Inovelli On/Off Switch
      description: List of available Inovelli On/Off switches.
      default: {}
      selector:
        target:
          device:
            - integration: zwave_js
              manufacturer: Inovelli
              model: LZW30-SN
            - integration: zwave_js
              manufacturer: Inovelli
              model: LZW30
    inovelli_fan_light_combo:
      name: Inovelli Fan/Light Combo
      description: List of available Inovelli fan/fight combo switches.
      default: {}
      selector:
        target:
          device:
            integration: zwave_js
            manufacturer: Inovelli
            model: LZW36
    inovelli_red_2_in_1:
      name: Inovelli Red 2-in-1 Switch
      description: List of available Inovelli Red 2-in-1 switches.
      default: {}
      selector:
        target:
          device:
            integration: zwave_js
            manufacturer: Inovelli
            model: VZW31-SN
    inovelli_blue_2_in_1:
      name: Inovelli Blue 2-in-1 Switch
      description: List of available Inovelli Blue 2-in-1 switches.
      default: []
      selector:
        target:
          device:
            integration: zha
            manufacturer: Inovelli
            model: VZM31-SN

    color:
      name: Color
      description: 
        "Select the LED Color - 
        Off: 0 |
        Red: 1 |
        Orange: 21 |
        Yellow: 42 |
        Green: 85 |
        Cyan: 127 |
        Teal: 145 |
        Blue: 170 |
        Purple: 195 |
        Light Pink: 220 |
        Pink: 234 |
        White: 255"
      selector:
          number:
              min: 0
              max: 255

variables:
  color: !input color
  inovelli_dimmer: !input inovelli_dimmer
  inovelli_switch: !input inovelli_switch
  inovelli_fan_light_combo: !input inovelli_fan_light_combo
  inovelli_red_2_in_1: !input inovelli_red_2_in_1
  inovelli_blue_2_in_1: !input inovelli_blue_2_in_1 

trigger: []

action:
- choose:
  - conditions:
    - condition: template
      value_template: 'True'
    sequence:
      repeat:
        for_each:
          - inovelli_switch
          - inovelli_dimmer
          - inovelli_fan_light_combo
          - inovelli_red_2_in_1
          - inovelli_blue_2_in_1
        sequence:
          choose:
            - conditions: "{{ inovelli_dimmer|length > 0 and repeat.item == 'inovelli_dimmer' }}"
              sequence:
              # Set color for dimmers
              - service: zwave_js.multicast_set_value
                data:
                  command_class: '112'
                  property: '13'
                  value: "{{ color }}"
                target: !input inovelli_dimmer

            - conditions: "{{ inovelli_switch|length > 0 and repeat.item == 'inovelli_switch' }}"
              sequence:
              # Set color for switches
              - service: zwave_js.multicast_set_value
                data:
                  command_class: '112'
                  property: '5'
                  value: "{{ color }}"
                target: !input inovelli_switch

            - conditions: "{{ inovelli_fan_light_combo|length > 0 and repeat.item == 'inovelli_fan_light_combo' }}"
              sequence:
              # Set color for Fan/Light combo light
              - service: zwave_js.multicast_set_value
                data:
                  command_class: '112'
                  property: '18'
                  value: "{{ color }}"
                target: !input inovelli_fan_light_combo

            - conditions: "{{ inovelli_fan_light_combo|length > 0 and repeat.item == 'inovelli_fan_light_combo' }}"
              sequence:
              # Set color for Fan/Light combo fan
              - service: zwave_js.multicast_set_value
                data:
                  command_class: '112'
                  property: '20'
                  value: "{{ color }}"
                target: !input inovelli_fan_light_combo

            - conditions: "{{ inovelli_red_2_in_1|length > 0  and repeat.item == 'inovelli_red_2_in_1' }}"
              sequence:
              # Set color for Red 2-in-1 on
              - service: zwave_js.multicast_set_value
                data:
                  command_class: '112'
                  property: '95'
                  value: "{{ color }}"
                target: !input inovelli_red_2_in_1
              # Set color for Red 2-in-1 off
              - service: zwave_js.multicast_set_value
                data:
                  command_class: '112'
                  property: '96'
                  value: "{{ color }}"
                target: !input inovelli_red_2_in_1

            - conditions: "{{ inovelli_blue_2_in_1|length > 0  and repeat.item == 'inovelli_blue_2_in_1' }}"
              sequence:
                - repeat:
                    for_each: "{{ inovelli_blue_2_in_1.device_id }}"
                    sequence:
                      # Set color for Blue 2-in-1 off
                      - service: zha.set_zigbee_cluster_attribute
                        data:
                          cluster_type: in
                          endpoint_id: 1
                          cluster_id: 64561
                          attribute: 96
                          manufacturer: "4655"
                          ieee: >
                            {{ (device_attr(repeat.item, "identifiers")|list).0.1 }}
                          value: "{{ color }}"
                      # Set color for Blue 2-in-1 on
                      - service: zha.set_zigbee_cluster_attribute
                        data:
                          cluster_type: in
                          endpoint_id: 1
                          cluster_id: 64561
                          attribute: 95
                          manufacturer: "4655"
                          ieee: >
                            {{ (device_attr(repeat.item, "identifiers")|list).0.1 }}
                          value: "{{ color }}"

EDIT

I’ve changed from set_config_parameter to multicast thanks to rohan on the Inovelli forums.

EDIT

I’ve added support for the Blue 2-in-1 Switches using ZHA and fixed the Red’s not updating the ON state. I’ve preserved the ZWaveJS blueprint and uploaded a new blueprint containing both ZWaveJS and ZHA which is linked here. Both files are located on my github.

3 Likes

Thanks and useful for Inovelli switch users. For those that want to take advantage of changing led colors, I recommend the Homeseer 200/300 switches, which have 7 leds that can be programmed to show whether lights are ON or OFF in 7 different areas of your home (of course with other possible uses).
I have found that HS switches are better quality than Inovelli.

Let me add that I have found, in my and my friend’s experience, that Inovellis are of better quality than all others.

My experience is different as I have purchased (in the past) many Inovelli devices. They have been (as the name says) innovative and in a specific situation (in 3-way no space for smart switch) very useful. But more Inovelli switches have gone bad than Jasco, Homeseer or Zooz. Lately I only buy Zooz devices, unless another brand offers something special.

Great tool!
I would love if brightness could be included.
Thank you very much for the good work!

1 Like

This is just what I was looking for, even if I didn’t realize it! I’ve been wanting to do exactly this for notifications and statuses, so I’ll give it a try once i get these switches set up

1 Like

Any chance you can include options for the flashing functions the led bars can perform? I have a NR module that does this and also has timers for the solid and flashing periods so you can have them auto set back to whatever your default color is. This is great use for notifications. Example my bed room red dimmer flashes red when the garage door is open past 8pm for longer than 5 min. I then click the paddle down 2x to shut the garage door and once that state is received, the led goes back to solid blue.

1 Like

Works great. Enhancements for brightness and flashing functions would be nice. Maybe I’ll attempt a fork. I’ve yet to try and make my own blueprint but we’ll see if I can figure it out.

Any advice on how to troubleshoot why when running the automation, only one switch changes color?

Are they all the same switch type or different types? What does the trace say? Are there any errors on any of the branches?

I was using one automation with a one red dimmer and two black on/off switches connected through Zwave JS.

When split to two automations (one for dimmer, another for switch), the automation works perfectly.

The only error in the trace is below:

Choose: Option 1 executed
Stopped because an error was encountered at January 25, 2024 at 12:36:59 AM (runtime: 0.27 seconds)
‘status’