The ultimate solution for controlling everything with this smart switch!
The problem I had was that over the years I had changed a lot of things to smart things in such a way that they could not be controlled directly. These include wall lights in the living room, light bulbs on the patio and the front gate.
I just received this nice so called "scene switcher" in the TuYa universe, but it is actually just a decent switch. Also, its size fits perfectly with the Aquara D1 already installed.
Here you can buy the version of your choice - from 1 to 4 gang.
But this is not just a 4-button switch. It can actually control up to 12 different actions! This is achieved by the different types of press you can perform on each button - single click, double click and long press.
The device is recognised as TS0044_1 but ignore photo of remote on Zigbee2MQTT page, as this one is much much slicker in look.
Actions exposed by this device are:
1_single, 1_double, 1_hold, 2_single, 2_double, 2_hold, 3_single, 3_double, 3_hold, 4_single, 4_double, 4_hold
It should be noted that this device requires larger CR2430 batteries, which are not included in the box with the switch and must be ordered separately.
Pairing is made by pressing and holding button 3 for more than 10 seconds, then all leds are flashing green and device should be paired to your Zigbee network.
There is really no settings at all at Zigbee2MQTT, so it is up to you to configure automations and what every button should do.
You can use this blueprint from user Soulfly998 to speed up the whole process of making automations:
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