This is a Blueprint for the GE/Jasco 46201 / ZW4008 Switch that sends all of its button events Z-Wave JS via zwave_js_value_notification.
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
blueprint:
name: GE/Jasco 46201 / ZW4008 Switch (Z-Wave JS) v0.02
description: Create automations for the GE/Jasco Switches using the Z-Wave JS integration.
domain: automation
input:
ge_jasco:
name: Switch Device
description: List of available GE/Jasco 46201 / ZW4008 switches
selector:
device:
integration: zwave_js
manufacturer: GE/Jasco
model: 46201 / ZW4008
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/b5151cd53285a1694bf68f56053114b7
mode: single
max_exceeded: silent
variables:
device_id: !input 'ge_jasco'
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 == ''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'