Instantly share code, notes, and snippets.
Created
January 10, 2025 21:51
-
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 eddyg/9d45c3b652563cffb350e4a25151d426 to your computer and use it in GitHub Desktop.
Lutron Pico Automation Blueprints for Home Assistant
This file contains hidden or 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 4 Button P02 Actions | |
description: | | |
Different Actions on Short, Long, and Double Click button presses. | |
Based off of GregTR's version. This blueprint is specifically for the P02 Scene Pico (Bright, Cooking, Dining, Off). | |
Make sure you have enabled at least one Pico Event Entity for each device, they default to not enabled (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-4B-GXX-P02 (Pico4ButtonScene) | |
multiple: false | |
short_click_action_bright: | |
name: Bright Button Short Click | |
description: The action(s) to launch for a single short click | |
default: [] | |
selector: | |
action: {} | |
short_click_action_cooking: | |
name: Cooking Button Short Click | |
description: The action(s) to launch for a single short click | |
default: [] | |
selector: | |
action: {} | |
short_click_action_dining: | |
name: Dining 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_bright: | |
name: Bright Button Long Click | |
description: The action(s) to launch for a long click | |
default: [] | |
selector: | |
action: {} | |
long_click_action_cooking: | |
name: Cooking Button Long Click | |
description: The action(s) to launch for a long click | |
default: [] | |
selector: | |
action: {} | |
long_click_action_dining: | |
name: Dining 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_bright: | |
name: Bright Button Double Click | |
description: The action(s) to launch for a double click | |
default: [] | |
selector: | |
action: {} | |
double_click_action_cooking: | |
name: Cooking Button Double Click | |
description: The action(s) to launch for a double click | |
default: [] | |
selector: | |
action: {} | |
double_click_action_dining: | |
name: Dining 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_1' | |
id: bright_pressed | |
- platform: device | |
device_id: !input pico_id | |
domain: lutron_caseta | |
type: press | |
subtype: 'button_2' | |
id: cooking_pressed | |
- platform: device | |
device_id: !input pico_id | |
domain: lutron_caseta | |
type: press | |
subtype: 'button_3' | |
id: dining_pressed | |
- platform: device | |
device_id: !input pico_id | |
domain: lutron_caseta | |
type: press | |
subtype: 'off' | |
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: bright_pressed | |
sequence: | |
- wait_for_trigger: | |
- platform: device | |
device_id: !input pico_id | |
domain: lutron_caseta | |
type: release | |
subtype: 'button_1' | |
timeout: | |
milliseconds: "{{ hold_ms }}" | |
- choose: | |
- conditions: | |
- condition: template | |
value_template: "{{ wait.trigger == none }}" | |
sequence: !input long_click_action_bright | |
default: | |
- wait_for_trigger: | |
- platform: device | |
device_id: !input pico_id | |
domain: lutron_caseta | |
type: press | |
subtype: 'button_1' | |
timeout: | |
milliseconds: "{{ tap_ms }}" | |
- choose: | |
- conditions: | |
- condition: template | |
value_template: "{{ wait.trigger == none }}" | |
sequence: !input short_click_action_bright | |
default: !input double_click_action_bright | |
- conditions: | |
- condition: trigger | |
id: cooking_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_cooking | |
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_cooking | |
default: !input double_click_action_cooking | |
- conditions: | |
- condition: trigger | |
id: dining_pressed | |
sequence: | |
- wait_for_trigger: | |
- platform: device | |
device_id: !input pico_id | |
domain: lutron_caseta | |
type: release | |
subtype: 'button_3' | |
timeout: | |
milliseconds: "{{ hold_ms }}" | |
- choose: | |
- conditions: | |
- condition: template | |
value_template: "{{ wait.trigger == none }}" | |
sequence: !input long_click_action_dining | |
default: | |
- wait_for_trigger: | |
- platform: device | |
device_id: !input pico_id | |
domain: lutron_caseta | |
type: press | |
subtype: 'button_3' | |
timeout: | |
milliseconds: "{{ tap_ms }}" | |
- choose: | |
- conditions: | |
- condition: template | |
value_template: "{{ wait.trigger == none }}" | |
sequence: !input short_click_action_dining | |
default: !input double_click_action_dining | |
- conditions: | |
- condition: trigger | |
id: off_pressed | |
sequence: | |
- wait_for_trigger: | |
- platform: device | |
device_id: !input pico_id | |
domain: lutron_caseta | |
type: release | |
subtype: "off" | |
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: "off" | |
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