Lutron Sunnata Keypad Blueprints
Blueprints for integrating Lutron Sunnata RadioRA3 keypads with Home Assistant.
Goals
- Enable controls (buttons, LEDs) to operate with non-Lutron devides in equivalent ways as Lutron devices are
configured in RadioRA3 - Support additional kinds of keypad interactions, specifically double clicking and long press/release
Usage
The functionality is packaged as two separate automation blueprints, because the automations are called at different times with different concurrency needs.
- Lutron Sunnata Keypad Click/Long Click/Double Click - for handling different kinds of button events
- Lutron Sunnata Keypad LED Control - synchronizes the keypad LEDs to the states of external devices, replicating the Scene Toggle or Zone Toggle options in the Lutron designer software, but including non-Lutron devices
Important:
Button release events are only fired when the button is configured as Single Action in the Lutron designer software. This means that Lutron Sunnata Keypad Click/Long Click/Double Click will not work correctly for buttons configured as Scene Toggle or Zone Toggle in the software. Both of these behaviors can be easily emulated by binding the scripts to a Stateful Sceneswitch (for Scene Toggle) or to a Group entity (for Zone Toggle).
- Install both the Lutron Sunnata Keypad Click/Long Click/Double Click and Lutron Sunnata Keypad LED Control blueprints above.
- For the buttons you want to automate, go the Lutron Designer software and set the behavior to Single Action.
- Create a Lutron Sunnata Keypad Click/Long Click/Double Click automation for that keypad, defining appropriate actions for the button or buttons.
- Create a Lutron Sunnata Keypad LED Control automation for the keypad, defining the entity to synchronize to LED state for each button you want to control.
Supported Devices
- RRST-W2B-XX (Sunnata 2-Button Keypad)
- RRST-HN2B-XX (Sunnata Hybrid 2-Button Keypad)
- RRST-W3RL-XX (Sunnata 3-Button Keypad with Raise/Lower)
- RRST-HN3RL-XX (Sunnata Hybrid 3-Button Keypad with Raise/Lower)
- RRST-W4B-XX (Sunnata 4-Button Keypad)
- RRST-HN4B-XX (Sunnata Hybrid 4-Button Keypad)
Requirements
- Home Assistant 2024.6 or newer
- Lutron Caseta integration configured
- At least one Sunnata keypad connected to your Lutron controller
Configuration Options
Button Groups
Each button (1-4, Lower, Raise) has its own collapsible group with four action types:
- Single Click - Fires immediately for a quick press (or after double-click timeout if double click is configured)
- Double Click - Fires when the button is pressed twice quickly (leave empty to disable detection)
- Long Press - Fires when the button is held down (leave empty to disable detection)
- Release After Long Press - Fires when a long-pressed button is released. The special variable
long_press_durationwill be available for use in these actions. It is the number of milliseconds the button was held for.
Advanced Settings
- Long Press Timeout (default: 500ms) - How long to hold (in milliseconds) before triggering a long press
- Double Click Timeout (default: 250ms) - Maximum time (in milliseconds) between clicks for double-click detection
- Max Long Press Duration (default: 60s) - A long press will automatically be considered release after this delay (in seconds). This is to protect against accidentally creating a permanent loops.
Detection Logic
The blueprint intelligently handles button press detection:
- If both long press AND double click are disabled → Single click fires immediately (fastest response)
- If long press OR double click is enabled → Blueprint waits to determine the press type
- Long press takes priority → If held beyond the timeout, long press fires
- Double click detection → Waits for a second press within the timeout window
- Single click as fallback → If no double click detected, single click fires
Example Use Cases
Example 1: Light with Different Brightness Settings
Use a single button for on/dim/off behavior in a light. Also remmember to associate the light with the Button 1 LED using the Lutron Sunnata Keypad LED Control blueprint.
Button 1 - Single Click: Turn on at 50% brightness
- action: light.turn_on
target:
entity_id: light.bedroom
data:
brightness_pct: 50
Button 1 - Double Click: Turn on at 100% brightness
- action: light.turn_on
target:
entity_id: light.bedroom
data:
brightness_pct: 100
Button 1 - Long Press: Turn off
- action: light.turn_off
target:
entity_id: light.bedroom
Example 2: Alarm Control with LED Warning
Arms an alarm when the button is pressed, lighting the LEDS when the alarm is armed. Also remmember to associate the alarm_control_panel with the Button 2 LED using the Lutron Sunnata Keypad LED Control blueprint.
Button 2 - Single Click: Arm home with 30-second warning
- action: script.turn_on
metadata: {}
target:
entity_id: script.arm_alarm_after_flashing_light_for_30_seconds
data:
variables:
led_entity: switch.entry_keypad_button_2_led
arm_mode: arm_home
Button 2 - Double Click: Arm away with 30-second warning
- action: script.turn_on
metadata: {}
target:
entity_id: script.arm_alarm_after_flashing_light_for_30_seconds
data:
variables:
led_entity: switch.entry_keypad_button_2_led
arm_mode: arm_away
(Note: Requires a separate arm_alarm_after_flashing_light_for_30_seconds script)
Example 3: Scene Control
Uses a Stateful Scene switch to keep LED in sync. Also remmember to associate the switch with the Button 3 LED using the Lutron Sunnata Keypad LED Control blueprint.
Button 3 - Single Click: Activate “Movie Time” scene
- action: scene_switch.turn_on
target:
entity_id: scene_switch.movie_time
Button 3 - Double Click: Activate “Bedtime” scene
- action: scene_switch.turn_on
target:
entity_id: scene_switch.bedtime
Example 4: Multi-Action Sequence
Button 4 - Long Press: Turn off all lights in sequence.
In this case, the Button 4 LED can emulate Zone Toggle behavior (LED lit if any light is on) by creating a Group of lights and associating that Group to Button 4 using the Lutron Sunnata Keypad LED Control blueprint.
- action: light.turn_off
target:
area_id: living_room
- delay:
seconds: 1
- action: light.turn_off
target:
area_id: kitchen
Example 5: Using long press and release to start and stop a script
In this example, we trigger a script asynchronously that will perform a recurring action as long as the button is held.
When the button is released, the script will stop. We can do this by setting the script’s mode to restart so it can
be interrupted, or by using script.turn_off.
Raise Button - Long Press: Start a script that will repeatedly execute a command until forcibly stopped
- action: script.turn_on
metadata: {}
target:
entity_id: script.gradually_increase_brightness
Release After Long Press Stop the script
- action: script.turn_off
metadata: {}
target:
entity_id: script.gradually_increase_brightness
Example 6: Different actions based on how long a long press is
Lower Button - Long Press: (Not used.)
Release After Long Press If the button was pressed more than 5 secondfs
turn off the whole house. Otherwise, turn off the room.
- if:
- conditions: "{{ long_press_duration >= 5000 }}"
entity_id: group.all_family_members # Replace with a group of people/device trackers
state: "home"
then:
- action: script.turn_on
target:
entity_id: script.turn_off_whole_house
else:
- action: script.turn_on
target:
entity_id: script.turn_off_whole_house
Troubleshooting
Single Click Feels Slow
If only single clicks are configured, the response should be immediate. If it feels slow:
- Check if you accidentally added a double-click or long-press action
- Remove any empty/placeholder actions from double-click and long-press fields
Contributing
Please share feedback or requests for enhancements on the github page!
License
This blueprint is released under the Apache License 2.0.