Aqara W100 Matter/Thread Buttons blueprint

blueprint:
name: Aqara W100 Matter Buttons
description: >
Configure the three buttons of an Aqara W100 connected to Home Assistant
via Matter/Thread.
Map each physical W100 button to its corresponding event entity, then
configure actions for single press, double press, long press, and long
release.
domain: automation
input:
# ============================================================
# BUTTON ENTITIES
# ============================================================
plus_button:
name: "+ Button"
description: >
Select the event entity corresponding to the physical + button.
selector:
entity:
filter:
- domain: event
center_button:
name: "Center Button"
description: >
Select the event entity corresponding to the physical center button.
selector:
entity:
filter:
- domain: event
minus_button:
name: "− Button"
description: >
Select the event entity corresponding to the physical − button.
selector:
entity:
filter:
- domain: event
# ============================================================
# PLUS ACTIONS
# ============================================================
plus_single:
name: "+ — Single press"
default: []
selector:
action: {}
plus_double:
name: "+ — Double press"
default: []
selector:
action: {}
plus_long:
name: "+ — Long press"
default: []
selector:
action: {}
plus_release:
name: "+ — Long release"
default: []
selector:
action: {}
# ============================================================
# CENTER ACTIONS
# ============================================================
center_single:
name: "Center — Single press"
default: []
selector:
action: {}
center_double:
name: "Center — Double press"
default: []
selector:
action: {}
center_long:
name: "Center — Long press"
default: []
selector:
action: {}
center_release:
name: "Center — Long release"
default: []
selector:
action: {}
# ============================================================
# MINUS ACTIONS
# ============================================================
minus_single:
name: "− — Single press"
default: []
selector:
action: {}
minus_double:
name: "− — Double press"
default: []
selector:
action: {}
minus_long:
name: "− — Long press"
default: []
selector:
action: {}
minus_release:
name: "− — Long release"
default: []
selector:
action: {}
# ================================================================
# VARIABLES
# ================================================================
variables:
plus_entity: !input plus_button
center_entity: !input center_button
minus_entity: !input minus_button
# ================================================================
# TRIGGERS
#
# The W100 event entity changes state when an interaction happens.
# We intentionally do NOT trigger on the event_type attribute.
# The event_type is checked in the action section.
# ================================================================
triggers:
- trigger: state
entity_id: !input plus_button
id: plus
- trigger: state
entity_id: !input center_button
id: center
- trigger: state
entity_id: !input minus_button
id: minus
# ================================================================
# ACTIONS
# ================================================================
actions:
- choose:
# ==========================================================
# PLUS
# ==========================================================
- conditions:
- condition: trigger
id: plus
- condition: state
entity_id: !input plus_button
attribute: event_type
state: multi_press_1
sequence:
- choose: []
default: !input plus_single
- conditions:
- condition: trigger
id: plus
- condition: state
entity_id: !input plus_button
attribute: event_type
state: multi_press_2
sequence:
- choose: []
default: !input plus_double
- conditions:
- condition: trigger
id: plus
- condition: state
entity_id: !input plus_button
attribute: event_type
state: long_press
sequence:
- choose: []
default: !input plus_long
- conditions:
- condition: trigger
id: plus
- condition: state
entity_id: !input plus_button
attribute: event_type
state: long_release
sequence:
- choose: []
default: !input plus_release
# ==========================================================
# CENTER
# ==========================================================
- conditions:
- condition: trigger
id: center
- condition: state
entity_id: !input center_button
attribute: event_type
state: multi_press_1
sequence:
- choose: []
default: !input center_single
- conditions:
- condition: trigger
id: center
- condition: state
entity_id: !input center_button
attribute: event_type
state: multi_press_2
sequence:
- choose: []
default: !input center_double
- conditions:
- condition: trigger
id: center
- condition: state
entity_id: !input center_button
attribute: event_type
state: long_press
sequence:
- choose: []
default: !input center_long
- conditions:
- condition: trigger
id: center
- condition: state
entity_id: !input center_button
attribute: event_type
state: long_release
sequence:
- choose: []
default: !input center_release
# ==========================================================
# MINUS
# ==========================================================
- conditions:
- condition: trigger
id: minus
- condition: state
entity_id: !input minus_button
attribute: event_type
state: multi_press_1
sequence:
- choose: []
default: !input minus_single
- conditions:
- condition: trigger
id: minus
- condition: state
entity_id: !input minus_button
attribute: event_type
state: multi_press_2
sequence:
- choose: []
default: !input minus_double
- conditions:
- condition: trigger
id: minus
- condition: state
entity_id: !input minus_button
attribute: event_type
state: long_press
sequence:
- choose: []
default: !input minus_long
- conditions:
- condition: trigger
id: minus
- condition: state
entity_id: !input minus_button
attribute: event_type
state: long_release
sequence:
- choose: []
default: !input minus_release
mode: queued
max: 10
添加评论
点赞收藏
点踩分享查看原文
评论
?
参与讨论