Created
December 30, 2020 21:45
-
-
Save kylezimmerman/065bcbec34b79fd838eb59055ac18e6f to your computer and use it in GitHub Desktop.
Home Assistant Blueprint - Inovelli Red On/Off or Dimmer Scene to Actions
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: Inovelli Red On/Off or Dimmer Switch Scenes | |
description: > | |
Perform actions on various scenes supported by the Inovelli Red On/Off or Dimmer Switches | |
Note that the x2, x3, x4, x5 variants DO NOT work if you have put your switch in 'Instant On' mode. | |
domain: automation | |
input: | |
inovelli_switch: | |
name: Inovelli Red On/Off Switch | |
description: The Inovelli Red On/Off or Dimmer Switch to do actions on | |
selector: | |
entity: | |
domain: zwave | |
up_action: | |
name: Press Up Once Action | |
description: Action to perform when pressing up once | |
default: [] | |
selector: | |
action: | |
down_action: | |
name: Press Down Once Action | |
description: Action to perform when pressing down once | |
default: [] | |
selector: | |
action: | |
up_hold_action: | |
name: Hold Up Action | |
description: Action to perform when holding the up button | |
default: [] | |
selector: | |
action: | |
up_release_action: | |
name: Release Up Action | |
description: Action to perform when releasing the up button | |
default: [] | |
selector: | |
action: | |
down_hold_action: | |
name: Hold Down Action | |
description: Action to perform when holding the down button | |
default: [] | |
selector: | |
action: | |
down_release_action: | |
name: Release Down Action | |
description: Action to perform when releasing the down button | |
default: [] | |
selector: | |
action: | |
config_action: | |
name: Config Button Action | |
description: The action to perform when the config button is pressed once | |
default: [] | |
selector: | |
action: | |
up_x2_action: | |
name: Press Up Twice Action | |
description: Action to perform when pressing up twice | |
default: [] | |
selector: | |
action: | |
down_x2_action: | |
name: Press Down Twice Action | |
description: Action to perform when pressing down twice | |
default: [] | |
selector: | |
action: | |
up_x3_action: | |
name: Press Up 3 Times Action | |
description: Action to perform on when pressing up 3 times | |
default: [] | |
selector: | |
action: | |
down_x3_action: | |
name: Press Down 3 Times Action | |
description: Action to perform when pressing down 3 times | |
default: [] | |
selector: | |
action: | |
up_x4_action: | |
name: Press Up 4 Times Action | |
description: Action to perform when pressing up 4 times | |
default: [] | |
selector: | |
action: | |
down_x4_action: | |
name: Press Down 4 Times Action | |
description: Action to perform when pressing down 4 times | |
default: [] | |
selector: | |
action: | |
up_x5_action: | |
name: Press Up 5 Times Action | |
description: Action to perform when pressing up 5 times | |
default: [] | |
selector: | |
action: | |
down_x5_action: | |
name: Press Down 5 Times Action | |
description: Action to perform when pressing down 5 times | |
default: [] | |
selector: | |
action: | |
mode: parallel | |
max_exceeded: silent | |
variables: | |
# Mappings from https://support.inovelli.com/portal/en/kb/articles/how-to-setting-up-scenes-in-home-assistant | |
# Buttons (scene_id) | |
down_button: 1 | |
up_button: 2 | |
config_button: 3 | |
# Action types (scene_data) | |
press_x1: 7680 | |
press_x2: 7860 | |
press_x3: 7920 | |
press_x4: 7980 | |
press_x5: 8040 | |
hold: 7800 | |
release: 7740 | |
# Shorthand to access the trigger data | |
button: "{{ trigger.event.data.scene_id }}" | |
action_type: "{{ trigger.event.data.scene_data }}" | |
trigger: | |
- platform: event | |
event_type: zwave.scene_activated | |
event_data: | |
entity_id: !input inovelli_switch | |
action: | |
choose: | |
- conditions: "{{ button == up_button }}" | |
sequence: | |
- choose: | |
- conditions: "{{ action_type == press_x1 }}" | |
sequence: !input up_action | |
- conditions: "{{ action_type == press_x2 }}" | |
sequence: !input up_x2_action | |
- conditions: "{{ action_type == press_x3 }}" | |
sequence: !input up_x3_action | |
- conditions: "{{ action_type == press_x4 }}" | |
sequence: !input up_x4_action | |
- conditions: "{{ action_type == press_x5 }}" | |
sequence: !input up_x5_action | |
- conditions: "{{ action_type == hold }}" | |
sequence: !input up_hold_action | |
- conditions: "{{ action_type == release }}" | |
sequence: !input up_release_action | |
- conditions: "{{ button == down_button }}" | |
sequence: | |
- choose: | |
- conditions: "{{ action_type == press_x1 }}" | |
sequence: !input down_action | |
- conditions: "{{ action_type == press_x2 }}" | |
sequence: !input down_x2_action | |
- conditions: "{{ action_type == press_x3 }}" | |
sequence: !input down_x3_action | |
- conditions: "{{ action_type == press_x4 }}" | |
sequence: !input down_x4_action | |
- conditions: "{{ action_type == press_x5 }}" | |
sequence: !input down_x5_action | |
- conditions: "{{ action_type == hold }}" | |
sequence: !input down_hold_action | |
- conditions: "{{ action_type == release }}" | |
sequence: !input down_release_action | |
- conditions: "{{ button == config_button and action_type == press_x1 }}" | |
sequence: !input config_action |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment