Inovelli Switches - How to create zwave.scene_activated config for each switch

I’m wondering, how would I best create an automation for a zwave.scene_activated, which handles the 2 x Up and 2 x Down button presses for each switch. So that 2 x Up presses puts each switch at max brightness, and 2 x Down presses puts each switch at 1% brightness.

Ideally I don’t want to create 2 automations for each switch, as there are about 20 switches.

I’m following the instructions at: https://support.inovelli.com/portal/en/kb/articles/how-to-setting-up-scenes-in-home-assistant

I’ve got the following setting for 3 downstairs Inovelli switches working well to create a scene (Below). When you tap up on any of the 3 inovelli switches downstairs common area it turns all rooms on:

alias: Scene - Downstairs All Lights On
description: ''
trigger:
  - platform: event
    event_type: zwave.scene_activated
    event_data:
      node_id: 10
      scene_data: 7920
      scene_id: 2
  - platform: event
    event_type: zwave.scene_activated
    event_data:
      node_id: 11
      scene_data: 7920
      scene_id: 2
  - platform: event
    event_type: zwave.scene_activated
    event_data:
      node_id: 19
      scene_data: 7920
      scene_id: 2
condition: []
action:
  - service: light.turn_on
    entity_id: >-
      light.inovelli_lzw31_sn_dimmer_red_series_level_4,
      light.inovelli_lzw31_sn_dimmer_red_series_level_10,
      light.inovelli_lzw31_sn_dimmer_red_series_level_3
    data:
      transition: 0
      brightness_pct: 70
mode: single

I was able to get this working. Here is what I had to do:

  1. I had to go into each device and rename the zwave Entity ID, to match the light Entity ID. For some reason they were out of order on mine. So for example, for switch with Node ID 13, I had to make sure the zwave Entity ID was zwave.inovelli_lzw31_sn_dimmer_red_series_12 , and the light Entity ID was set also to 13 on the end light.inovelli_lzw31_sn_dimmer_red_series_level_13

  2. Then I created one automation for the up (The replace jinja is modifying the zwave entity id to match the corresponding light entity id) :

alias: Inovelli - Scene - 2X Up Press
description: ''
trigger:
  - platform: event
    event_type: zwave.scene_activated
    event_data:
      scene_data: 7860
      scene_id: 2
condition: []
action:
  - service: light.turn_on
    data:
      entity_id: >-
        {{
        trigger.event.data.entity_id.replace('zwave.','light.').replace('series_','series_level_')
        }}
      brightness_pct: 85
      transition: 0
mode: single
  1. Created another Automation for the 2 x down button press:
alias: Inovelli - Scene - 2X Down Press
description: ''
trigger:
  - platform: event
    event_type: zwave.scene_activated
    event_data:
      scene_data: 7860
      scene_id: 1
condition: []
action:
  - service: light.turn_on
    data:
      entity_id: >-
        {{
        trigger.event.data.entity_id.replace('zwave.','light.').replace('series_','series_level_')
        }}
      brightness_pct: 1
      transition: 0
mode: single
1 Like

Thanks for sharing! Just started adding Inovelli to our house and this certainly saved me some headaches.

@wsnipes Any idea how this could be done when using OpenZWave since it doesn’t appear to expose zwave.<entity_id>?

I was able to make it work when calling to a single entity_id, but can’t figure out how to template this.

alias: Inovelli - Scene - 2X Up Press (Duplicate)
description: ''
trigger:
  - platform: event
    event_type: ozw.scene_activated
    event_data:
      scene_value_id: 4
      scene_id: 2
condition: []
action:
  - service: light.turn_on
    data:
      entity_id: light.master_bedroom2_light
      brightness_pct: 100
      transition: 1
mode: single

Why not just use the regular non-open zwave like I am using?

But for your case… I think what I did was print the entity_id to a notification in the web UI so I could see what it was. Then I made the template based around what result I saw there. So something like this, and get the response and then let me know what it is?

alias: Inovelli - Scene - 2X Up Press (Duplicate)
description: ''
trigger:
  - platform: event
    event_type: ozw.scene_activated
    event_data:
      scene_value_id: 4
      scene_id: 2
condition: []
action:
  - service: light.turn_on
    data:
      entity_id: light.master_bedroom2_light
      brightness_pct: 100
      transition: 1
  - service: persistent_notification.create
    data:
      title: Test printing the entity id
      message: 'Hello this is my entity id {{ trigger.event.data.entity_id }}'
mode: single

I think the only reason I keep going back to OZW is, at some point that will be the preferred z-wave of HA (I think ha!)

Appreciate you trying to help getting this to work with OZW.

The print out for the notification is blank for the template portion:

Hello this is my entity id

Hmm. I’m new to home assistant, but it looks like maybe OZW is not returning the entity_id from the trigger? I tested this on my with regular zwave and it returns the full entity_id name of my device.
I’m a horrible programmer, so you might need to get someone else that is a coder to help more… Sorry I would install OZW, but I just got all the lights in my house working!

No worries at all, the idea of piping the event to a notification was an excellent idea.

Everything is working great with the regular zwave integration, so I can jump back to that if I can’t make sense of this.

Thanks again for your help on this!

Hi guys, reviving an old thread…my question seems relevant here (I think!).

I’m wondering if there is any way to derive the AREA from a z-wave key pressed event on an inovelli switch.

Here is what I’m trying to do:

Let’s say the kitchen has 5 inovelli switches in it. I want to be able to push down 2X on ANY of the switches in the kitchen to turn off all the lights in the KITCHEN (‘area’). I don’t want to make a script or a node red flow for each switch.

Here’s the output from a debug node in node red that picks up on z-wave events. The device ID seems to be the only thing to pick up from, so I’m wondering if anyone has any ideas.

could also use node ID, but that doesn’t solve my problem.