Hey All -
I didn’t end up using hold down here, but instead set a group association between this and a dimmer, so now if I hold it down, it dims the same light as the wired dimmer.
However this was really important - I realized that this automation was running EVERY time that a z-wave device was being triggered (I literally turned on a random light switch for a coat closet and this triggered). I thought it was odd, and it seems the trigger in the code is set to run for exactly that - ANY z wave js notification.
I updated this to the following to target the trigger to this device ONLY:
I am very new at Blueprint on HA and unfortunately confused about how to import the correct version for Zwave JS. I have 2 of these :
ID: 64
Status: Asleep
Ready: Yes
Highest security: S2 Authenticated
Z-Wave Plus: Version 2
ID: 65
Status: Asleep
Ready: Yes
Highest security: None
Z-Wave Plus: Version 2
The idea is to activate Kitchen Ceiling Switch with Upper paddle for ON and Lower paddle for OFF.
Could someone PLEASE help configure the correct Blueprint so that I just have to do a copy/paste, with as few manual inputs from me as possible ? I am not really interested in multiple clicks on the paddles. Simple ON and OFF are what I need. If there is a simpler solution with Visual Editor, then even better.
Hi everyone. I’m new here and trying to better understand the blueprint behavior. Does this blue print allow me to hold down a button and it repeatedly continues to dim? Or do I need to hold down, let go, hold down, etc.?
Are you still using this version ?
I have seven ZEN34 and I tried to use your blueprint.
I found that the device selector seems buggy when selecting more than one ZEN34.
there is no way to prune the list (once you add 5 for example, can’t go back to 1 or 2)
the “save” button doesn’t show when modifying the list
worst of all, the devices selected the first time around aren’t saved properly. When editing the automation afterwards, I get a completely different list of ZEN34.
Are you seeing any of these issues ? I doubt these bugs are due to the blueprint, but I’d love a workaround.
here you guys go–i forked off another dude’s blueprint to make dimming/modifying brightness a little more intuitive. press and hold the top/bottom rocker buttons and it’ll dim the light(s) selected.
you can even do a buncha regular taps while you’re at it.
so for example/inspiration, here’s what i’m doing with my switches:
x1 top - turn on lights
x1 bottom - turn off lights
x2 top - set/turn lights on to 100% brightness
x2 bottom - set/turn lights on to 1% brightness
top/bottom hold until release - make selected lights lighter or dimmer
this was my first blueprint and i literally blew through an entire saturday trying to get it everything i wanted it to so have fun yall
Hi @computergreek. Thanks for putting this together. I’m trying to get this working, but every time I try to import the blueprint I get the error in this image. Any thoughts on what I’m doing wrong? I’m new to blueprints…
Hey @computergreek, could you modify your blueprint so it doesn’t require a dimmable light to be used with the blueprint? I only have 2 on/off switches I’m using with the switch so I don’t need the dimming functionality when holding down the switch, but I had to link a dimmable bulb to it for the automation to compile/save.
howdy @jakabo27 i just tried playing around with it for a couple hours to do what you asked but couldn’t get it to work.
here’s the original script i forked my copy over from that doesn’t require anything relevant to lights dimming that i think you’ll find to be useful.
I tried to adapt one version of this blueprint for the ZEN76, which is pretty similar to the ZEN34, but wired. My interest was two-fold :
support selecting multiple switches . This works.
support looping with holding the top or bottom buttons . This doesn’t work with the ZEN76, for some reason. The action is only executed once when holding a button, and is not repeated, unlike on the ZEN34.
Here is the adapted blueprint I’m using :
blueprint:
name: Zooz ZEN76 Remote scene control with hold support.
description: |
Use the Zooz ZEN76 remote to trigger Scenes and control devices based on varying scenes.
This Blueprint is currently configured for the zwaveJS platform.
domain: automation
input:
zwave_devices:
name: Zooz ZEN76
description: "List of available Zooz ZEN76 switches."
selector:
device:
integration: zwave_js
manufacturer: Zooz
model: ZEN76
multiple: true
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: []
is_loop_for_hold_up:
name: Key Up/On held loop?
description: Asserts whether you want to loop the held action until the button is released which could simulate the impact of a dimmer switch
selector:
boolean:
default: []
hold_down:
name: Hold down
selector:
action:
default: []
is_loop_for_hold_down:
name: Key Down/On held loop?
description: Asserts whether you want to loop the held action until the button is released which could simulate the impact of a dimmer switch
selector:
boolean:
default: []
key_up_released:
name: Key Up/On released
description: Action to run, when the up button is released.
default: []
selector:
action:
key_down_released:
name: Key Down/Off released
description: Action to run, when the down button is released.
default: []
selector:
action:
mode: restart
max_exceeded: silent
variables:
logger: blueprint.zwave_scene_activation
device_ids: !input zwave_devices
key_up_scene_id: "Scene 001"
key_down_scene_id: "Scene 002"
is_loop_for_hold_up: !input "is_loop_for_hold_up"
is_loop_for_hold_down: !input "is_loop_for_hold_down"
trigger:
- platform: event
event_type: zwave_js_value_notification
condition: "{{ trigger.event.data.device_id in device_ids }}"
action:
- variables:
scene_id: "{{trigger.event.data.label}}"
key_pressed: "{{trigger.event.data.value}}"
value_raw: "{{trigger.event.data.value_raw}}"
- choose:
# IF triggered node_id is zwave_nodeid
- conditions:
- condition: template
value_template: "{{ trigger.event.data.device_id in device_ids }}"
sequence:
- choose:
# IF 1x tap up
- conditions:
- condition: template
value_template: "{{ scene_id == key_up_scene_id and (key_pressed == 'KeyPressed' or value_raw == 0) }}"
sequence: !input 1x_tap_up
# IF 1x tap down
- conditions:
- condition: template
value_template: "{{ scene_id == key_down_scene_id and (key_pressed == 'KeyPressed' or value_raw == 0) }}"
sequence: !input 1x_tap_down
# IF 2x tap up
- conditions:
- condition: template
value_template: "{{ scene_id == key_up_scene_id and (key_pressed == 'KeyPressed2x' or value_raw == 3) }}"
sequence: !input 2x_tap_up
# IF 2x tap down
- conditions:
- condition: template
value_template: "{{ scene_id == key_down_scene_id and (key_pressed == 'KeyPressed2x' or value_raw == 3) }}"
sequence: !input 2x_tap_down
# IF 3x tap up
- conditions:
- condition: template
value_template: "{{ scene_id == key_up_scene_id and (key_pressed== 'KeyPressed3x' or value_raw == 4) }}"
sequence: !input 3x_tap_up
# IF 3x tap down
- conditions:
- condition: template
value_template: "{{ scene_id == key_down_scene_id and (key_pressed == 'KeyPressed3x' or value_raw == 4) }}"
sequence: !input 3x_tap_down
# IF 4x tap up
- conditions:
- condition: template
value_template: "{{ scene_id == key_up_scene_id and (key_pressed== 'KeyPressed4x' or value_raw == 5) }}"
sequence: !input 4x_tap_up
# IF 4x tap down
- conditions:
- condition: template
value_template: "{{ scene_id == key_down_scene_id and (key_pressed == 'KeyPressed4x' or value_raw == 5) }}"
sequence: !input 4x_tap_down
# IF 5x tap up
- conditions:
- condition: template
value_template: "{{ scene_id == key_up_scene_id and (key_pressed == 'KeyPressed5x' or value_raw == 6) }}"
sequence: !input 5x_tap_up
# IF 5x tap down
- conditions:
- condition: template
value_template: "{{ scene_id == key_down_scene_id and (key_pressed == 'KeyPressed5x' or value_raw == 6) }}"
sequence: !input 5x_tap_down
- conditions:
- condition: template
value_template: '{{ scene_id == key_up_scene_id and (key_pressed == "KeyReleased" or value_raw == 1 ) }}'
sequence: !input "key_up_released"
- conditions:
- condition: template
value_template: '{{ scene_id == key_down_scene_id and (key_pressed == "KeyReleased" or value_raw == 1 ) }}'
sequence: !input "key_down_released"
- conditions:
- condition: template
value_template: '{{ scene_id == key_up_scene_id and (key_pressed == "KeyHeldDown" or value_raw == 2) }}'
sequence:
# if looping is enabled, loop the action indefinitely
# repeat until the automation is restarted ie. when the corresponding release message is received
- repeat:
sequence:
!input "hold_up"
until: "{{ not is_loop_for_hold_up }}"
- conditions:
- condition: template
value_template: '{{ scene_id == key_down_scene_id and (key_pressed == "KeyHeldDown" or value_raw == 2)}}'
sequence:
# if looping is enabled, loop the action indefinitely
# repeat until the automation is restarted ie. when the corresponding release message is received
- repeat:
sequence:
!input "hold_down"
until: "{{ not is_loop_for_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: []
Does anyone have any idea how to support “loop” on the ZEN76 ? Is it a software issue or a hardware limitation ?
One issue with your dimmer features added, if you are controlling a light that isn’t dimmable, you cannot save the blueprint. It would be nice to have a single blueprint which works for either dimmable or non dimmable lights versus managing two seperate ones. Any way we can add a enable for dimming to control that functionality?
This is a great blueprint. Thanks to @kylerw . Any chance you want to pick up some ZEN37s and work your magic for those, too? They are like the ZEN34 but with four scene buttons with multi-click capabilities. They are working okay without a blueprint but sort of a pain to set up all the automations manually.
input:
minoston_mr40z:
name: Minoston MR40Z
description: The Minoston MR40Z to interact with.
selector:
device:
integration: zwave_js
manufacturer: Minoston
model: MR40Z
You’d probably need to change this section (at minimum) to make the selector allow this Zooz device. Assuming the button events are the same, I guess it should work? I don’t have one of these, so I can’t really help much.