Last active
July 1, 2024 23:10
-
-
Save sle118/f4663622f210ecf6f11ba903d4e6aef9 to your computer and use it in GitHub Desktop.
Blueprint: Set Indicator on a ZEN32 Scene Controller button Based on Switch Status with on/off state overwrite
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 for SWITCH on Scene Controller with State Overwrite | |
description: For Zooz ZEN32. Sets the indicator color when switch is off or on. | |
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: Switch | |
description: The switch to link to button | |
selector: | |
entity: | |
domain: switch | |
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: State Off Color | |
description: Color for led when switch 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 On | |
default: Led On | |
selector: | |
select: | |
mode: dropdown | |
options: | |
- label: Led On | |
value: '3' | |
- label: Led Off | |
value: '2' | |
on_color: | |
name: State On Color | |
description: Color for led when switch is on (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' | |
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' | |
on_color: !input 'on_color' | |
off_state: !input 'off_state' | |
off_color: !input 'off_color' | |
trigger: | |
- 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'') }}' # switch on | |
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 }}' |
Thank You so much for this -- I have been wanting to do this for a while. Wanted to share, that the latest firmware on the ZEN32 adds 3 more colors. I think that I modified your Blueprint accurately, but will have to figure out how to change the Automation I already created with it...as the new colors do not show. Below, I added the three new colors.
blueprint:
name: Set Indicator Light for SWITCH on Scene Controller with State Overwrite
description: For Zooz ZEN32. Sets the indicator color when switch is off or on.
domain: automation
input:
zooz_switch:
name: Zooz Switch
description: List of available Zooz ZEN32 switches.
selector:
device:
integration: zwave_js
manufacturer: Zooz
model: ZEN32
multiple: false
target_light:
name: Switch
description: The switch to link to button
selector:
entity:
domain:
- switch
multiple: false
scene_button:
name: Scene Button
description: The button to link to light
selector:
select:
mode: dropdown
options:
- label: Scene 5 (Big Button)
value: '0'
- label: Scene 1 (Top Left)
value: '1'
- label: Scene 2 (Top Right)
value: '2'
- label: Scene 3 (Bottom Left)
value: '3'
- label: Scene 4 (Bottom Right)
value: '4'
sort: false
custom_value: false
multiple: false
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'
sort: false
custom_value: false
multiple: false
off_color:
name: State Off Color
description: Color for led when switch 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'
sort: false
custom_value: false
multiple: false
on_state:
name: On State
description: Led state when light is On
default: Led On
selector:
select:
mode: dropdown
options:
- label: Led On
value: '3'
- label: Led Off
value: '2'
sort: false
custom_value: false
multiple: false
on_color:
name: State On Color
description: Color for led when switch is on (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'
sort: false
custom_value: false
multiple: false
source_url: https://gist.github.com/sle118/f4663622f210ecf6f11ba903d4e6aef9
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
on_color: !input on_color
off_state: !input off_state
off_color: !input off_color
trigger:
- platform: state
entity_id: !input target_light
action:
- choose:
- conditions: '{{ is_state(light_id, ''off'') }}'
sequence:
- parallel:
- service: zwave_js.set_config_parameter
data:
parameter: '{{ (button_id | int) + (color_offset | int) }}'
value: '{{ off_color }}'
target:
device_id: '{{ controller_id }}'
- service: zwave_js.set_config_parameter
data:
parameter: '{{ (button_id | int) + (toggle_offset | int) }}'
value: '{{ off_state }}'
target:
device_id: '{{ controller_id }}'
- conditions: '{{ is_state(light_id, ''on'') }}'
sequence:
- parallel:
- service: zwave_js.set_config_parameter
data:
parameter: '{{ (button_id | int) + (color_offset | int) }}'
value: '{{ on_color }}'
target:
device_id: '{{ controller_id }}'
- service: zwave_js.set_config_parameter
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
Thank you for creating this! I'm having an issue where if I set the relay button, for some reason it turns on the LED and makes the switch say it's On even if the switch isnt. This only happens for the relay button