Skip to content

Instantly share code, notes, and snippets.

@rduplain
Last active December 29, 2022 03:42
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rduplain/45d6d6075024af39aa34f2342c4afa46 to your computer and use it in GitHub Desktop.
Save rduplain/45d6d6075024af39aa34f2342c4afa46 to your computer and use it in GitHub Desktop.
OUTDATED
blueprint:
name: Hank Four-button Scene Controller (Z-Wave JS)
description: Create automations for Hank Electronics / Technisat 4-button remote using the ZWave-JS integration
domain: automation
input:
hank_scn04:
name: Hank Four-button Controller
selector:
device:
integration: zwave_js
manufacturer: HANK Electronics Ltd.
model: SCN04
button_1_pressed:
name: Button 1 (Sleep) Pressed
description: Action to run when button is pressed
default: []
selector:
action:
button_1_held:
name: Button 1 (Sleep) Held Down
description: Action to run when button is held
default: []
selector:
action:
button_2_pressed:
name: Button 2 (People) Pressed
description: Action to run when button is pressed
default: []
selector:
action:
button_2_held:
name: Button 2 (People) Held Down
description: Action to run when button is held
default: []
selector:
action:
button_3_pressed:
name: Button 3 (Center) Pressed
description: Action to run when button is pressed
default: []
selector:
action:
button_3_held:
name: Button 3 (Center) Held Down
description: Action to run when button is held
default: []
selector:
action:
button_4_pressed:
name: Button 4 (Power) Pressed
description: Action to run when button is pressed
default: []
selector:
action:
button_4_held:
name: Button 4 (Power) Held Down
description: Action to run when button is held
default: []
selector:
action:
mode: single
max_exceeded: silent
trigger:
platform: event
event_type: zwave_js_value_notification
event_data:
command_class_name: Central Scene
device_id: !input hank_scn04
action:
- variables:
scene_id: "{{ trigger.event.data.property_key_name }}"
key_state: "{{ trigger.event.data.value }}"
- choose:
- conditions: "{{ scene_id == '001' and key_state == 0 }}"
sequence: !input button_1_pressed
- conditions: "{{ scene_id == '001' and key_state == 2 }}"
sequence: !input button_1_held
- conditions: "{{ scene_id == '002' and key_state == 0 }}"
sequence: !input button_2_pressed
- conditions: "{{ scene_id == '002' and key_state == 2 }}"
sequence: !input button_2_held
- conditions: "{{ scene_id == '003' and key_state == 0 }}"
sequence: !input button_3_pressed
- conditions: "{{ scene_id == '003' and key_state == 2 }}"
sequence: !input button_3_held
- conditions: "{{ scene_id == '004' and key_state == 0 }}"
sequence: !input button_4_pressed
- conditions: "{{ scene_id == '004' and key_state == 2 }}"
sequence: !input button_4_held
@rduplain
Copy link
Author

@rduplain
Copy link
Author

Tested on Home Assistant OS core-2021.8.8 with Z-Wave JS 0.1.37.

@rduplain
Copy link
Author

Since creating this gist, with later versions of Home Assistant and Z-Wave JS, I found that the Home Assistant automation indeed does issue KeyPressed and KeyHeldDown key states instead of 0 and 2. Meaning: don't use this gist, and instead use the original.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment