Lutron Caseta Pico 4-Button Scene Remote

This blueprint allows the user to map actions to buttons on the Lutron Caseta four-button scene pico remote.

  • This works with the core Lutron Caseta integration only.
  • Works with four-button scene pico remote model PJ2-4B-GXX-X31 (Pico4ButtonScene).
  • Supports press and release action for each button.

Blueprint

Click the badge to import this Blueprint: (needs Home Assistant Core 2021.3 or higher)

Open your Home Assistant instance and show the blueprint import dialog with a specific blueprint pre-filled.

Or import this Blueprint by using the forum topic URL:

blueprint:
  name: Lutron Four-Button Scene Pico Actions
  description: Specify actions when pico buttons are pressed/released.
  domain: automation
  input:
    pico:
      name: Pico Four-Button Scene Remote
      description: "Select the pico four-button scene remote to configure."
      selector:
        device:
          integration: lutron_caseta
          model: PJ2-4B-GXX-X31 (Pico4ButtonScene)
    button_1_press:
      name: Scene One Pressed
      default: []
      selector:
        action: {}
    button_1_released:
      name: Scene One Released
      default: []
      selector:
        action: {}
    button_2_press:
      name: Scene Two Pressed
      default: []
      selector:
        action: {}
    button_2_released:
      name: Scene Two Released
      default: []
      selector:
        action: {}
    button_3_press:
      name: Scene Three Pressed
      default: []
      selector:
        action: {}
    button_3_released:
      name: Scene Three Released
      default: []
      selector:
        action: {}
    off_button_press:
      name: Off Pressed
      default: []
      selector:
        action: {}
    off_button_released:
      name: Off Released
      default: []
      selector:
        action: {}

trigger:
  - platform: device
    device_id: !input pico
    domain: lutron_caseta
    type: press
    subtype: 'button_1'
  - platform: device
    device_id: !input pico
    domain: lutron_caseta
    type: release
    subtype: 'button_1'
  - platform: device
    device_id: !input pico
    domain: lutron_caseta
    type: press
    subtype: 'button_2'
  - platform: device
    device_id: !input pico
    domain: lutron_caseta
    type: release
    subtype: 'button_2'
  - platform: device
    device_id: !input pico
    domain: lutron_caseta
    type: press
    subtype: 'button_3'
  - platform: device
    device_id: !input pico
    domain: lutron_caseta
    type: release
    subtype: 'button_3'
  - platform: device
    device_id: !input pico
    domain: lutron_caseta
    type: press
    subtype: 'off'
  - platform: device
    device_id: !input pico
    domain: lutron_caseta
    type: release
    subtype: 'off'

action:
  - choose:
      # First scene button press
      - conditions:
          - condition: template
            value_template: '{{ trigger.event.data.button_number == 8 }}'
          - condition: template
            value_template: '{{ trigger.event.data.action == "press" }}'
        sequence: !input button_1_press
      # First scene button release
      - conditions:
          - condition: template
            value_template: '{{ trigger.event.data.button_number == 8 }}'
          - condition: template
            value_template: '{{ trigger.event.data.action == "release" }}'
        sequence: !input button_1_released
      # Second scene button press
      - conditions:
          - condition: template
            value_template: '{{ trigger.event.data.button_number == 9 }}'
          - condition: template
            value_template: '{{ trigger.event.data.action == "press" }}'
        sequence: !input button_2_press
      # Second scene button release
      - conditions:
          - condition: template
            value_template: '{{ trigger.event.data.button_number == 9 }}'
          - condition: template
            value_template: '{{ trigger.event.data.action == "release" }}'
        sequence: !input button_2_released
      # Third scene button press
      - conditions:
          - condition: template
            value_template: '{{ trigger.event.data.button_number == 10 }}'
          - condition: template
            value_template: '{{ trigger.event.data.action == "press" }}'
        sequence: !input button_3_press
      # Third scene button release
      - conditions:
          - condition: template
            value_template: '{{ trigger.event.data.button_number == 10 }}'
          - condition: template
            value_template: '{{ trigger.event.data.action == "release" }}'
        sequence: !input button_3_released
      # Off button press
      - conditions:
          - condition: template
            value_template: '{{ trigger.event.data.button_number == 11 }}'
          - condition: template
            value_template: '{{ trigger.event.data.action == "press" }}'
        sequence: !input off_button_press
      # Off button release
      - conditions:
          - condition: template
            value_template: '{{ trigger.event.data.button_number == 11 }}'
          - condition: template
            value_template: '{{ trigger.event.data.action == "release" }}'
        sequence: !input off_button_released
    default: []
mode: restart

Based on the Lutron Caseta Pico (Core Integration Only) blueprint by @stephack.

5 Likes

@mattsheffiel, take a look at the updates to my Pico BP. Took a few suggestions from @erikg to optimize the code…it looks little prettier too :wink:

@stephack, nice! I’ll modify mine to use that logic when I get a moment. That is much cleaner. Great idea @erikg!

I wish there was a way to make a generic BP for all of the pico remotes but I don’t see a simple way to execute such a thing with the current BP capabilities.

It’s “possible” but the BP would become way too complicated for such a simple function. That was initially why I left out the release function since I believe it would be rarely used anyway. When you added it, I figured the feature request would be coming along at some point anyway, so I went ahead and added it as well.
To have all the various picos, each with their own button layout and different button numbers…well…it would be nested, within nested, within nested. Not really worth IMHO.

would this work for Lutron RA2 select system??

I’m looking to activate a scene through IFTTT when a button is pressed on a pico remote, with the ultimate goal of being able to send rf codes from a button press.

Hello, are you considering setting up a badge so that we can do the automated “import blueprint”? (From a newbie)
Thanks.

Pretty awesome

Does this only work with a Pro or RA2 bridge?

Hi @mattsheffiel and @stephack
I don’t totally understand the release event.
I’d like to have each button on a single press turn a scene on, then if the scene is on another press turns it off. Is this possible?

Also do you guys know if this script will work with PJ2-4B-GXX-L01?

See my response in the other thread regarding toggling scenes.

Thanks stephack
I read into the input select and toggling. A little over my head. I’m more or less a newbie that is good at following guides. Learning as I go.

If I’m not mistaken I can make any 4 button pico control a group of lights to ramp on via HA integration right? Just wouldn’t be native lutron and would require core integration and some HA programming?
If I can’t get toggling to work well my backup plan was to get a PJ2-4B-GWH-L01 because they are cheaper and make
Button 1 Kitchen (3 caseta loads to 75%
Button 2 Kitchen Off (3 caseta loads to 0%)
Button 3 Family (4 family room caseta loads to 75%)
Button 4 Family Off (4 family room caseta loads to 0%)

I’d have the buttons custom engraved after everything is installed and tweaked correctly.

All that said, maybe I should just add (I have plenty of jboxes) some wifi topgreener scene controllers like these flash with tasmota have it backhaul to the lutron casetas.

It seems like I would be able to toggle easier this way and have more flexibility of loads to dim. Does this seem feasible?

Do you think with wifi switches flashed w tasmota will be as fast and synchronized ?
IE
WiFiswitch>hass>lutron casetas
vs
Pico>HA>Lutron casetas