Tuya 2 Gang Switch Socket
General Notes
A smart GPO the contains 2 light switches. All three outputs are controllable.
These devices are sold under many brands on Aliexpress.

GPIO Pinout
| Pin | Function | 
|---|---|
| P0 | Bottom Button Blue LED (H) | 
| P6 | Top Button Relay L2 (H) | 
| P7 | Top Button Blue LED (H) | 
| P8 | Top Button (L) | 
| P9 | Status LED RED (H) | 
| P10 | Bottom Button (L) | 
| P11 | GPO Button (L) | 
| P24 | Bottom Button Relay L1 (H) | 
| P26 | GPO Relay (H) | 
The light output relays are connected to the RED button LED.
You can turn the button LED purple by turning on the blue LED while the RED is on.
Configuration
## -----------------------##
## Substitution Variables ##
## -----------------------##
substitutions:
  device_friendly_name: GPO Switch
  device_internal_name: GPO Switch
## --------------------##
## Board Configuration ##
## --------------------##
esphome:
  name: ${device_internal_name}
  friendly_name: ${device_friendly_name}
bk72xx:
  board: generic-bk7231t-qfn32-tuya
## ---------------- ##
##  Binary Sensors  ##
## ---------------- ##
binary_sensor:
  # Top Button
  - platform: gpio
    id: button_1
    pin:
      number: P8
      inverted: true
      mode: INPUT_PULLUP
    on_press:
      then:
        - light.toggle: light1
    internal: True
  # Bottom Button
  - platform: gpio
    id: button_2
    pin:
      number: P10
      inverted: true
      mode: INPUT_PULLUP
    on_press:
      then:
        - light.toggle: light2
    internal: True
  # Button 3(GPO)
  - platform: gpio
    id: button_3
    pin:
      number: P11
      inverted: true
      mode: INPUT_PULLUP
## ---------------- ##
##      Switch      ##
## ---------------- ##
switch:
  #GPO
  - platform: gpio
    pin: P26
    name: ${device_friendly_name}
    id: relay
    restore_mode: always on # default when power is turned on
    icon: mdi:power-socket-au
  #Button LED (RED)
  - platform: gpio
    id: Top_buttonLED
    pin:
      number: P7
  - platform: gpio
    id: Bottom_buttonLED
    pin:
      number: P0
## ---------------- ##
##      Relays      ##
## ---------------- ##
output:
  # Relay L1
  - platform: gpio
    id: relay1
    pin: P6
  # Relay L2
  - platform: gpio
    id: relay2
    pin: P24
## ------------ ##
##    Lights    ##
## ------------ ##
light:
  # Light L1
  - platform: binary
    name: ${device_friendly_name}_1
    icon: ${device_icon}
    output: relay1
    id: light1
  # Light L2
  - platform: binary
    name: ${device_friendly_name}_2
    icon: ${device_icon}
    output: relay2
    id: light2