ZHA - Tuya 2-button Scene Switch (TS0042)

Tags: #<Tag:0x00007fc417b7dbc0> #<Tag:0x00007fc417b7d9b8> #<Tag:0x00007fc417b7d828> #<Tag:0x00007fc417b7d580> #<Tag:0x00007fc417b7d0f8>

A clear rip off from Stringer 4 button switch :slight_smile:

Supported actions for each button:

  1. Short press
  2. Double press
  3. Long press (5 seconds)
blueprint:
  name: ZHA - Tuya 2-Button Scene Switch
  description: Automate your Tuya 2-Button Scene Switch using ZHA events.
  domain: automation
  input:
    tuya_2button_scene_switch:
      name: Tuya 2-Button Scene Switch
      description: Tuya 2-Button Scene Switch to use
      selector:
        device:
          integration: zha
          manufacturer: _TZ3000_dfgbtub0
          model: TS0042
    button_one_short_press:
      name: Single Press
      description: Action to run on button 1 (left) single press
      default: []
      selector:
        action: {}
    button_one_double_press:
      name: Double Press
      description: Action to run on button 1 left) double press
      default: []
      selector:
        action: {}
    button_one_long_press:
      name: Long Press
      description: Action to run on button 1 (left) long press
      default: []
      selector:
         action: {}
    button_two_short_press:
      name: Single Press
      description: Action to run on button 2 (right) single press
      default: []
      selector:
        action: {}
    button_two_double_press:
      name: Double Press
      description: Action to run on button 2 (right) double press
      default: []
      selector:
        action: {}
    button_two_long_press:
      name: Long Press
      description: Action to run on button 2 (right) long press
      default: []
      selector:
         action: {} 
mode: restart
max_exceeded: silent
trigger:
- platform: event
  event_type: zha_event
  event_data:
    device_id: !input 'tuya_2button_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: "{{ 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: "{{ 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'