Forked from halomakes/control-light-with-zen32.yml
Last active
August 11, 2022 16:22
-
-
Save bcchenbc/6f29dd235f339f35fe6a186fdd423500 to your computer and use it in GitHub Desktop.
Blueprint: Control a light with a button on a Zooz ZEN32 Scene Controller
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
blueprint: | |
name: Control Light with Scene Controller | |
description: For Zooz ZEN32. Toggle a light with a single press, set it to max brightness with double-tap, night-light mode with hold. | |
domain: automation | |
input: | |
zooz_switch: | |
name: Zooz Switch | |
description: List of available Zooz ZEN32 switches. | |
selector: | |
device: | |
integration: zwave_js | |
manufacturer: Zooz | |
model: ZEN32 | |
target_light: | |
name: Light | |
description: The light to link to button | |
selector: | |
target: | |
entity: | |
domain: light | |
scene_button: | |
name: Scene Button | |
description: The button to link to light | |
selector: | |
select: | |
mode: dropdown | |
options: | |
- label: Scene 5 (Big Button) | |
value: '005' | |
- label: Scene 1 (Top Left) | |
value: '001' | |
- label: Scene 2 (Top Right) | |
value: '002' | |
- label: Scene 3 (Bottom Left) | |
value: '003' | |
- label: Scene 4 (Bottom Right) | |
value: '004' | |
night_light_brightness: | |
name: Night Light Brightness | |
description: Brightness to set lights to when button is held (default 20%) | |
default: 20 | |
selector: | |
number: | |
min: 0 | |
max: 100 | |
unit_of_measurement: "%" | |
mode: single | |
max_exceeded: silent | |
variables: | |
controller_id: !input 'zooz_switch' | |
light_id: !input 'target_light' | |
button_id: !input 'scene_button' | |
night_light_brightness: !input 'night_light_brightness' | |
trigger: | |
- platform: event | |
event_type: zwave_js_value_notification | |
condition: '{{ trigger.event.data.device_id == controller_id and trigger.event.data.property_key_name == button_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: '{{ value == ''KeyPressed'' }}' | |
sequence: | |
- service: light.toggle | |
data: {} | |
target: !input 'target_light' | |
- conditions: '{{ value == ''KeyPressed2x'' }}' | |
sequence: | |
- service: light.turn_on | |
data: | |
brightness_pct: 100 | |
target: !input 'target_light' | |
- conditions: '{{ value == ''KeyHeldDown'' }}' | |
sequence: | |
- service: light.turn_on | |
data: | |
brightness_pct: '{{ night_light_brightness }}' | |
target: !input 'target_light' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment