Photo: Shelly Bluetooth remote (numbers = button numbers)
WHAT IS IT?
Here’s my second blueprint!
A blueprint that enables you to quickly configure a switch. It also is a lot easier to look at compared to manual events in an automation.
It was inspired by @blake.dubiel blueprint that was enhanced by @Shiroe93 .
Updates:
- Actions grouped per button (see screenshot below)
- The least amount of text possible. (well you could use less text)
SETUP
- Import blueprint - Click the button above.
- Open blueprint
- Select switch - listed in the switch dropdown
- Configure actions - for each button
- Save
- Test
REQUIREMENTS
- Supported switch
- A shelly plus or gen3 device that can relay bluetooth to HA
DEVICE INFO
- Manufacturer: Shelly
- Model: BLU RC 4 button
- Buttons: 4
- Supported actions:
○ single click
○ double click
○ triple click
○ long click - Not supported in this blueprint (because of ‘rarely used’)
○ long double click
○ long triple click
○ hold click
NOTES:
- SIngle switch: I have not enabled multiple switches in a single automation. It’s so easy to duplicate an automation and select another switch if you need 2 of the same switches.
TIPS
- Use a labelmaker to print labels with icons, numbers or text. Great for the xAF (whatever Acceptance Factor).
- Mounting: I use very thin nano tape (see through / gel type) to put them on a wall. The factory default mounting tape is often impossible to take off.
Note that this shelly remote has a magnetic base! - Firmware update. There was a situation where this remote needed a firmware update to to bring the battery consumption acceptable level. So make sure it runs that latest firmware!
blueprint:
name: _Shelly BLU RC 4-Button bluetooth remote ULTRA by DJF3
description: "Shelly blueprint for the <strong>Shelly BLU RC 4-Button bluetooth remote</strong>.<br>
\ inspired by blake.dubiel and Shiroe93 [community](https://community.home-assistant.io/t/shelly-blu-rc-4/774639)
\ Version 0.10: First version<br>
\ Device info: [Shelly BLU RC 4 button](https://www.shelly.com/products/shelly-blu-rc-button-4)
\n
\n .-----. SUPPORTED:
\n | 1 | - single/double/triple click
\n |-----| - long click
\n | 2 |
\n |-----| NOT SUPPORTED (rarely used)
\n | 3 | - long_double click
\n |-----| - long_triple click
\n | 4 | - hold click
\n '-----'\n"
author: DJ Uittenbogaard
homeassistant:
min_version: 2025.3.0
domain: automation
input:
your_remote:
name: "Select your Shelly BLU RC 4-button bluetooth remote"
description: ""
selector:
device:
filter:
- integration: bthome
model: BLU Button1
multiple: false
button1_section:
name: BUTTON 1
icon: mdi:numeric-1-box-outline
collapsed: true
input:
input_button1_short:
name: Button 1 - SINGLE click
description: ""
default: []
selector:
action: {}
input_button1_double:
name: Button 1 - DOUBLE click
description: ""
default: []
selector:
action: {}
input_button1_triple:
name: Button 1 - TRIPLE click
description: ""
default: []
selector:
action: {}
input_button1_long:
name: Button 1 - LONG click
description: ""
default: []
selector:
action: {}
button2_section:
name: BUTTON 2
icon: mdi:numeric-2-box-outline
collapsed: true
input:
input_button2_short:
name: Button 2 - SINGLE click
description: ""
default: []
selector:
action: {}
input_button2_double:
name: Button 2 - DOUBLE click
description: ""
default: []
selector:
action: {}
input_button2_triple:
name: Button 2 - TRIPLE click
description: ""
default: []
selector:
action: {}
input_button2_long:
name: Button 2 - LONG click
description: ""
default: []
selector:
action: {}
button3_section:
name: BUTTON 3
icon: mdi:numeric-3-box-outline
collapsed: true
input:
input_button3_short:
name: Button 3 - SINGLE click
description: ""
default: []
selector:
action: {}
input_button3_double:
name: Button 3 - DOUBLE click
description: ""
default: []
selector:
action: {}
input_button3_triple:
name: Button 3 - TRIPLE click
description: ""
default: []
selector:
action: {}
input_button3_long:
name: Button 3 - LONG click
description: ""
default: []
selector:
action: {}
button4_section:
name: BUTTON 4
icon: mdi:numeric-4-box-outline
collapsed: true
input:
input_button4_short:
name: Button 4 - SINGLE click
description: ""
default: []
selector:
action: {}
input_button4_double:
name: Button 4 - DOUBLE click
description: ""
default: []
selector:
action: {}
input_button4_triple:
name: Button 4 - TRIPLE click
description: ""
default: []
selector:
action: {}
input_button4_long:
name: Button 4 - LONG click
description: ""
default: []
selector:
action: {}
trigger:
- platform: event
event_type: bthome_ble_event
event_data:
device_id: !input your_remote
mode: single
action:
- choose:
# ------- Button 1
- conditions:
- condition: template
value_template: '{{ trigger.event.data.event_class == ''button_1'' and trigger.event.data.event_type == ''press'' }}'
sequence: !input input_button1_short
- conditions:
- condition: template
value_template: '{{ trigger.event.data.event_class == ''button_1'' and trigger.event.data.event_type == ''double_press'' }}'
sequence: !input input_button1_double
- conditions:
- condition: template
value_template: '{{ trigger.event.data.event_class == ''button_1'' and trigger.event.data.event_type == ''triple_press'' }}'
sequence: !input input_button1_triple
- conditions:
- condition: template
value_template: '{{ trigger.event.data.event_class == ''button_1'' and trigger.event.data.event_type == ''long_press'' }}'
sequence: !input input_button1_long
# ------- Button 2
- conditions:
- condition: template
value_template: '{{ trigger.event.data.event_class == ''button_2'' and trigger.event.data.event_type == ''press'' }}'
sequence: !input input_button2_short
- conditions:
- condition: template
value_template: '{{ trigger.event.data.event_class == ''button_2'' and trigger.event.data.event_type == ''double_press'' }}'
sequence: !input input_button2_double
- conditions:
- condition: template
value_template: '{{ trigger.event.data.event_class == ''button_2'' and trigger.event.data.event_type == ''triple_press'' }}'
sequence: !input input_button2_triple
- conditions:
- condition: template
value_template: '{{ trigger.event.data.event_class == ''button_2'' and trigger.event.data.event_type == ''long_press'' }}'
sequence: !input input_button2_long
# ------- Button 3
- conditions:
- condition: template
value_template: '{{ trigger.event.data.event_class == ''button_3'' and trigger.event.data.event_type == ''press'' }}'
sequence: !input input_button3_short
- conditions:
- condition: template
value_template: '{{ trigger.event.data.event_class == ''button_3'' and trigger.event.data.event_type == ''double_press'' }}'
sequence: !input input_button3_double
- conditions:
- condition: template
value_template: '{{ trigger.event.data.event_class == ''button_3'' and trigger.event.data.event_type == ''triple_press'' }}'
sequence: !input input_button3_triple
- conditions:
- condition: template
value_template: '{{ trigger.event.data.event_class == ''button_3'' and trigger.event.data.event_type == ''long_press'' }}'
sequence: !input input_button3_long
# ------- Button 4
- conditions:
- condition: template
value_template: '{{ trigger.event.data.event_class == ''button_4'' and trigger.event.data.event_type == ''press'' }}'
sequence: !input input_button4_short
- conditions:
- condition: template
value_template: '{{ trigger.event.data.event_class == ''button_4'' and trigger.event.data.event_type == ''double_press'' }}'
sequence: !input input_button4_double
- conditions:
- condition: template
value_template: '{{ trigger.event.data.event_class == ''button_4'' and trigger.event.data.event_type == ''triple_press'' }}'
sequence: !input input_button4_triple
- conditions:
- condition: template
value_template: '{{ trigger.event.data.event_class == ''button_4'' and trigger.event.data.event_type == ''long_press'' }}'
sequence: !input input_button4_long
Other blueprints that I created:
Questions or comments? Let me know!