Files
HomeAssistantVS/blueprints/automation/censay/ikea-bilresa-e2489-matter-smart-button.yaml
2026-07-14 23:57:03 -04:00

172 lines
4.9 KiB
YAML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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