Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kreene1987/4f415951763b03dce4e4b65c6e2ab3cd to your computer and use it in GitHub Desktop.
Save kreene1987/4f415951763b03dce4e4b65c6e2ab3cd to your computer and use it in GitHub Desktop.
Home Assistant Blueprint - Inovelli Red On/Off or Dimmer Scene to Actions
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: light
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