Last active
October 6, 2024 14:30
-
-
Save halomakes/bb89a752bd5fce118bdcb0c078654600 to your computer and use it in GitHub Desktop.
Blueprint: Set Indicator on a ZEN32 Scene Controller button Based on Light Status
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: Set Indicator Light on Scene Controller | |
description: For Zooz ZEN32. Sets the indicator color when light is off or dimmed. | |
domain: automation | |
input: | |
zooz_switch: | |
name: Zooz Switch | |
description: List of available Zooz ZEN32 switches. | |
selector: | |
device: | |
filter: | |
- integration: zwave_js | |
manufacturer: Zooz | |
model: ZEN32 | |
- integration: zwave_js | |
manufacturer: Zooz | |
model: "ZEN32 800LR" | |
target_light: | |
name: Light | |
description: The light to link to button | |
selector: | |
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: '0' # param 1 for on/off, param 6 for color | |
- label: Scene 1 (Top Left) | |
value: '1' # param 2 for on/off, param 7 for color | |
- label: Scene 2 (Top Right) | |
value: '2' # param 3 for on/off, param 8 for color | |
- label: Scene 3 (Bottom Left) | |
value: '3' # param 4 for on/off, param 9 for color | |
- label: Scene 4 (Bottom Right) | |
value: '4' # param 5 for on/off, param 10 for color | |
off_color: | |
name: Off Color | |
description: Color to make indicator when light is off (default white) | |
default: White | |
selector: | |
select: | |
mode: dropdown | |
options: | |
- label: White | |
value: '0' | |
- label: Blue | |
value: '1' | |
- label: Green | |
value: '2' | |
- label: Red | |
value: '3' | |
- label: Magenta | |
value: '4' | |
- label: Yellow | |
value: '5' | |
- label: Cyan | |
value: '6' | |
dimmed_color: | |
name: Dimmed Color | |
description: Color to make indicator when light is dimmed (default blue) | |
default: Blue | |
selector: | |
select: | |
mode: dropdown | |
options: | |
- label: White | |
value: '0' | |
- label: Blue | |
value: '1' | |
- label: Green | |
value: '2' | |
- label: Red | |
value: '3' | |
mode: single | |
max_exceeded: silent | |
variables: | |
controller_id: !input 'zooz_switch' | |
light_id: !input 'target_light' | |
button_id: !input 'scene_button' | |
toggle_offset: 1 | |
color_offset: 6 | |
on_value: 3 | |
off_value: 2 | |
off_color: !input 'off_color' | |
dimmed_color: !input 'dimmed_color' | |
full_brightness: 255 | |
trigger: | |
- platform: state | |
entity_id: !input 'target_light' | |
attribute: brightness | |
for: | |
hours: 0 | |
minutes: 0 | |
seconds: 5 | |
- platform: state | |
entity_id: !input 'target_light' | |
action: | |
- choose: | |
- conditions: '{{ is_state(light_id, ''off'') }}' # light off, turn on indicator | |
sequence: | |
- parallel: | |
- service: zwave_js.set_config_parameter # set indicator color | |
data: | |
parameter: '{{ (button_id | int) + (color_offset | int) }}' | |
value: '{{ off_color }}' | |
target: | |
device_id: '{{ controller_id }}' | |
- service: zwave_js.set_config_parameter # turn on indicator | |
data: | |
parameter: '{{ (button_id | int) + (toggle_offset | int) }}' | |
value: '{{ on_value }}' | |
target: | |
device_id: '{{ controller_id }}' | |
- conditions: '{{ is_state(light_id, ''on'') and not is_state_attr(light_id, ''brightness'', full_brightness) }}' # light on but dim, show dimmed color | |
sequence: | |
- parallel: | |
- service: zwave_js.set_config_parameter # set indicator color | |
data: | |
parameter: '{{ (button_id | int) + (color_offset | int) }}' | |
value: '{{ dimmed_color }}' | |
target: | |
device_id: '{{ controller_id }}' | |
- service: zwave_js.set_config_parameter # turn on indicator | |
data: | |
parameter: '{{ (button_id | int) + (toggle_offset | int) }}' | |
value: '{{ on_value }}' | |
target: | |
device_id: '{{ controller_id }}' | |
- conditions: '{{ is_state(light_id, ''on'') and is_state_attr(light_id, ''brightness'', full_brightness) }}' # light on all the way, turn off indicator | |
sequence: | |
- service: zwave_js.set_config_parameter # turn off indicator | |
data: | |
parameter: '{{ (button_id | int) + (toggle_offset | int) }}' | |
value: '{{ off_value }}' | |
target: | |
device_id: '{{ controller_id }}' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment