Last active
January 23, 2025 18:30
-
-
Save rhl2401/871cdc129c2d61f894407bef4b44f07d to your computer and use it in GitHub Desktop.
Aqara Wireless Switch (single, double, hold)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
blueprint: | |
name: Aqara Wireless Switch (single, double, hold, release) | |
description: 'Control anything using Aqara Wireless Switch. | |
Customizable actions for each press. | |
This version of the blueprint is for buttons supporting single, double, hold and | |
release actions. ' | |
domain: automation | |
input: | |
action_sensor: | |
name: Action Sensor | |
description: Zigbee2mqtt action sensor | |
selector: | |
entity: | |
integration: mqtt | |
domain: sensor | |
multiple: false | |
press_single: | |
name: Single button press | |
description: Action to run on single button press | |
default: [] | |
selector: | |
action: {} | |
press_double: | |
name: Double button press | |
description: Action to run on double button press | |
default: [] | |
selector: | |
action: {} | |
press_hold: | |
name: Button hold | |
description: Action to run on hold | |
default: [] | |
selector: | |
action: {} | |
press_release: | |
name: Button release | |
description: Action to run on release | |
default: [] | |
selector: | |
action: {} | |
mode: restart | |
max_exceeded: silent | |
trigger: | |
platform: state | |
entity_id: !input action_sensor | |
condition: | |
- condition: template | |
value_template: '{{ (trigger.to_state.attributes.action if trigger.to_state.state == "" | |
else trigger.to_state.state) in ("single","double","hold","release") | |
}}' | |
action: | |
- variables: | |
command: '{{ trigger.to_state.attributes.action if trigger.to_state.state == "" | |
else trigger.to_state.state }}' | |
- choose: | |
- conditions: | |
- '{{ command == ''single'' }}' | |
sequence: !input press_single | |
- conditions: | |
- '{{ command == ''double'' }}' | |
sequence: !input press_double | |
- conditions: | |
- '{{ command == ''hold'' }}' | |
sequence: !input press_hold | |
- conditions: | |
- '{{ command == ''release'' }}' | |
sequence: !input press_release |
Unfortunately, it doesn't look like MQTT device triggers support templates so I suspect supporting multiple devices in trigger an action in the same automation will require a refactor to use MQTT topic triggers and parse out the triggered device ids instead.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Also gave it a go as a learning experience https://gist.github.com/stncttr908/d0417344a66ab8cc1230a7ead3f5df68