Z-Wave JS - ZWP WD-100 Dimmer

This is a Blueprint for the “zwaveproducts” or ZWP WD-100 dimmer switch. It’s the first Z-Wave switch I bought many years ago and seems to be a predecessor to the Homeseer WD-100+ but they are not the same thing.

This device has two buttons that I refer to as “UP” and “DOWN” for the on/off paddles making this Blueprint support ten (10) actions:

  • 1x, 2x, 3x, Held and Released for both UP and DOWN

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

blueprint:
  name: ZWP WD-100 Dimmer (Z-Wave JS) v0.02
  description: Create automations for the ZWP WD-100 Dimmer using the Z-Wave JS integration.
  domain: automation
  input:
    wd100:
      name: Dimmer Device
      description: List of available ZWP WD-100 Dimmers
      selector:
        device:
          integration: zwave_js
          manufacturer: zwaveproducts.com
          model: WD-100
    tap_1x_up:
      name: Tap 1x Up
      description: Action to run when Up button is pressed 1 time.
      default: []
      selector:
        action:
    tap_1x_dn:
      name: Tap 1x Down
      description: Action to run when Down button is pressed 1 time.
      default: []
      selector:
        action:
    tap_2x_up:
      name: Tap 2x Up
      description: Action to run when Up button is pressed 2 times.
      default: []
      selector:
        action:
    tap_2x_dn:
      name: Tap 2x Down
      description: Action to run when Down button is pressed 2 times.
      default: []
      selector:
        action:
    tap_3x_up:
      name: Tap 3x Up
      description: Action to run when Up button is pressed 3 times.
      default: []
      selector:
        action:
    tap_3x_dn:
      name: Tap 3x Down
      description: Action to run when Down button is pressed 3 times.
      default: []
      selector:
        action:
    up_btn_hld:
      name: Up Button Held
      description: Action to run when Up button is Held.
      default: []
      selector:
        action:
    up_btn_rel:
      name: Up Button Released
      description: Action to run when Up button is Released.
      default: []
      selector:
        action:
    dn_btn_hld:
      name: Down Button Held
      description: Action to run when Down button is Held.
      default: []
      selector:
        action:
    dn_btn_rel:
      name: Down Button Released
      description: Action to run when Down button is Released.
      default: []
      selector:
        action:
# source_url: https://gist.github.com/shannonfritz/45898c82b1712cf0a9ad1745c8ef609a
mode: single
max_exceeded: silent
variables:
  device_id: !input 'wd100'
trigger:
- platform: event
  event_type: zwave_js_value_notification
condition: '{{ trigger.event.data.device_id == device_id }}'
action:
- variables:
    property_key_name: '{{ trigger.event.data.property_key_name }}'
    label: '{{ trigger.event.data.label }}'
    command_class_name: '{{ trigger.event.data.command_class_name }}'
    value: '{{ trigger.event.data.value }}'
- service: logbook.log
  data:
    name: 'Z-Wave JS'
    message: 'received event: {{ command_class_name }} - {{ value }} - {{ label }}'
- choose:
  - conditions: '{{ property_key_name == ''001'' and value == ''KeyPressed'' }}'
    sequence: !input 'tap_1x_up'
  - conditions: '{{ property_key_name == ''002'' and value == ''KeyPressed'' }}'
    sequence: !input 'tap_1x_dn'
  - conditions: '{{ property_key_name == ''001'' and value == ''KeyPressed2x'' }}'
    sequence: !input 'tap_2x_up'
  - conditions: '{{ property_key_name == ''002'' and value == ''KeyPressed2x'' }}'
    sequence: !input 'tap_2x_dn'
  - conditions: '{{ property_key_name == ''001'' and value == ''KeyPressed3x'' }}'
    sequence: !input 'tap_3x_up'
  - conditions: '{{ property_key_name == ''002'' and value == ''KeyPressed3x'' }}'
    sequence: !input 'tap_3x_dn'
  - conditions: '{{ property_key_name == ''001'' and value == ''KeyPressed3x'' }}'
    sequence: !input 'tap_3x_up'
  - conditions: '{{ property_key_name == ''002'' and value == ''KeyPressed3x'' }}'
    sequence: !input 'tap_3x_dn'
  - conditions: '{{ property_key_name == ''001'' and value == ''KeyHeldDown'' }}'
    sequence: !input 'up_btn_hld'
  - conditions: '{{ property_key_name == ''001'' and value == ''KeyReleased'' }}'
    sequence: !input 'up_btn_rel'
  - conditions: '{{ property_key_name == ''002'' and value == ''KeyHeldDown'' }}'
    sequence: !input 'dn_btn_hld'
  - conditions: '{{ property_key_name == ''002'' and value == ''KeyReleased'' }}'
    sequence: !input 'dn_btn_rel'
1 Like

Super Helpful for my setup I have 8 of these dimmers in my house and another 20 ZWP WS-100 on-off switches wish you had a blueprint for that as well. I’m not much of a code guy. Thanks for your contribution !!!