This Blueprint allows you define the actions to be taken when perform a single click, double click or hold on the Tuya 4-Button Remote Switch (TS0044_1). This blueprint works with Zigbee2MQTT only.
The remote can purchased here.
Zigbee2MQTT Version 2.0.x:
blueprint:
name: Tuya Zigbee Z2M 4 button remote
description: "Blueprint for use with Tuya Zigbee 4 button remote (TS0044_1) on Zigbee2MQTT"
domain: automation
input:
device:
name: Tuya Remote
description: Tuya Remote to use.
selector:
device:
filter:
- manufacturer: Tuya
model: Zigbee 4 button remote
multiple: false
button_1_short_press:
name: Single Press - Button 1
description: Action to run on button 1 single press
default: []
selector:
action: {}
button_1_double_press:
name: Double Press - Button 1
description: Action to run on button 1 double press
default: []
selector:
action: {}
button_1_hold:
name: Hold - Button 1
description: Action to run on button 1 long press
default: []
selector:
action: {}
button_2_short_press:
name: Single Press - Button 2
description: Action to run on button 2 single press
default: []
selector:
action: {}
button_2_double_press:
name: Double Press - Button 2
description: Action to run on button 2 double press
default: []
selector:
action: {}
button_2_hold:
name: Hold - Button 2
description: Action to run on button 2 long press
default: []
selector:
action: {}
button_3_short_press:
name: Single Press - Button 3
description: Action to run on button 3 single press
default: []
selector:
action: {}
button_3_double_press:
name: Double Press - Button 3
description: Action to run on button 3 double press
default: []
selector:
action: {}
button_3_hold:
name: Hold - Button 3
description: Action to run on button 3 long press
default: []
selector:
action: {}
button_4_short_press:
name: Single Press - Button 4
description: Action to run on button 4 single press
default: []
selector:
action: {}
button_4_double_press:
name: Double Press - Button 4
description: Action to run on button 4 double press
default: []
selector:
action: {}
button_4_hold:
name: Long Press - Button 4
description: Action to run on button 4 long press
default: []
selector:
action: {}
mode: queued
max_exceeded: silent
trigger:
- platform: device
domain: mqtt
device_id: !input device
type: action
subtype: 1_single
- platform: device
domain: mqtt
device_id: !input device
type: action
subtype: 1_double
- platform: device
domain: mqtt
device_id: !input device
type: action
subtype: 1_hold
- platform: device
domain: mqtt
device_id: !input device
type: action
subtype: 2_single
- platform: device
domain: mqtt
device_id: !input device
type: action
subtype: 2_double
- platform: device
domain: mqtt
device_id: !input device
type: action
subtype: 3_hold
- platform: device
domain: mqtt
device_id: !input device
type: action
subtype: 4_single
- platform: device
domain: mqtt
device_id: !input device
type: action
subtype: 4_double
- platform: device
domain: mqtt
device_id: !input device
type: action
subtype: 4_hold
action:
- choose:
- conditions: "{{ trigger.payload == '1_single' }}"
sequence: !input button_1_short_press
- conditions: "{{ trigger.payload == '1_double' }}"
sequence: !input button_1_double_press
- conditions: "{{ trigger.payload == '1_hold' }}"
sequence: !input button_1_hold
- conditions: "{{ trigger.payload == '2_single' }}"
sequence: !input button_2_short_press
- conditions: "{{ trigger.payload == '2_double' }}"
sequence: !input button_2_double_press
- conditions: "{{ trigger.payload == '2_hold' }}"
sequence: !input button_2_hold
- conditions: "{{ trigger.payload == '3_single' }}"
sequence: !input button_3_short_press
- conditions: "{{ trigger.payload == '3_double' }}"
sequence: !input button_3_double_press
- conditions: "{{ trigger.payload == '3_hold' }}"
sequence: !input button_3_hold
- conditions: "{{ trigger.payload == '4_single' }}"
sequence: !input button_4_short_press
- conditions: "{{ trigger.payload == '4_double' }}"
sequence: !input button_4_double_press
- conditions: "{{ trigger.payload == '4_hold' }}"
sequence: !input button_4_hold
Zigbee2MQTT Version 1.4.x:
blueprint:
name: Tuya Zigbee 4 button remote
description: "Blueprint for use with Tuya Zigbee 4 button remote (TS0044_1) on Zigbee2MQTT"
domain: automation
input:
switch:
name: Tuya Zigbee 4 button remote
description: Tuya Zigbee 4 button remote to use
selector:
entity:
domain: sensor
integration: mqtt
button_1_short_press:
name: Single Press - Button 1
description: Action to run on button 1 single press
default: []
selector:
action: null
button_1_hold:
name: Hold - Button 1
description: Action to run on button 1 long press
default: []
selector:
action: null
button_1_double_press:
name: Double Press - Button 1
description: Action to run on button 1 double press
default: []
selector:
action: null
button_2_short_press:
name: Single Press - Button 2
description: Action to run on button 2 single press
default: []
selector:
action: null
button_2_hold:
name: Hold - Button 2
description: Action to run on button 2 long press
default: []
selector:
action: null
button_2_double_press:
name: Double Press - Button 2
description: Action to run on button 2 double press
default: []
selector:
action: null
button_3_short_press:
name: Single Press - Button 3
description: Action to run on button 3 single press
default: []
selector:
action: null
button_3_hold:
name: Hold - Button 3
description: Action to run on button 3 long press
default: []
selector:
action: null
button_3_double_press:
name: Double Press - Button 3
description: Action to run on button 3 double press
default: []
selector:
action: null
button_4_short_press:
name: Single Press - Button 4
description: Action to run on button 4 single press
default: []
selector:
action: null
button_4_hold:
name: Long Press - Button 4
description: Action to run on button 4 long press
default: []
selector:
action: null
button_4_double_press:
name: Double Press - Button 4
description: Action to run on button 4 double press
default: []
selector:
action: null
mode: queued
trigger:
- platform: state
entity_id: !input switch
condition:
- "{{ trigger.to_state.state != '' }}"
action:
- variables:
command: "{{ trigger.to_state.state }}"
- choose:
- conditions:
- "{{ command == '1_single' }}"
sequence: !input button_1_short_press
- conditions:
- "{{ command == '1_double' }}"
sequence: !input button_1_double_press
- conditions:
- "{{ command == '1_hold' }}"
sequence: !input button_1_hold
- conditions:
- "{{ command == '2_single' }}"
sequence: !input button_2_short_press
- conditions:
- "{{ command == '2_double' }}"
sequence: !input button_2_double_press
- conditions:
- "{{ command == '2_hold' }}"
sequence: !input button_2_hold
- conditions:
- "{{ command == '3_single' }}"
sequence: !input button_3_short_press
- conditions:
- "{{ command == '3_double' }}"
sequence: !input button_3_double_press
- conditions:
- "{{ command == '3_hold' }}"
sequence: !input button_3_hold
- conditions:
- "{{ command == '4_single' }}"
sequence: !input button_4_short_press
- conditions:
- "{{ command == '4_double' }}"
sequence: !input button_4_double_press
- conditions:
- "{{ command == '4_hold' }}"
sequence: !input button_4_hold