Z-Wave JS - HomeSeer HS-WX300+ Dimmer

I recently got a couple of the HomeSeer HS-WX300 dimmers and it supports 14 event triggers with the two buttons each having 1x, 2x, 3x, 4x, 5x, Held and Released events. This is my first Blueprint, so if anyone has one of these and wants to try it out, I’d be interested to hear what you think.

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

blueprint:
  name: HomeSeer HS-WX300 (Z-Wave JS) v0.05
  description: Create automations for the HomeSeer HS-WX300 Dimmer using the Z-Wave JS integration.
  domain: automation
  input:
    homeseer_wx300:
      name: HomeSeer HS-WX300
      description: List of available HomeSeer HS-WX300 dimmers.
      selector:
        device:
          integration: zwave_js
          manufacturer: HomeSeer Technologies
          model: HS-WX300
    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:
    tap_4x_up:
      name: Tap 4x Up
      description: Action to run when Up button is pressed 4 times.
      default: []
      selector:
        action:
    tap_4x_dn:
      name: Tap 4x Down
      description: Action to run when Down button is pressed 4 times.
      default: []
      selector:
        action:
    tap_5x_up:
      name: Tap 5x Up
      description: Action to run when Up button is pressed 5 times.
      default: []
      selector:
        action:
    tap_5x_dn:
      name: Tap 5x Down
      description: Action to run when Down button is pressed 5 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/d093d9cfe7105421d7aa6d0b407f723e
mode: single
max_exceeded: silent
variables:
  device_id: !input 'homeseer_wx300'
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 == ''KeyPressed4x'' }}'
    sequence: !input 'tap_4x_up'
  - conditions: '{{ property_key_name == ''002'' and value == ''KeyPressed4x'' }}'
    sequence: !input 'tap_4x_dn'
  - conditions: '{{ property_key_name == ''001'' and value == ''KeyPressed5x'' }}'
    sequence: !input 'tap_5x_up'
  - conditions: '{{ property_key_name == ''002'' and value == ''KeyPressed5x'' }}'
    sequence: !input 'tap_5x_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'

At some point I’d like to add a simple way to set the Status LEDs, but I suspect that’s more of a script than a blueprint.

3 Likes

All the automations I create from this blueprint “dissapear.” I can see them in the automations.yaml file but they do not show up in the GUI and they do not get executed. Any ideas where to start troubleshooting?

What are you doing for the status move back to normal mode when you tap the paddle while in status mode? Parallel listeners? Is there anyway we can program that locally in zwave js ui on those switches to revert to normal mode? I could go the node red route i suppose.

I’m new to HA as of 48 hrs ago from Homeseer. Just thinking on this thing. Everything else is back up and running besides status LED and I have more functionality.

That is where I’m mentally blocked on how I want to integrate these. Right now I’m not using status mode and HS3/4 made it so easy to set them and not worry about it when homesser recieved the tap.