Skip to content

Instantly share code, notes, and snippets.

@deskoh
Last active May 24, 2025 03:10
Show Gist options
  • Save deskoh/5949d6bd4cff8e9374bd1285f9f487d4 to your computer and use it in GitHub Desktop.
Save deskoh/5949d6bd4cff8e9374bd1285f9f487d4 to your computer and use it in GitHub Desktop.
blueprint:
name: Aqara Wireless Double Switch
description:
Automation to configure Aqara Wireless Double Switch using Zigbee2MQTT
integration.
domain: automation
homeassistant:
min_version: 2025.1.0
input:
switch:
name: Select the device you want to configure
description: Aqara Wireless Switch to use
selector:
device:
filter:
- integration: mqtt
model: Wireless remote switch D1 (double rocker)
- integration: mqtt
model: Wireless remote switch (double rocker), 2018 model
multiple: false
button_left_section:
name: Actions for left button
icon: mdi:numeric-1-box
collapsed: true
input:
single_left:
name: Single left button press
description: Action to run on single left button press
default: []
selector:
action: {}
double_left:
name: Double left button press
description: Action to run on double left button press
default: []
selector:
action: {}
hold_left:
name: Hold left button
description: Action to run on holding left button
default: []
selector:
action: {}
button_right_section:
name: Actions for right button
icon: mdi:numeric-2-box
collapsed: true
input:
single_right:
name: Single right button press
description: Action to run on single right button press
default: []
selector:
action: {}
double_right:
name: Double right button press
description: Action to run on double right button press
default: []
selector:
action: {}
hold_right:
name: Hold right button
description: Action to run on holding right button
default: []
selector:
action: {}
button_both_section:
name: Actions for both buttons
icon: mdi:numeric-3-box
collapsed: true
input:
single_both:
name: Single both buttons press
description: Action to run on single both button press
default: []
selector:
action: {}
double_both:
name: Double both buttons press
description: Action to run on double both button press
default: []
selector:
action: {}
hold_both:
name: Hold both buttons
description: Action to run on holding both buttons
default: []
selector:
action: {}
mode: restart
max_exceeded: silent
triggers:
- domain: mqtt
device_id: !input switch
type: action
subtype: single_left
trigger: device
- domain: mqtt
device_id: !input switch
type: action
subtype: double_left
trigger: device
- domain: mqtt
device_id: !input switch
type: action
subtype: hold_left
trigger: device
- domain: mqtt
device_id: !input switch
type: action
subtype: single_right
trigger: device
- domain: mqtt
device_id: !input switch
type: action
subtype: double_right
trigger: device
- domain: mqtt
device_id: !input switch
type: action
subtype: hold_right
trigger: device
- domain: mqtt
device_id: !input switch
type: action
subtype: single_both
trigger: device
- domain: mqtt
device_id: !input switch
type: action
subtype: double_both
trigger: device
- domain: mqtt
device_id: !input switch
type: action
subtype: hold_both
trigger: device
actions:
- choose:
- conditions:
- condition: template
value_template: '{{ trigger.payload == ''single_left'' }}'
sequence: !input single_left
- conditions:
- condition: template
value_template: '{{ trigger.payload == ''double_left'' }}'
sequence: !input double_left
- conditions:
- condition: template
value_template: '{{ trigger.payload == ''hold_left'' }}'
sequence: !input hold_left
- conditions:
- condition: template
value_template: '{{ trigger.payload == ''single_right'' }}'
sequence: !input single_right
- conditions:
- condition: template
value_template: '{{ trigger.payload == ''double_right'' }}'
sequence: !input double_right
- conditions:
- condition: template
value_template: '{{ trigger.payload == ''hold_right'' }}'
sequence: !input hold_right
- conditions:
- condition: template
value_template: '{{ trigger.payload == ''single_both'' }}'
sequence: !input single_both
- conditions:
- condition: template
value_template: '{{ trigger.payload == ''double_both'' }}'
sequence: !input double_both
- conditions:
- condition: template
value_template: '{{ trigger.payload == ''hold_both'' }}'
sequence: !input hold_both
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment