Skip to content

Instantly share code, notes, and snippets.

@beeldubz
Last active December 18, 2024 19:14
Show Gist options
  • Save beeldubz/e6538547d8057fb40396e9509c3bb98c to your computer and use it in GitHub Desktop.
Save beeldubz/e6538547d8057fb40396e9509c3bb98c to your computer and use it in GitHub Desktop.
blueprint:
name: Shelly BLU RC-4 Button Control (Short, Long, Double Press, and now Triple Press -Thanks to @Shiroe93!)
description: Automate actions using Shelly BLU RC-4's 4 buttons with different press types.
domain: automation
input:
button_device:
name: Shelly BLU RC-4
description: Select the Shelly BLU RC-4 remote.
selector:
device:
integration: bthome
multiple: false
button_1_short:
name: Button 1 Short Press Action
description: Action when button 1 is short pressed.
default: []
selector:
action: {}
button_1_double:
name: Button 1 Double Press Action
description: Action when button 1 is double pressed.
default: []
selector:
action: {}
button_1_triple:
name: Button 1 Triple Press Action
description: Action when button 1 is Triple pressed.
default: []
selector:
action: {}
button_1_long:
name: Button 1 Long Press Action
description: Action when button 1 is long pressed.
default: []
selector:
action: {}
button_2_short:
name: Button 2 Short Press Action
description: Action when button 2 is short pressed.
default: []
selector:
action: {}
button_2_double:
name: Button 2 Double Press Action
description: Action when button 2 is double pressed.
default: []
selector:
action: {}
button_2_triple:
name: Button 2 Triple Press Action
description: Action when button 1 is Triple pressed.
default: []
selector:
action: {}
button_2_long:
name: Button 2 Long Press Action
description: Action when button 2 is long pressed.
default: []
selector:
action: {}
button_3_short:
name: Button 3 Short Press Action
description: Action when button 3 is short pressed.
default: []
selector:
action: {}
button_3_double:
name: Button 3 Double Press Action
description: Action when button 3 is double pressed.
default: []
selector:
action: {}
button_3_triple:
name: Button 3 Triple Press Action
description: Action when button 1 is Triple pressed.
default: []
selector:
action: {}
button_3_long:
name: Button 3 Long Press Action
description: Action when button 3 is long pressed.
default: []
selector:
action: {}
button_4_short:
name: Button 4 Short Press Action
description: Action when button 4 is short pressed.
default: []
selector:
action: {}
button_4_double:
name: Button 4 Double Press Action
description: Action when button 4 is double pressed.
default: []
selector:
action: {}
button_4_triple:
name: Button 4 Triple Press Action
description: Action when button 4 is Triple pressed.
default: []
selector:
action: {}
button_4_long:
name: Button 4 Long Press Action
description: Action when button 4 is long pressed.
default: []
selector:
action: {}
#source_url:
trigger:
- platform: event
event_type: bthome_ble_event
event_data:
device_id: !input button_device
action:
- choose:
- conditions:
- condition: template
value_template: '{{ trigger.event.data.event_class == ''button_1'' and trigger.event.data.event_type
== ''press'' }}'
sequence: !input button_1_short
- conditions:
- condition: template
value_template: '{{ trigger.event.data.event_class == ''button_1'' and trigger.event.data.event_type
== ''long_press'' }}'
sequence: !input button_1_long
- conditions:
- condition: template
value_template: '{{ trigger.event.data.event_class == ''button_1'' and trigger.event.data.event_type
== ''double_press'' }}'
sequence: !input button_1_double
- conditions:
- condition: template
value_template: '{{ trigger.event.data.event_class == ''button_2'' and trigger.event.data.event_type
== ''press'' }}'
sequence: !input button_2_short
- conditions:
- condition: template
value_template: '{{ trigger.event.data.event_class == ''button_2'' and trigger.event.data.event_type
== ''long_press'' }}'
sequence: !input button_2_long
- conditions:
- condition: template
value_template: '{{ trigger.event.data.event_class == ''button_2'' and trigger.event.data.event_type
== ''double_press'' }}'
sequence: !input button_2_double
- conditions:
- condition: template
value_template: '{{ trigger.event.data.event_class == ''button_3'' and trigger.event.data.event_type
== ''press'' }}'
sequence: !input button_3_short
- conditions:
- condition: template
value_template: '{{ trigger.event.data.event_class == ''button_3'' and trigger.event.data.event_type
== ''long_press'' }}'
sequence: !input button_3_long
- conditions:
- condition: template
value_template: '{{ trigger.event.data.event_class == ''button_3'' and trigger.event.data.event_type
== ''double_press'' }}'
sequence: !input button_3_double
- conditions:
- condition: template
value_template: '{{ trigger.event.data.event_class == ''button_4'' and trigger.event.data.event_type
== ''press'' }}'
sequence: !input button_4_short
- conditions:
- condition: template
value_template: '{{ trigger.event.data.event_class == ''button_4'' and trigger.event.data.event_type
== ''long_press'' }}'
sequence: !input button_4_long
- conditions:
- condition: template
value_template: '{{ trigger.event.data.event_class == ''button_4'' and trigger.event.data.event_type
== ''double_press'' }}'
sequence: !input button_4_double
- conditions:
- condition: template
value_template: '{{ trigger.event.data.event_class == ''button_4'' and trigger.event.data.event_type
== ''triple_press'' }}'
sequence: !input button_4_triple
- conditions:
- condition: template
value_template: '{{ trigger.event.data.event_class == ''button_3'' and trigger.event.data.event_type
== ''triple_press'' }}'
sequence: !input button_3_triple
- conditions:
- condition: template
value_template: '{{ trigger.event.data.event_class == ''button_2'' and trigger.event.data.event_type
== ''triple_press'' }}'
sequence: !input button_2_triple
- conditions:
- condition: template
value_template: '{{ trigger.event.data.event_class == ''button_1'' and trigger.event.data.event_type
== ''triple_press'' }}'
sequence: !input button_1_triple
mode: single
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment