ZWave-JS Inovelli NZW30S

Using the new Zwave-JS this blueprint configures automations for the generation one NZW30S switches from Inovelli.

Please note that this blueprint does not specify Inovelli as the manufacturer for the selector as there seems to be some weirdness in the ZW config files / actual names for some of these earlier Inovelli devices.

Thanks to @troy and @kylerw

blueprint:
  name: Inovelli NZW30S Switch (ZWave-JS)
  description: Create automations for the Inovelli NZW30S Switch using the ZWave-JS integration.
  domain: automation
  input:
    inovelli_switch:
      name: Inovelli Switch
      description: List of available Inovelli NZW30S Switch.
      selector:
        device:
          integration: zwave_js
          model: NZW30S
    button_a:
      name: Button A - Up/On press 1x
      description: Action to run, when the button is pressed one time.
      default: []
      selector:
        action: {}
    button_b:
      name: Button B - Down/Off press 1x
      description: Action to run, when the button is pressed one time.
      default: []
      selector:
        action: {}
    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: {}
    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: {}
    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: {}
    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: {}
  source_url: https://community.home-assistant.io/t/zwave-js-inovelli-nzw30s/280868
mode: single
max_exceeded: silent
variables:
  device_id: !input 'inovelli_switch'
trigger:
- platform: event
  event_type: zwave_js_value_notification
condition: '{{ trigger.event.data.device_id == device_id }}'
action:
- variables:
    button_id: '{{ trigger.event.data.property_key_name }}'
    press_count: '{{ trigger.event.data.value }}'
- service: logbook.log
  data:
    name: Button Id
    message: '{{ button_id }}'
- service: logbook.log
  data:
    name: Press Count
    message: '{{ press_count }}'
- service: logbook.log
  data:
    name: Device
    message: '{{ zwave_device }}'
- choose:
  - conditions: '{{ button_id == "002" and press_count == "KeyPressed" }}'
    sequence: !input 'button_a'
  - conditions: '{{ button_id == "001" and press_count == "KeyPressed" }}'
    sequence: !input 'button_b'
  - conditions: '{{ button_id == "002" and press_count == "KeyPressed2x" }}'
    sequence: !input 'button_a2'
  - conditions: '{{ button_id == "001" and press_count == "KeyPressed2x" }}'
    sequence: !input 'button_b2'
  - conditions: '{{ button_id == "002" and press_count == "KeyPressed3x" }}'
    sequence: !input 'button_a3'
  - conditions: '{{ button_id == "001" and press_count == "KeyPressed3x" }}'
    sequence: !input 'button_b3'
  - conditions: '{{ button_id == "002" and press_count == "KeyPressed4x" }}'
    sequence: !input 'button_a4'
  - conditions: '{{ button_id == "001" and press_count == "KeyPressed4x" }}'
    sequence: !input 'button_b4'
  - conditions: '{{ button_id == "002" and press_count == "KeyPressed5x" }}'
    sequence: !input 'button_a5'
  - conditions: '{{ button_id == "001" and press_count == "KeyPressed5x" }}'
    sequence: !input 'button_b5'

Edit: updated zwave_js_event → zwave_js_value_notification

4 Likes

Kinda novice here, but i cant get this blueprint to work.

here is my created automation using the blueprint:

- id: '1620854772685'
  alias: Inovelli NZW30S Switch (ZWave-JS)
  description: ''
  use_blueprint:
    path: hanerd/zwave-js-inovelli-nzw30s.yaml
    input:
      inovelli_switch: 2e285be95afadc3feb7801e978449cf6
      button_a2:
      - type: toggle
        device_id: ce26f3e5f0073ac620b7f9568d05da90
        entity_id: switch.hall_lights
        domain: switch

here is what I see in the Z_Wave JS log when I double press the up button 2x :

2021-05-12T21:41:39.489Z CNTRLR « [Node 002] received CentralScene notification {
                                      "nodeId": 2,
                                      "ccId": "Central Scene",
                                      "ccCommand": "0x03",
                                      "payload": "0x938002"
                                  }

or what I see in Z-Wave JS to MQTT:

2021-05-12 15:23:26.943 INFO ZWAVE: Node 2: value notification: 91-0-scene-002 3

but nothing happens

For anyone with the same issue, the fix for me was changing the event type to: zwave_js_value_notification

1 Like

Thank you both for sharing this. The zwave_js_value_notification update also fixed this for me.