OZW - Inovelli Gen 1 NZW30-SN Switch

Based on existing inovelli blueprints by @vbflo and @kylerw, this is a basic blueprint for the Inovelli Gen 1 NZW30-SN Switch, specifically for use with OZW.

Use this blueprint to configure actions when a scene is activated.

:warning: This blueprint could use improvement!
At this time, it is not possible to obtain the node’s id when using the device selector.

  • The list of available dimmers is for reference only.
  • The node id must be entered manually.
blueprint:
  name: "Inovelli Gen 1 NZW30-SN Switch"
  description: Create automations for the Inovelli Gen 1 NZW30-SN switch using the OZW integration. 
  domain: automation
  input:
    inovelli_switch:
      name: Inovelli Switch
      description: "List of available inovelli NZW30-SN switches.
      This list is only a reference. At this time, it is not possible
      to obtain the node's id using the device selector."
      selector:
          device:
            integration: ozw
            manufacturer: Inovelli
            model: NZW30 Smart Switch (w/Scene)
    ozw_node_id:
      name: Node ID
      description: "Enter the node id for an available NZW30-SN switch you wish
      to configure. For now, this field is required. At this time, it is not
      possible to obtain the node's id when using the device selector."
    ## Paddle Press 1 time
    button_a:
      name: Button A - Up/On press 1x
      description: "Action to run, when the button is pressed one time.
      Typically, you will only set this if you have disabled the relay."
      default: []
      selector:
        action: {}
    button_b:
      name: Button B - Down/Off press 1x
      description: "Action to run, when the button is pressed one time.
      Typically, you will only set this if you have disabled the relay."
      default: []
      selector:
        action: {}
    ## Paddle Held Down
    button_a_held:
      name: Button A - Up/On held down
      description: "Action to run, when the button is held down."
      default: []
      selector:
        action: {}
    button_b_held:
      name: Button B - Down/Off held down
      description: "Action to run, when the button is held down."
      default: []
      selector:
        action: {}
    ## Paddle Press 2 times
    button_a2:
      name: Button A - Up/On press 2x
      description: "Action to run, when the button is pressed two times."
      default: []
      selector:
        action: {}
    button_b2:
      name: Button B - Down/Off press 2x
      description: "Action to run, when the button is pressed two times."
      default: []
      selector:
        action: {}
    ## Paddle Press 3 times
    button_a3:
      name: Button A - Up/On press 3x
      description: "Action to run, when the button is pressed three times."
      default: []
      selector:
        action: {}
    button_b3:
      name: Button B - Down/Off press 3x
      description: "Action to run, when the button is pressed three times."
      default: []
      selector:
        action: {}
    ## Paddle Press 4 times
    button_a4:
      name: Button A - Up/On press 4x
      description: "Action to run, when the button is pressed four times."
      default: []
      selector:
        action: {}
    button_b4:
      name: Button B - Down/Off press 4x
      description: "Action to run, when the button is pressed four times."
      default: []
      selector:
        action: {}
    ## Paddle Press 5 times
    button_a5:
      name: Button A - Up/On press 5x
      description: "Action to run, when the button is pressed five times."
      default: []
      selector:
        action: {}
    button_b5:
      name: Button B - Down/Off press 5x
      description: "Action to run, when the button is pressed five times."
      default: []
      selector:
        action: {}
mode: single
max_exceeded: silent
variables:
  device_id: !input inovelli_switch
  ozw_node_id: !input ozw_node_id
trigger:
  - platform: event
    event_type: ozw.scene_activated
condition: "{{ trigger.event.data.node_id == (ozw_node_id | int) }}"
action:
  - variables:
      scene_id: "{{ trigger.event.data.scene_id }}"
      scene_value_id: "{{ trigger.event.data.scene_value_id }}"
  - choose:
    - conditions: "{{ scene_id == 2 and scene_value_id == 1 }}"
      sequence: !input button_a
    - conditions: "{{ scene_id == 1 and scene_value_id == 1 }}"
      sequence: !input button_b
    - conditions: "{{ scene_id == 2 and scene_value_id == 3 }}"
      sequence: !input button_a_held
    - conditions: "{{ scene_id == 1 and scene_value_id == 3 }}"
      sequence: !input button_b_held
    - conditions: "{{ scene_id == 2 and scene_value_id == 4 }}"
      sequence: !input button_a2
    - conditions: "{{ scene_id == 1 and scene_value_id == 4 }}"
      sequence: !input button_b2
    - conditions: "{{ scene_id == 2 and scene_value_id == 5 }}"
      sequence: !input button_a3
    - conditions: "{{ scene_id == 1 and scene_value_id == 5 }}"
      sequence: !input button_b3
    - conditions: "{{ scene_id == 2 and scene_value_id == 6 }}"
      sequence: !input button_a4
    - conditions: "{{ scene_id == 1 and scene_value_id == 6 }}"
      sequence: !input button_b4
    - conditions: "{{ scene_id == 2 and scene_value_id == 7 }}"
      sequence: !input button_a5
    - conditions: "{{ scene_id == 1 and scene_value_id == 7 }}"
      sequence: !input button_b5

Blueprint Preview

:information_source: You do not have to configure every action when using this blueprint.

Thanks for sharing, very helpful. Was able to modify for use with my Zooz switches.

1 Like

Would you share your modifications for Zooz switches?

You should be able to use the following to get the node_id of the input entity automatically:

variables:
  device: !input 'inovelli_switch'
  ozw_node_id: '{{ state_attr(device,''node_id'') }}'

I’m using that here: Inovelli Red Switches (LZW30-SN)

Thanks for the suggestion @kylerw, however this does not work when using the device selector (devices don’t have attributes)

As I’m sure you’re aware, there is no ideal method for filtering or selecting the correct scene enabled devices. I found using the entity selector is less ideal, since it can not be used to correctly filter only the scene enabled devices. (It requires to much effort for me to rename my scene enabled devices to distinguish them apart in the entity list) - plus I have other z-wave devices, such as scene controllers and remotes which do not show an entity that can be used to trigger scene based automations from. These devices require using the device selector.

For future use I’m banking on the device selector as being the correct way to filter and chose scene enabled z-wave devices.

I have opened an issue on GitHub to hopefully see this addressed


I’ve also opened a feature request, to allow using a list in the selector. This would for example, allow 4 models of inovelli switches/dimmers to share the same blueprint