I forked off of this amazing blueprint but changed the automation mode to queued
which works way better since inovelli switches will actually send off TWO events at the same time for some actions. This made the switch not as reliable. This makes it so that the events are queued and processed adequately.
blueprint:
name: "Inovelli Blue Series 2-1 Switch (ZHA) Queued"
description: Create automations for the Inovelli VZM31-SN using ZHA.
domain: automation
input:
inovelli_switch:
name: Inovelli VZM31-SN
description: "List of available Inovelli VZM31-SN switches."
selector:
device:
filter:
integration: zha
manufacturer: Inovelli
model: VZM31-SN
multiple: false
## Pressed Once
button_1:
name: Down paddle pressed
description: "Action to run when down paddle is pressed once."
default: []
selector:
action:
button_2:
name: Up paddle pressed
description: "Action to run when up paddle is pressed once."
default: []
selector:
action:
button_3:
name: Config button pressed
description: "Action to run when config button is pressed once."
default: []
selector:
action:
## Held
button_1_hold:
name: Down paddle held
description: "Action to run when down paddle is held."
default: []
selector:
action:
button_2_hold:
name: Up paddle held
description: "Action to run when up paddle is held."
default: []
selector:
action:
button_3_hold:
name: Config button held
description: "Action to run when config button is held."
default: []
selector:
action:
## Released
button_1_release:
name: Down paddle released
description: "Action to run when down paddle is released."
default: []
selector:
action:
button_2_release:
name: Up paddle released
description: "Action to run when up paddle is released."
default: []
selector:
action:
button_3_release:
name: Config button released
description: "Action to run when config button is released."
default: []
selector:
action:
## Pressed Twice
button_1_double:
name: Down paddle pressed twice
description: "Action to run when down paddle is pressed twice."
default: []
selector:
action:
button_2_double:
name: Up paddle pressed twice
description: "Action to run when up paddle is pressed twice."
default: []
selector:
action:
button_3_double:
name: Config button pressed twice
description: "Action to run when config button is pressed twice."
default: []
selector:
action:
## Pressed Thrice
button_1_triple:
name: Down paddle pressed three times
description: "Action to run when down paddle is pressed three times."
default: []
selector:
action:
button_2_triple:
name: Up paddle pressed three times
description: "Action to run when up paddle is pressed three times."
default: []
selector:
action:
button_3_triple:
name: Config button pressed three times
description: "Action to run when config button is pressed three times."
default: []
selector:
action:
## Pressed Four Times
button_1_quadruple:
name: Down paddle pressed four times
description: "Action to run when down paddle is pressed four times."
default: []
selector:
action:
button_2_quadruple:
name: Up paddle pressed four times
description: "Action to run when up paddle is pressed four times."
default: []
selector:
action:
button_3_quadruple:
name: Config button pressed four times
description: "Action to run when config button is pressed four times."
default: []
selector:
action:
## Pressed Five Times
button_1_quintuple:
name: Down paddle pressed five times
description: "Action to run when down paddle is pressed five times."
default: []
selector:
action:
button_2_quintuple:
name: Up paddle pressed five times
description: "Action to run when up paddle is pressed five times."
default: []
selector:
action:
button_3_quintuple:
name: Config button pressed five times
description: "Action to run when config button is pressed five times."
default: []
selector:
action:
mode: single
max_exceeded: silent
variables:
device_id: !input "inovelli_switch"
trigger:
- platform: event
event_type: zha_event
condition: "{{ trigger.event.data.device_id == device_id }}"
action:
- variables:
command: '{{ trigger.event.data.command }}'
- service: "logbook.log"
data:
name: 'ZHA'
message: 'received event: {{ command }}'
- choose:
### Button 1 (Down Paddle)
- conditions: "{{ command == 'button_1_press' }}"
sequence: !input button_1
- conditions: "{{ command == 'button_1_hold' }}"
sequence: !input button_1_hold
- conditions: "{{ command == 'button_1_release' }}"
sequence: !input button_1_release
- conditions: "{{ command == 'button_1_double' }}"
sequence: !input button_1_double
- conditions: "{{ command == 'button_1_triple' }}"
sequence: !input button_1_triple
- conditions: "{{ command == 'button_1_quadruple' }}"
sequence: !input button_1_quadruple
- conditions: "{{ command == 'button_1_quintuple' }}"
sequence: !input button_1_quintuple
### Button 2 (Upper Paddle)
- conditions: "{{ command == 'button_2_press' }}"
sequence: !input button_2
- conditions: "{{ command == 'button_2_hold' }}"
sequence: !input button_2_hold
- conditions: "{{ command == 'button_2_release' }}"
sequence: !input button_2_release
- conditions: "{{ command == 'button_2_double' }}"
sequence: !input button_2_double
- conditions: "{{ command == 'button_2_triple' }}"
sequence: !input button_2_triple
- conditions: "{{ command == 'button_2_quadruple' }}"
sequence: !input button_2_quadruple
- conditions: "{{ command == 'button_2_quintuple' }}"
sequence: !input button_2_quintuple
### Button 3 (Config Button)
- conditions: "{{ command == 'button_3_press' }}"
sequence: !input button_3
- conditions: "{{ command == 'button_3_hold' }}"
sequence: !input button_3_hold
- conditions: "{{ command == 'button_3_release' }}"
sequence: !input button_3_release
- conditions: "{{ command == 'button_3_double' }}"
sequence: !input button_3_double
- conditions: "{{ command == 'button_3_triple' }}"
sequence: !input button_3_triple
- conditions: "{{ command == 'button_3_quadruple' }}"
sequence: !input button_3_quadruple
- conditions: "{{ command == 'button_3_quintuple' }}"
sequence: !input button_3_quintuple