I had just converted this for myself before finding this post. OP did not work for me but the below is functioning.
blueprint:
name: Zooz ZEN34 Remote scene control
description: |
Use the Zooz ZEN34 remote to trigger Scenes and control devices based on varying scenes.
This Blueprint is currently configured for the zwaveJS platform.
domain: automation
input:
zwave_device:
name: Zooz Zen34
description: "List of available Zooz ZEN34 switch."
selector:
device:
integration: zwave_js
manufacturer: Zooz
model: ZEN34
1x_tap_up:
name: Tap up 1x
selector:
action:
default: []
1x_tap_down:
name: Tap down 1x
selector:
action:
default: []
2x_tap_up:
name: Tap up 2x
selector:
action:
default: []
2x_tap_down:
name: Tap down 2x
selector:
action:
default: []
3x_tap_up:
name: Tap up 3x
selector:
action:
default: []
3x_tap_down:
name: Tap down 3x
selector:
action:
default: []
4x_tap_up:
name: Tap up 4x
selector:
action:
default: []
4x_tap_down:
name: Tap down 4x
selector:
action:
default: []
5x_tap_up:
name: Tap up 5x
selector:
action:
default: []
5x_tap_down:
name: Tap down 5x
selector:
action:
default: []
hold_up:
name: Hold up
selector:
action:
default: []
hold_down:
name: Hold down
selector:
action:
default: []
mode: single
variables:
logger: blueprint.zwave_scene_activation
device_id: !input zwave_device
trigger:
- platform: event
event_type: zwave_js_value_notification
action:
- choose:
# IF triggered node_id is zwave_nodeid
- conditions:
- condition: template
value_template: "{{ trigger.event.data.device_id == device_id }}"
sequence:
- choose:
# IF 1x tap up
- conditions:
- condition: template
value_template: "{{ trigger.event.data.label == Scene 001 and trigger.event.data.value == KeyPressed }}"
sequence: !input 1x_tap_up
# IF 1x tap down
- conditions:
- condition: template
value_template: "{{ trigger.event.data.label == Scene 002 and trigger.event.data.value == KeyPressed }}"
sequence: !input 1x_tap_down
# IF 2x tap up
- conditions:
- condition: template
value_template: "{{ trigger.event.data.label == Scene 001 and trigger.event.data.value == KeyPressed2x }}"
sequence: !input 2x_tap_up
# IF 2x tap down
- conditions:
- condition: template
value_template: "{{ trigger.event.data.label == Scene 002 and trigger.event.data.value == KeyPressed2x }}"
sequence: !input 2x_tap_down
# IF 3x tap up
- conditions:
- condition: template
value_template: "{{ trigger.event.data.label == Scene 001 and trigger.event.data.value == KeyPressed3x }}"
sequence: !input 3x_tap_up
# IF 3x tap down
- conditions:
- condition: template
value_template: "{{ trigger.event.data.label == Scene 002 and trigger.event.data.value == KeyPressed3x }}"
sequence: !input 3x_tap_down
# IF 4x tap up
- conditions:
- condition: template
value_template: "{{ trigger.event.data.scene_id == Scene 001 and trigger.event.data.value == KeyPressed4x }}"
sequence: !input 4x_tap_up
# IF 4x tap down
- conditions:
- condition: template
value_template: "{{ trigger.event.data.label == Scene 002 and trigger.event.data.value == KeyPressed4x }}"
sequence: !input 4x_tap_down
# IF 5x tap up
- conditions:
- condition: template
value_template: "{{ trigger.event.data.label == Scene 001 and trigger.event.data.value == KeyPressed5x }}"
sequence: !input 5x_tap_up
# IF 5x tap down
- conditions:
- condition: template
value_template: "{{ trigger.event.data.label == Scene 002 and trigger.event.data.value == KeyPressed5x }}"
sequence: !input 5x_tap_down
# IF hold up
- conditions:
- condition: template
value_template: "{{ trigger.event.data.label == Scene 001 and trigger.event.data.value == KeyHeld }}"
sequence: !input hold_up
# IF hold down
- conditions:
- condition: template
value_template: "{{ trigger.event.data.label == Scene 002 and trigger.event.data.value == KeyHeld }}"
sequence: !input hold_down
# ELSE: unhandled label/value
default:
- service: system_log.write
data:
level: debug
logger: "{{ logger }}"
message: "Activated scene '{{ trigger.event.data.scene_label }}' ({{ trigger.event.data.label }}) with value '{{ trigger.event.data.scene_value_label }}' ({{ trigger.event.data.value }}) for node '{{ zwave_nodeid }}' ({{ trigger.event.data.node_id }})"
# ELSE: unhandled zwave event
default: []
I haven’t had any luck with kylerw or griffioenjake blueprint in HA using Zwave JS. Definitely could be an issue with my setup just posting in case anyone else is having issues thanks for the work and posting for others to use.
[griffioenjake] blueprint creates the automation but it never shows up in the gui under automation. I can see the autiomation is created under the automations.yaml.
[kylerw] blueprint gives an Error: listed below
UndefinedError: ‘dict object’ has no attribute ‘event’
Triggered manually at May 7, 2021, 8:25:41 AM
Define variables button_id, press_count
Stopped because an error was encountered at May 7, 2021, 8:25:41 AM (runtime: 0.00 seconds)
UndefinedError: ‘dict object’ has no attribute ‘event’
Below is what I setup in automations to get my self up and running for now. Maybe it can help someone get the button working that is having issues.
alias: Zooz Zen34 Button
description: 'Zooz Zen 34 Button automation'
trigger:
- platform: event
event_type: zwave_js_value_notification
event_data:
node_id: 22
label: Scene 001
value: KeyPressed
condition: []
action:
- type: toggle
device_id: 8675309
entity_id: light.desklamp
domain: light
mode: single
'Above a upper button press action automation to turn on light example'
'node_id: is the node id number can find under device info'
'label: Scene 001 for upper Scene 002 lower paddle'
'value: KeyPressed [KeyPressed = 1 x tap, KeyReleased = released, KeyHeld = held, KeyPressed2x = 2 x tap, KeyPressed3x = 3 x tap, KeyPressed4x = 4 x tap, KeyPressed5x = 5 x tap]'
I’ve tried a few more things to make this blueprint work. I was incorrect earlier. It does seem like the OP had updated his blueprint to use Z-Wave JS. I am, however, experiencing the following as well:
I have no idea what would cause this behavior—automation is created in automation.yaml BUT NOT in the gui. Happy to help troubleshoot more if anyone has any suggestions.
This is brilliant - thanks!!! Any option to have multiple switches rather than just one - I have 3 entrances to my Lodge, and want the same action for each switch for button press, 2x and 3x button press.
I’m using the blue print shared by @hahahilarious on May 17 and I cannot get the hold down and hold up to work to increase and decrease the brightness of my lights. I’m new to this so any suggestions on how to debug this problem would be much appreciated. Thanks!
The hold down and up events are coming in as KeyHeldDown and not KeyHeld. If you update the blueprint in those two locations it’ll work…sort of. It’ll only send one hold down or up event, so you have to release the button and hold it down again to perform the action.