Inovelli Red Series VZW31-SN Red Series 2-1 Switch (ZWave-JS)

With Inovelli’s new Red series 2-1 switch shipping, I wanted to share my blueprint that I use for handling button presses on them. It supports all of the 1-5x taps on the up/down/config button as well as the second set of 1-5x taps that can be done on the aux switch (if so configured).

The blueprint is designed so you can use it for multiple switches that each have the same commands when you tap them.

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

Source code is here if anyone wants to take a look. Please feel free to contribute on GitHub with improvements.

4 Likes

Thank you for sharing this! Its awesome and really helped me!

I did find one thing I wanted that I couldn’t achieve with this script. I realized I wanted to have it so I could tap “Up 2x” to set the respective light to 100%, and “Down 2x” set to 15%. The way this script is setup is that any entity selected can trigger the action, but the action (service: light.turn_on) would always act on whatever switch was hardcoded in (so every light “Up 2x” would set a specific lights brightness to 100%, not the calling light).


I was able to modify your script to achieve what I wanted. I had to change your selector from Device to Entity (sadly, from what I found, this removes the ability to filter by the specific manufacturer and model of switches, which was a cool feature of your version). I then created a variable list of device_ids using “device_id(“light.name”)” so I could have both the entity_id and device_id as variables.

device_ids: >
  {% set id_list = namespace(list=[]) %}
  {% for i in range(0, entity_names | count) %}
    {% set id_list.list = id_list.list + [device_id(entity_names[i])] %}
  {% endfor %}
  {{id_list.list}}

I then created another variable that steps through the device_id array and finds the matching one to the trigger event data, setting the variable name to the entity_id that triggered the script run.

selected_entity: >
  {% for i in range(0, entity_names | count) %}
  {% if trigger.event.data.device_id in device_ids[i] %}
    {{ entity_names[i] }}
  {% endif %}
  {% endfor %}

From here I can create an automation with this blueprint and use the action selector you created to put in a service call that uses the variable I created above. I can add all of my VZW31 switches to this one script and when triggered the correct lights % is changed.

service: light.turn_on
data:
  brightness_pct: 100
target:
  entity_id: |
    {{selected_entity}}

I doubt this is the best way to achieve what I wanted and I don’t know “best practices” for these sorts of things so I didn’t think it was worth figuring out GitHub just to share some iffy code. But figured I’d mention it in case you wanted to add some sort of similar support to your automation.

Thank you again for the automation, very helpful for me!

Hey @dirtdagg - thanks for sharing your modifications and use case. I think I’ve got a couple of easier ways that you can achieve this:

  1. The VZW21-SN switches have built in support for double up to a specific level and double down to a specific level. Take a look at the parameters 53-56. In your case, I believe you would want to set the following:
  • Param 53 to 1
  • Param 54 to 1
  • Param 55 to 99
  • Param 55 to 15
  1. I haven’t tested this but you should be able to do this singular service call instead without needing to modify the blueprint or add any of the intermediate variables.
service: light.turn_on
data:
  brightness_pct: 100
target:
  device_id: |
    {{trigger.event.data.device_id}}

This should allow you to target the specific device that triggered the blueprint.

I figured there were better ways to do what I wanted. My script changes would let me expand to other things than just a double up/down that the switch provides support for, but its good to know those parameters exist. These switches, although not my first Z-Wave devices, are the first devices I’ve started actually looking at the params and more details specs customizing. I appreciate you pointing these out to me.

I’ve never used device IDs before, so I didn’t know there was a way to use that in place of entity IDs in services like turning on lights.

Thanks for following up and letting me know both of those arguably better methods for achieving what I wanted!

1 Like

Does anyone know if blueprint can be used for a LZW31-SN? I installed the blueprint but when I choose a device none of my switches are shown.

This is the one for the LZW31-SN: ZWave-JS - Inovelli LZW31-SN Red-Series Dimmer

Thanks so much for the fast reply. I was trying to find out if it was possible to run a scene with a double press of the config button. Do you know if this is at all possible on the LZW31-SN?

I don’t believe that switch supports multiple taps on the config button as scenes.