ZWave-JS - Homeseer HS-WD200+ Dimmer

Tags: #<Tag:0x00007fc41e1a2cc0>

Based on the OZW Inovelli blueprint by @troy

This is a blueprint for triggering actions based on presses of the On/Off buttons of the Homeseer HS-WD200+ Dimmer using the new ZWave-JS Integration.

blueprint:
  name: Homeseer HS-WD200+ Dimmer (ZWave-JS)
  description: Create automations for the Homeseer HS-WD200+ Dimmer using the ZWave-JS integration. 
  domain: automation
  input:
    homeseer_switch:
      name: Homeseer Dimmer
      description: "List of available Homeseer Dimmers"
      selector:
          device:
            integration: zwave_js
            manufacturer: HomeSeer Technologies
            model: HS-WD200+
    ## 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.
      Typically, you will only set this if you have disabled the relay."
      default: []
      selector:
        action: {}
    button_b_held:
      name: Button B - Down/Off held down
      description: "Action to run, when the button is held down.
      Typically, you will only set this if you have disabled the relay."
      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 homeseer_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 == "001" and press_count == "KeyPressed" }}'
      sequence: !input button_a
    - conditions: '{{ button_id == "002" and press_count == "KeyPressed" }}'
      sequence: !input button_b
    - conditions: '{{ button_id == "001" and press_count == "KeyHeldDown" }}'
      sequence: !input button_a_held
    - conditions: '{{ button_id == "002" and press_count == "KeyHeldDown" }}'
      sequence: !input button_b_held
    - conditions: '{{ button_id == "001" and press_count == "KeyPressed2x" }}'
      sequence: !input button_a2
    - conditions: '{{ button_id == "002" and press_count == "KeyPressed2x" }}'
      sequence: !input button_b2
    - conditions: '{{ button_id == "001" and press_count == "KeyPressed3x" }}'
      sequence: !input button_a3
    - conditions: '{{ button_id == "002" and press_count == "KeyPressed3x" }}'
      sequence: !input button_b3
    - conditions: '{{ button_id == "001" and press_count == "KeyPressed4x" }}'
      sequence: !input button_a4
    - conditions: '{{ button_id == "002" and press_count == "KeyPressed4x" }}'
      sequence: !input button_b4
    - conditions: '{{ button_id == "001" and press_count == "KeyPressed5x" }}'
      sequence: !input button_a5
    - conditions: '{{ button_id == "002" and press_count == "KeyPressed5x" }}'
      sequence: !input button_b5

Edit 4/7/21: Updated to support HA 2021.4.0 release

4 Likes

With the latest beta the event type has to be updated to “zwave_js_value_notification”

Update the blueprint to support the April 2021 release. Please let me know if there are any issues and I’ll update.