Instantly share code, notes, and snippets.
Forked from gregtakacs/lutron_pico_4_button_actions.yaml
Last active
December 11, 2024 23:22
-
Star
(0)
0
You must be signed in to star a gist -
Fork
(0)
0
You must be signed in to fork a gist
-
Save thanegill/2705492a960e8465b44f8581e0890305 to your computer and use it in GitHub Desktop.
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: Lutron Pico Paddle Actions | |
description: | | |
Different Actions on Short, Long, and Double Click button presses. | |
There is no Double Click for up/down as those are slower to respond and produce bad experience. | |
Make sure you have enabled at least one Pico Event Entity for each device, they are default to not enabled as of 2023.3, otherwise they won't show up as an available device in the drop down list. | |
domain: automation | |
input: | |
pico_id: | |
name: Lutron Pico | |
description: The Lutron Pico used to trigger the automations | |
selector: | |
device: | |
model: PJ2-1P-GXX (PaddleSwitchPico) | |
multiple: false | |
short_click_action_on: | |
name: On Button Short Click | |
description: The action(s) to launch for a single short click | |
default: [] | |
selector: | |
action: {} | |
short_click_action_off: | |
name: Off Button Short Click | |
description: The action(s) to launch for a single short click | |
default: [] | |
selector: | |
action: {} | |
long_click_action_on: | |
name: On Button Long Click | |
description: The action(s) to launch for a long click | |
default: [] | |
selector: | |
action: {} | |
long_click_action_off: | |
name: Off Button Long Click | |
description: The action(s) to launch for a long click | |
default: [] | |
selector: | |
action: {} | |
double_click_action_on: | |
name: On Button Double Click | |
description: The action(s) to launch for a double click | |
default: [] | |
selector: | |
action: {} | |
double_click_action_off: | |
name: Off Button Double Click | |
description: The action(s) to launch for a double click | |
default: [] | |
selector: | |
action: {} | |
delay_click: | |
name: Double Click Delay | |
description: The time in milliseconds used for the double click detection | |
default: 250 | |
selector: | |
number: | |
min: 100 | |
max: 1000 | |
unit_of_measurement: milliseconds | |
step: 1 | |
mode: slider | |
delay_hold: | |
name: Hold Delay | |
description: The time in milliseconds used for the hold detection | |
default: 1000 | |
selector: | |
number: | |
min: 1000 | |
max: 4000 | |
unit_of_measurement: milliseconds | |
step: 1 | |
mode: slider | |
trigger: | |
- platform: device | |
device_id: !input pico_id | |
domain: lutron_caseta | |
type: press | |
subtype: 'Button 0' | |
id: on_pressed | |
- platform: device | |
device_id: !input pico_id | |
domain: lutron_caseta | |
type: press | |
subtype: 'Button 2' | |
id: off_pressed | |
action: | |
- variables: | |
hold_ms: !input delay_hold | |
tap_ms: !input delay_click | |
pico_id: "{{ trigger.event.data.device_id }}" | |
button_name: "{{ trigger.event.data.button_type }}" | |
- choose: | |
- conditions: | |
- condition: trigger | |
id: on_pressed | |
sequence: | |
- wait_for_trigger: | |
- platform: device | |
device_id: !input pico_id | |
domain: lutron_caseta | |
type: release | |
subtype: "Button 0" | |
timeout: | |
milliseconds: "{{ hold_ms }}" | |
- choose: | |
- conditions: | |
- condition: template | |
value_template: "{{ wait.trigger == none }}" | |
sequence: !input long_click_action_on | |
default: | |
- wait_for_trigger: | |
- platform: device | |
device_id: !input pico_id | |
domain: lutron_caseta | |
type: press | |
subtype: "Button 0" | |
timeout: | |
milliseconds: "{{ tap_ms }}" | |
- choose: | |
- conditions: | |
- condition: template | |
value_template: "{{ wait.trigger == none }}" | |
sequence: !input short_click_action_on | |
default: !input double_click_action_on | |
- conditions: | |
- condition: trigger | |
id: off_pressed | |
sequence: | |
- wait_for_trigger: | |
- platform: device | |
device_id: !input pico_id | |
domain: lutron_caseta | |
type: release | |
subtype: "Button 2" | |
timeout: | |
milliseconds: "{{ hold_ms }}" | |
- choose: | |
- conditions: | |
- condition: template | |
value_template: "{{ wait.trigger == none }}" | |
sequence: !input long_click_action_off | |
default: | |
- wait_for_trigger: | |
- platform: device | |
device_id: !input pico_id | |
domain: lutron_caseta | |
type: press | |
subtype: "Button 2" | |
timeout: | |
milliseconds: "{{ tap_ms }}" | |
- choose: | |
- conditions: | |
- condition: template | |
value_template: "{{ wait.trigger == none }}" | |
sequence: !input short_click_action_off | |
default: !input double_click_action_off | |
mode: single |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment