Forked from sle118/set-zen32-indicator-for-light-with-onoff-state-overwrite.yaml
Last active
January 9, 2024 15:18
-
-
Save roynasser/af9a9980153abb3dee103f6e1e468551 to your computer and use it in GitHub Desktop.
Blueprint: Set Indicator on a ZEN32 Scene Controller button Based on Light Status with on/off state overwrite
This file contains hidden or 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 with State Overwrite | |
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: | |
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_state: | |
name: Off State | |
description: Led state when light is off | |
default: Led On | |
selector: | |
select: | |
mode: dropdown | |
options: | |
- label: Led On | |
value: '3' | |
- label: Led Off | |
value: '2' | |
off_color: | |
name: Off Led Color | |
description: Color for led 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' | |
on_state: | |
name: On State | |
description: Led state when light is not dimmed | |
default: Led On | |
selector: | |
select: | |
mode: dropdown | |
options: | |
- label: Led On | |
value: '3' | |
- label: Led Off | |
value: '2' | |
on_color: | |
name: Not Dimmed Led Color | |
description: Color for led when not dimmed (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' | |
dim_state: | |
name: Dim State | |
description: Led state when light is dimmed | |
default: Led On | |
selector: | |
select: | |
mode: dropdown | |
options: | |
- label: Led On | |
value: '3' | |
- label: Led Off | |
value: '2' | |
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_state: !input 'on_state' | |
off_state: !input 'off_state' | |
dim_state: !input 'dim_state' | |
off_color: !input 'off_color' | |
on_color: !input 'on_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 | |
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 indicator to its off state | |
data: | |
parameter: '{{ (button_id | int) + (toggle_offset | int) }}' | |
value: '{{ off_state }}' | |
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 indicator to its on state | |
data: | |
parameter: '{{ (button_id | int) + (toggle_offset | int) }}' | |
value: '{{ dim_state }}' | |
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: | |
- parallel: | |
- service: zwave_js.set_config_parameter # set indicator color | |
data: | |
parameter: '{{ (button_id | int) + (color_offset | int) }}' | |
value: '{{ on_color }}' | |
target: | |
device_id: '{{ controller_id }}' | |
- service: zwave_js.set_config_parameter # turn indicator to its off state | |
data: | |
parameter: '{{ (button_id | int) + (toggle_offset | int) }}' | |
value: '{{ on_state }}' | |
target: | |
device_id: '{{ controller_id }}' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment