-
-
Save smartqasa/9814a750a0d0cfb196fa1fa7ae3630bb to your computer and use it in GitHub Desktop.
blueprint: | |
domain: automation | |
name: Lutron Pico 5 Button - Light Entity Control | |
description: >- | |
Control one or more lights using a Lutron Pico 5-Button remote (model PJ2-3BRL-GXX-X01). | |
This blueprint simulates a standard Lutron Caseta wall dimmer, including press-and-hold | |
dimming for the raise/lower buttons. Customize brightness step size, transition speed, | |
and optionally assign any action to the middle (favorite) button. | |
source_url: https://gist.github.com/smartqasa/9814a750a0d0cfb196fa1fa7ae3630bb | |
input: | |
pico: | |
name: Pico Device | |
description: "Pico remote to associate with light entity." | |
selector: | |
device: | |
filter: | |
model: PJ2-3BRL-GXX-X01 (Pico3ButtonRaiseLower) | |
entity: | |
name: Light Entity(ies) | |
description: "Light entity(ies) to control." | |
selector: | |
entity: | |
filter: | |
domain: light | |
multiple: true | |
step: | |
name: Brightness Step Percentage | |
description: "The percentage to increase/decrease the brightness when the raise/lower button is pressed." | |
default: 10 | |
selector: | |
number: | |
min: 1 | |
max: 25 | |
unit_of_measurement: percent | |
hold: | |
name: Hold Time | |
description: "The time in milliseconds to hold the raise/lower button before the light starts dimming. A button press of less than this time will brighten/dim the light by the step percentage." | |
default: 400 | |
selector: | |
number: | |
min: 100 | |
max: 1000 | |
unit_of_measurement: milliseconds | |
transition_on: | |
name: Transition On | |
description: The transition speed in seconds when turning the light(s) on. | |
default: 1 | |
selector: | |
number: | |
min: 0 | |
max: 10 | |
unit_of_measurement: seconds | |
transition_off: | |
name: Transition Off | |
description: The transition speed in seconds when turning the light(s) off. | |
default: 2 | |
selector: | |
number: | |
min: 0 | |
max: 10 | |
unit_of_measurement: seconds | |
middle_button_action: | |
name: Middle (Favorite) Button Override | |
description: "Optional actions to run when the middle (favorite) button is pressed. If left blank, the light will be set to 80% brightness and 2800K color temperature." | |
selector: | |
action: {} | |
default: | |
variables: | |
step: !input step | |
hold: !input hold | |
hold_time: "{{ hold / 1000 }}" | |
middle_button_action: !input middle_button_action | |
trigger: | |
- trigger: device | |
device_id: !input pico | |
domain: lutron_caseta | |
type: press | |
subtype: "on" | |
id: on_pressed | |
- trigger: device | |
device_id: !input pico | |
domain: lutron_caseta | |
type: press | |
subtype: raise | |
id: raise_pressed | |
- trigger: device | |
device_id: !input pico | |
domain: lutron_caseta | |
type: press | |
subtype: stop | |
id: stop_pressed | |
- trigger: device | |
device_id: !input pico | |
domain: lutron_caseta | |
type: press | |
subtype: lower | |
id: lower_pressed | |
- trigger: device | |
device_id: !input pico | |
domain: lutron_caseta | |
type: press | |
subtype: "off" | |
id: off_pressed | |
action: | |
- choose: | |
- conditions: | |
- condition: trigger | |
id: on_pressed | |
sequence: | |
- action: light.turn_on | |
data: | |
brightness_pct: 100 | |
transition: !input transition_on | |
target: | |
entity_id: !input entity | |
- conditions: | |
- condition: trigger | |
id: raise_pressed | |
sequence: | |
- repeat: | |
sequence: | |
- action: light.turn_on | |
data: | |
brightness_step_pct: "{{ step }}" | |
target: | |
entity_id: !input entity | |
continue_on_error: true | |
- wait_for_trigger: | |
- trigger: device | |
device_id: !input pico | |
domain: lutron_caseta | |
type: release | |
subtype: raise | |
timeout: | |
seconds: "{{ hold_time }}" | |
continue_on_timeout: true | |
- if: | |
- "{{ wait.remaining > 0 }}" | |
then: | |
- stop: | |
until: | |
- condition: numeric_state | |
entity_id: !input entity | |
attribute: brightness | |
above: 254 | |
- conditions: | |
- condition: trigger | |
id: stop_pressed | |
sequence: | |
- if: >- | |
{{ | |
middle_button_action is defined and | |
middle_button_action is sequence and | |
middle_button_action | length > 0 | |
}} | |
then: | |
- sequence: !input middle_button_action | |
else: | |
- action: light.turn_on | |
target: | |
entity_id: !input entity | |
data: | |
brightness_pct: 80 | |
kelvin: 2800 | |
- conditions: | |
- condition: trigger | |
id: lower_pressed | |
sequence: | |
- repeat: | |
sequence: | |
- action: light.turn_on | |
data: | |
brightness_step_pct: "{{ step * -1 }}" | |
target: | |
entity_id: !input entity | |
continue_on_error: true | |
- wait_for_trigger: | |
- trigger: device | |
device_id: !input pico | |
domain: lutron_caseta | |
type: release | |
subtype: lower | |
timeout: | |
seconds: "{{ hold_time }}" | |
continue_on_timeout: true | |
- if: | |
- "{{ wait.remaining > 0 }}" | |
then: | |
- stop: | |
until: | |
- condition: numeric_state | |
entity_id: !input entity | |
attribute: brightness | |
below: 1 | |
- conditions: | |
- condition: trigger | |
id: off_pressed | |
sequence: | |
- action: light.turn_off | |
data: | |
transition: !input transition_off | |
target: | |
entity_id: !input entity | |
mode: restart |
[{
"resource": "/config/blueprints/automation/Mikes",
"owner": "generated_diagnostic_collection_name#3",
"severity": 8,
"message": "Unresolved tag: !input",
"source": "YAML",
"startLineNumber": 70,
"startColumn": 9,
"endLineNumber": 70,
"endColumn": 21
},{
"resource": "/config/blueprints/automation/Mikes",
"owner": "generated_diagnostic_collection_name#3",
"severity": 8,
"message": "Unresolved tag: !input",
"source": "YAML",
"startLineNumber": 71,
"startColumn": 9,
"endLineNumber": 71,
"endColumn": 21
},{
"resource": "/config/blueprints/automation/Mikes",
"owner": "generated_diagnostic_collection_name#3",
"severity": 8,
"message": "Unresolved tag: !input",
"source": "YAML",
"startLineNumber": 73,
"startColumn": 25,
"endLineNumber": 73,
"endColumn": 53
},{
"resource": "/config/blueprints/automation/Mikes",
"owner": "generated_diagnostic_collection_name#3",
"severity": 8,
"message": "Unresolved tag: !input",
"source": "YAML",
"startLineNumber": 77,
"startColumn": 16,
"endLineNumber": 77,
"endColumn": 28
},{
"resource": "/config/blueprints/automation/Mikes",
"owner": "generated_diagnostic_collection_name#3",
"severity": 8,
"message": "Unresolved tag: !input",
"source": "YAML",
"startLineNumber": 83,
"startColumn": 16,
"endLineNumber": 83,
"endColumn": 28
},{
"resource": "/config/blueprints/automation/Mikes",
"owner": "generated_diagnostic_collection_name#3",
"severity": 8,
"message": "Unresolved tag: !input",
"source": "YAML",
"startLineNumber": 89,
"startColumn": 16,
"endLineNumber": 89,
"endColumn": 28
},{
"resource": "/config/blueprints/automation/Mikes",
"owner": "generated_diagnostic_collection_name#3",
"severity": 8,
"message": "Unresolved tag: !input",
"source": "YAML",
"startLineNumber": 95,
"startColumn": 16,
"endLineNumber": 95,
"endColumn": 28
},{
"resource": "/config/blueprints/automation/Mikes",
"owner": "generated_diagnostic_collection_name#3",
"severity": 8,
"message": "Unresolved tag: !input",
"source": "YAML",
"startLineNumber": 101,
"startColumn": 16,
"endLineNumber": 101,
"endColumn": 28
},{
"resource": "/config/blueprints/automation/Mikes",
"owner": "generated_diagnostic_collection_name#3",
"severity": 8,
"message": "Unresolved tag: !input",
"source": "YAML",
"startLineNumber": 116,
"startColumn": 27,
"endLineNumber": 116,
"endColumn": 48
},{
"resource": "/config/blueprints/automation/Mikes",
"owner": "generated_diagnostic_collection_name#3",
"severity": 8,
"message": "Unresolved tag: !input",
"source": "YAML",
"startLineNumber": 118,
"startColumn": 26,
"endLineNumber": 118,
"endColumn": 40
},{
"resource": "/config/blueprints/automation/Mikes",
"owner": "generated_diagnostic_collection_name#3",
"severity": 8,
"message": "Unresolved tag: !input",
"source": "YAML",
"startLineNumber": 129,
"startColumn": 32,
"endLineNumber": 129,
"endColumn": 46
},{
"resource": "/config/blueprints/automation/Mikes",
"owner": "generated_diagnostic_collection_name#3",
"severity": 8,
"message": "Unresolved tag: !input",
"source": "YAML",
"startLineNumber": 133,
"startColumn": 34,
"endLineNumber": 133,
"endColumn": 46
},{
"resource": "/config/blueprints/automation/Mikes",
"owner": "generated_diagnostic_collection_name#3",
"severity": 8,
"message": "Unresolved tag: !input",
"source": "YAML",
"startLineNumber": 146,
"startColumn": 30,
"endLineNumber": 146,
"endColumn": 44
},{
"resource": "/config/blueprints/automation/Mikes",
"owner": "generated_diagnostic_collection_name#3",
"severity": 8,
"message": "Unresolved tag: !input",
"source": "YAML",
"startLineNumber": 160,
"startColumn": 27,
"endLineNumber": 160,
"endColumn": 55
},{
"resource": "/config/blueprints/automation/Mikes",
"owner": "generated_diagnostic_collection_name#3",
"severity": 8,
"message": "Unresolved tag: !input",
"source": "YAML",
"startLineNumber": 164,
"startColumn": 30,
"endLineNumber": 164,
"endColumn": 44
},{
"resource": "/config/blueprints/automation/Mikes",
"owner": "generated_diagnostic_collection_name#3",
"severity": 8,
"message": "Unresolved tag: !input",
"source": "YAML",
"startLineNumber": 178,
"startColumn": 32,
"endLineNumber": 178,
"endColumn": 46
},{
"resource": "/config/blueprints/automation/Mikes",
"owner": "generated_diagnostic_collection_name#3",
"severity": 8,
"message": "Unresolved tag: !input",
"source": "YAML",
"startLineNumber": 182,
"startColumn": 34,
"endLineNumber": 182,
"endColumn": 46
},{
"resource": "/config/blueprints/automation/Mikes",
"owner": "generated_diagnostic_collection_name#3",
"severity": 8,
"message": "Unresolved tag: !input",
"source": "YAML",
"startLineNumber": 195,
"startColumn": 30,
"endLineNumber": 195,
"endColumn": 44
},{
"resource": "/config/blueprints/automation/Mikes",
"owner": "generated_diagnostic_collection_name#3",
"severity": 8,
"message": "Unresolved tag: !input",
"source": "YAML",
"startLineNumber": 204,
"startColumn": 27,
"endLineNumber": 204,
"endColumn": 49
},{
"resource": "/config/blueprints/automation/Mikes",
"owner": "generated_diagnostic_collection_name#3",
"severity": 8,
"message": "Unresolved tag: !input",
"source": "YAML",
"startLineNumber": 206,
"startColumn": 26,
"endLineNumber": 206,
"endColumn": 40
}]
Not sure what I have done wrong but I can't get any blueprints to work
A minor re-write to better control the press and hold functionality