172 lines
4.9 KiB
YAML
172 lines
4.9 KiB
YAML
blueprint:
|
||
name: IKEA BILRESA E2489 Dual Button (Matter)
|
||
author: censay
|
||
description: 'Full-featured automation for the IKEA BILRESA E2489 Matter dual-button
|
||
remote. Supports single press, double press, and long press (on press and on release)
|
||
for both buttons. Uses event entities exposed by Home Assistant for Matter devices.
|
||
Single-press actions are prioritized for reliability.
|
||
|
||
'
|
||
domain: automation
|
||
source_url: https://raw.githubusercontent.com/censay/haos-blueprints/refs/heads/master/ikea-bilresa-e2489-matter-smart-button/ikea-bilresa-e2489-matter-smart-button.yaml
|
||
homeassistant:
|
||
min_version: 2025.12.1
|
||
input:
|
||
target_device:
|
||
name: BILRESA Button Device
|
||
description: 'Select the IKEA BILRESA E2489 matter device.
|
||
|
||
'
|
||
selector:
|
||
device:
|
||
filter:
|
||
- manufacturer: IKEA of Sweden
|
||
multiple: false
|
||
button1_event:
|
||
name: Button 1 – Event Entity
|
||
description: 'Select the event entity for Button 1 (for example: event.bilresa_dual_button_button_1_2).
|
||
|
||
'
|
||
selector:
|
||
entity:
|
||
domain:
|
||
- event
|
||
multiple: false
|
||
reorder: false
|
||
button2_event:
|
||
name: Button 2 – Event Entity
|
||
description: 'Select the event entity for Button 2 (for example: event.bilresa_dual_button_button_2_2).
|
||
|
||
'
|
||
selector:
|
||
entity:
|
||
domain:
|
||
- event
|
||
multiple: false
|
||
reorder: false
|
||
button1_single:
|
||
name: Button 1 – Single Press
|
||
description: Action for Button 1 single press (multi_press_1).
|
||
default: []
|
||
selector:
|
||
action: {}
|
||
button1_double:
|
||
name: Button 1 – Double Press
|
||
description: Action for Button 1 double press (multi_press_2).
|
||
default: []
|
||
selector:
|
||
action: {}
|
||
button1_long_press:
|
||
name: Button 1 – Long Press (on press)
|
||
description: Action for Button 1 long press start (long_press).
|
||
default: []
|
||
selector:
|
||
action: {}
|
||
button1_long:
|
||
name: Button 1 – Long Press (on release)
|
||
description: Action for Button 1 long press completion (long_release).
|
||
default: []
|
||
selector:
|
||
action: {}
|
||
button2_single:
|
||
name: Button 2 – Single Press
|
||
description: Action for Button 2 single press (multi_press_1).
|
||
default: []
|
||
selector:
|
||
action: {}
|
||
button2_double:
|
||
name: Button 2 – Double Press
|
||
description: Action for Button 2 double press (multi_press_2).
|
||
default: []
|
||
selector:
|
||
action: {}
|
||
button2_long_press:
|
||
name: Button 2 – Long Press (on press)
|
||
description: Action for Button 2 long press start (long_press).
|
||
default: []
|
||
selector:
|
||
action: {}
|
||
button2_long:
|
||
name: Button 2 – Long Press (on release)
|
||
description: Action for Button 2 long press completion (long_release).
|
||
default: []
|
||
selector:
|
||
action: {}
|
||
variables:
|
||
button1_entity: !input button1_event
|
||
button2_entity: !input button2_event
|
||
trigger:
|
||
- platform: state
|
||
id: button1
|
||
entity_id: !input button1_event
|
||
not_from: unavailable
|
||
not_to: unavailable
|
||
- platform: state
|
||
id: button2
|
||
entity_id: !input button2_event
|
||
not_from: unavailable
|
||
not_to: unavailable
|
||
condition: []
|
||
action:
|
||
- variables:
|
||
press_type: '{{ trigger.to_state.attributes.event_type }}'
|
||
trigger_id: '{{ trigger.id }}'
|
||
- choose:
|
||
- conditions:
|
||
- condition: template
|
||
value_template: '{{ trigger_id == ''button1'' and press_type == ''multi_press_1''
|
||
}}
|
||
|
||
'
|
||
sequence: !input button1_single
|
||
- conditions:
|
||
- condition: template
|
||
value_template: '{{ trigger_id == ''button1'' and press_type == ''multi_press_2''
|
||
}}
|
||
|
||
'
|
||
sequence: !input button1_double
|
||
- conditions:
|
||
- condition: template
|
||
value_template: '{{ trigger_id == ''button1'' and press_type == ''long_press''
|
||
}}
|
||
|
||
'
|
||
sequence: !input button1_long_press
|
||
- conditions:
|
||
- condition: template
|
||
value_template: '{{ trigger_id == ''button1'' and press_type == ''long_release''
|
||
}}
|
||
|
||
'
|
||
sequence: !input button1_long
|
||
- conditions:
|
||
- condition: template
|
||
value_template: '{{ trigger_id == ''button2'' and press_type == ''multi_press_1''
|
||
}}
|
||
|
||
'
|
||
sequence: !input button2_single
|
||
- conditions:
|
||
- condition: template
|
||
value_template: '{{ trigger_id == ''button2'' and press_type == ''multi_press_2''
|
||
}}
|
||
|
||
'
|
||
sequence: !input button2_double
|
||
- conditions:
|
||
- condition: template
|
||
value_template: '{{ trigger_id == ''button2'' and press_type == ''long_press''
|
||
}}
|
||
|
||
'
|
||
sequence: !input button2_long_press
|
||
- conditions:
|
||
- condition: template
|
||
value_template: '{{ trigger_id == ''button2'' and press_type == ''long_release''
|
||
}}
|
||
|
||
'
|
||
sequence: !input button2_long
|
||
mode: restart
|