Skip to content

Instantly share code, notes, and snippets.

@rhl2401
Last active January 23, 2025 18:30
Show Gist options
  • Save rhl2401/871cdc129c2d61f894407bef4b44f07d to your computer and use it in GitHub Desktop.
Save rhl2401/871cdc129c2d61f894407bef4b44f07d to your computer and use it in GitHub Desktop.
Aqara Wireless Switch (single, double, hold)
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
@stncttr908
Copy link

@denselm
Copy link

denselm commented Jan 6, 2025

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