Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save rdeangel/0362181f03cbce58b883eeaf2baa0863 to your computer and use it in GitHub Desktop.
Save rdeangel/0362181f03cbce58b883eeaf2baa0863 to your computer and use it in GitHub Desktop.
Zigbee2MQTT - Tuya 4-Button Switch (MQTT Device Trigger) - rdeangel
blueprint:
name: Zigbee2MQTT - Tuya 4-Button Switch (MQTT Device Trigger) - rdeangel
description: "Blueprint Version: 11-01-25\n
Blueprint Name: Zigbee2MQTT - Tuya 4-Button Switch (MQTT Device Trigger) - rdeangel\n\n
This blueprint uses MQTT `device` based triggers and it will be triggered only when the selected Device MQTT messages are received."
domain: automation
input:
mode:
name: Automation Modes
description: https://www.home-assistant.io/docs/automation/modes/
default: parallel
selector:
select:
mode: dropdown
options:
- single
- restart
- queued
- parallel
zigbee_device:
name: Zigbee Device - Tuya TS0044 4 Buttons (and alike)
description: Select the correct Zigbee device to use.
selector:
device:
integration: mqtt
# Button 1 Input Definition
button_one_short_press:
name: Single Press - Button 1
description: Action to run on Button 1 - Single Press
default: []
selector:
action: {}
button_one_double_press:
name: Double Press - Button 1
description: Action to run on Button 1 - Double Press
default: []
selector:
action: {}
button_one_long_press:
name: Long Press - Button 1
description: Action to run on Button 1 - Long Press
default: []
selector:
action: {}
# Button 2 Input Definition
button_two_short_press:
name: Single Press - Button 2
description: Action to run on Button 2 - Single Press
default: []
selector:
action: {}
button_two_double_press:
name: Double Press - Button 2
description: Action to run on Button 2 - Double Press
default: []
selector:
action: {}
button_two_long_press:
name: Long Press - Button 2
description: Action to run on Button 2 - Long Press
default: []
selector:
action: {}
# Button 3 Input Definition
button_three_short_press:
name: Single Press - Button 3
description: Action to run on Button 3 - Single Press
default: []
selector:
action: {}
button_three_double_press:
name: Double Press - Button 3
description: Action to run on Button 3 - Double Press
default: []
selector:
action: {}
button_three_long_press:
name: Long Press - Button 3
description: Action to run on Button 3 - Long Press
default: []
selector:
action: {}
# Button 4 Input Definition
button_four_short_press:
name: Single Press - Button 4
description: Action to run on Button 4 - Single Press
default: []
selector:
action: {}
button_four_double_press:
name: Double Press - Button 4
description: Action to run on Button 4 - Double Press
default: []
selector:
action: {}
button_four_long_press:
name: Long Press - Button 4
description: Action to run on Button 4 - Long Press
default: []
selector:
action: {}
source_url: https://gist.github.com/rdeangel/0362181f03cbce58b883eeaf2baa0863
mode: !input mode
max_exceeded: silent
trigger:
# Button 1 Triggers
- platform: device
device_id: !input zigbee_device
domain: mqtt
type: action
subtype: 1_single
id: button_one_short_press
- platform: device
device_id: !input zigbee_device
domain: mqtt
type: action
subtype: 1_double
id: button_one_double_press
- platform: device
device_id: !input zigbee_device
domain: mqtt
type: action
subtype: 1_hold
id: button_one_long_press
# Button 2 Triggers
- platform: device
device_id: !input zigbee_device
domain: mqtt
type: action
subtype: 2_single
id: button_two_short_press
- platform: device
device_id: !input zigbee_device
domain: mqtt
type: action
subtype: 2_double
id: button_two_double_press
- platform: device
device_id: !input zigbee_device
domain: mqtt
type: action
subtype: 2_hold
id: button_two_long_press
# Button 3 Triggers
- platform: device
device_id: !input zigbee_device
domain: mqtt
type: action
subtype: 3_single
id: button_three_short_press
- platform: device
device_id: !input zigbee_device
domain: mqtt
type: action
subtype: 3_double
id: button_three_double_press
- platform: device
device_id: !input zigbee_device
domain: mqtt
type: action
subtype: 3_hold
id: button_three_long_press
# Button 4 Triggers
- platform: device
device_id: !input zigbee_device
domain: mqtt
type: action
subtype: 4_single
id: button_four_short_press
- platform: device
device_id: !input zigbee_device
domain: mqtt
type: action
subtype: 4_double
id: button_four_double_press
- platform: device
device_id: !input zigbee_device
domain: mqtt
type: action
subtype: 4_hold
id: button_four_long_press
condition: []
action:
- choose:
# Button 1 Actions
- conditions:
- condition: trigger
id: button_one_short_press
sequence: !input button_one_short_press
- conditions:
- condition: trigger
id: button_one_double_press
sequence: !input button_one_double_press
- conditions:
- condition: trigger
id: button_one_long_press
sequence: !input button_one_long_press
# Button 2 Actions
- conditions:
- condition: trigger
id: button_two_short_press
sequence: !input button_two_short_press
- conditions:
- condition: trigger
id: button_two_double_press
sequence: !input button_two_double_press
- conditions:
- condition: trigger
id: button_two_long_press
sequence: !input button_two_long_press
# Button 3 Actions
- conditions:
- condition: trigger
id: button_three_short_press
sequence: !input button_three_short_press
- conditions:
- condition: trigger
id: button_three_double_press
sequence: !input button_three_double_press
- conditions:
- condition: trigger
id: button_three_long_press
sequence: !input button_three_long_press
# Button 4 Actions
- conditions:
- condition: trigger
id: button_four_short_press
sequence: !input button_four_short_press
- conditions:
- condition: trigger
id: button_four_double_press
sequence: !input button_four_double_press
- conditions:
- condition: trigger
id: button_four_long_press
sequence: !input button_four_long_press
@danielrosehill
Copy link

Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment