Tuya 2 Gang Switch Socket

bk72xx au Comes with ESPHome switchplug
Tuya 2 Gang Switch Socket - tyna-gpo-switch.png

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

PinFunction
P0Bottom Button Blue LED (H)
P6Top Button Relay L2 (H)
P7Top Button Blue LED (H)
P8Top Button (L)
P9Status LED RED (H)
P10Bottom Button (L)
P11GPO Button (L)
P24Bottom Button Relay L1 (H)
P26GPO 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