Skip to content

Instantly share code, notes, and snippets.

@wujku
Last active February 18, 2024 15:14
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save wujku/33ea9fecbdeb0a82019ec30f9e7b5e63 to your computer and use it in GitHub Desktop.
Save wujku/33ea9fecbdeb0a82019ec30f9e7b5e63 to your computer and use it in GitHub Desktop.
Blueprint for 4-Button Scene Switch (TS0044) – Home Assistant – Improved version of https://community.home-assistant.io/t/zha-tuya-4-button-scene-switch-ts0044/265099
blueprint:
name: ZHA - 4-Button Scene Switch
description: Automate your 4-Button Scene Switch via ZHA events.
domain: automation
input:
4button_scene_switch:
name: 4-Button Scene Switch
description: 4-Button Scene Switch to use
selector:
device:
integration: zha
manufacturer: _TZ3000_wkai4ga5
model: TS0044
button_one_short_press:
name: Single Press - Button 1
description: Action to run on button 1 (lower-left) single press
default: []
selector:
action: {}
button_one_double_press:
name: Double Press - Button 1
description: Action to run on button 1 (lower-left) double press
default: []
selector:
action: {}
button_one_long_press:
name: Long Press - Button 1
description: Action to run on button 1 (lower-left) long press
default: []
selector:
action: {}
button_two_short_press:
name: Single Press - Button 2
description: Action to run on button 2 (lower-right) single press
default: []
selector:
action: {}
button_two_double_press:
name: Double Press - Button 2
description: Action to run on button 2 (lower-right) double press
default: []
selector:
action: {}
button_two_long_press:
name: Long Press - Button 2
description: Action to run on button 2 (lower-right) long press
default: []
selector:
action: {}
button_three_short_press:
name: Single Press - Button 3
description: Action to run on button 3 (upper-right) single press
default: []
selector:
action: {}
button_three_double_press:
name: Double Press - Button 3
description: Action to run on button 3 (upper-right) double press
default: []
selector:
action: {}
button_three_long_press:
name: Long Press - Button 3
description: Action to run on button 3 (upper-right) long press
default: []
selector:
action: {}
button_four_short_press:
name: Single Press - Button 4
description: Action to run on button 4 (upper-left) single press
default: []
selector:
action: {}
button_four_double_press:
name: Double Press - Button 4
description: Action to run on button 4 (upper-left) double press
default: []
selector:
action: {}
button_four_long_press:
name: Long Press - Button 4
description: Action to run on button 4 (upper-left) long press
default: []
selector:
action: {}
source_url: https://github.com/AramidX/ha-blueprint/blob/main/blueprints/tuya/tuya_4button_scene_switch_z2m.yaml
mode: restart
max_exceeded: silent
trigger:
- platform: event
event_type: zha_event
event_data:
device_id: !input "4button_scene_switch"
action:
- variables:
command: "{{ trigger.event.data.command }}"
endpoint_id: "{{ trigger.event.data.endpoint_id }}"
- choose:
- conditions: "{{ command == 'remote_button_short_press' }}"
sequence:
- choose:
- conditions: "{{ endpoint_id == 1 }}"
sequence: !input "button_one_short_press"
- conditions: "{{ endpoint_id == 2 }}"
sequence: !input "button_two_short_press"
- conditions: "{{ endpoint_id == 3 }}"
sequence: !input "button_three_short_press"
- conditions: "{{ endpoint_id == 4 }}"
sequence: !input "button_four_short_press"
- conditions: "{{ command == 'remote_button_double_press' }}"
sequence:
- choose:
- conditions: "{{ endpoint_id == 1 }}"
sequence: !input "button_one_double_press"
- conditions: "{{ endpoint_id == 2 }}"
sequence: !input "button_two_double_press"
- conditions: "{{ endpoint_id == 3 }}"
sequence: !input "button_three_double_press"
- conditions: "{{ endpoint_id == 4 }}"
sequence: !input "button_four_double_press"
- conditions: "{{ command == 'remote_button_long_press' }}"
sequence:
- choose:
- conditions: "{{ endpoint_id == 1 }}"
sequence: !input "button_one_long_press"
- conditions: "{{ endpoint_id == 2 }}"
sequence: !input "button_two_long_press"
- conditions: "{{ endpoint_id == 3 }}"
sequence: !input "button_three_long_press"
- conditions: "{{ endpoint_id == 4 }}"
sequence: !input "button_four_long_press"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment