
I got this recently: DETA Double GPO + USB Power Monitoring Wall Outlet (6920HA)

It has a wb2s chip. Mine has MAIN /MCU version of 1.1.4. It is flashable OTA using "cloud-cutter"
After some trial and error, I managed to get it fully functional.
Does anyone know how "D-number" designation maps to "Pin-number" designation?
See my Yaml file:
substitutions:
device_name: detapowerpoint1
friendly_name: "detapowerpoint1"
device_ip: 192.168.1.131
current_res: "0.00268" # Random value. Requires power monitoring calibration
voltage_div: "818" # Random value. Requires power monitoring calibration
esphome:
name: ${device_name}
friendly_name: ${friendly_name}
libretuya:
board: wb2s
framework:
version: dev
# Enable logging
logger:
# level: DEBUG
# baud_rate: 0
# Enable Home Assistant API
api:
encryption:
key: "my encryption key"
ota:
password: "my password"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
#use_address: 192.168.1.21
manual_ip:
static_ip: ${device_ip}
gateway: 192.168.1.1
subnet: 255.255.255.0
# Enable fallback hotspot in case wifi connection fails
ap:
ssid: "Detapowerpoint1 Fallback Hotspot"
password: "my password"
# Enable time component for use by daily power sensor
time:
- platform: homeassistant
id: homeassistant_time
uart:
rx_pin: P10
baud_rate: 4800
sensor:
- platform: uptime
name: ${friendly_name} Uptime
filters:
- lambda: return x / 60.0;
unit_of_measurement: minutes
- platform: wifi_signal
name: ${friendly_name} Signal
update_interval: 300s
- platform: cse7766
update_interval: 15s
current:
name: "${friendly_name} Current"
icon: mdi:current-ac
filters:
- multiply: 4.867
- sliding_window_moving_average:
window_size: 10
send_every: 10
send_first_at: 1
voltage:
name: "${friendly_name} Voltage"
icon: mdi:flash
filters:
- multiply: 1.905
- sliding_window_moving_average:
window_size: 10
send_every: 10
send_first_at: 1
power:
name: "${friendly_name} Power"
icon: mdi:gauge
id: ${friendly_name}_wattage
filters:
- sliding_window_moving_average:
window_size: 10
send_every: 10
send_first_at: 1
energy:
name: "${friendly_name} Power"
icon: mdi:gauge
id: ${friendly_name}_energy
filters:
- sliding_window_moving_average:
window_size: 10
send_every: 10
send_first_at: 1
- platform: total_daily_energy
name: "${friendly_name} Daily Energy"
power_id: ${friendly_name}_wattage
filters:
- multiply: 0.001
unit_of_measurement: kWh
icon: mdi:chart-bar
output:
- platform: gpio
pin: P8
inverted: false
id: led
# Buttons
binary_sensor:
# Left button
- platform: gpio
device_class: power
pin:
number: P7
mode: INPUT
inverted: True
name: "${friendly_name} Left Button"
#toggle relay on push
on_press:
- switch.toggle: relay_a
# Right button
- platform: gpio
device_class: power
pin:
number: D6
mode: INPUT
inverted: True
name: "${friendly_name} Right Button"
#toggle relay on push
on_press:
- switch.toggle: relay_b
text_sensor:
# Reports the ESPHome Version with compile date
- platform: version
name: ${friendly_name} ESPHome Version
switch:
- platform: gpio
pin: P6
name: "${friendly_name} - A"
restore_mode: always off
id: relay_a
icon: mdi:power-socket-au
- platform: gpio
pin: D7
name: "${friendly_name} - B"
restore_mode: always off
id: relay_b
icon: mdi:power-socket-au
on_turn_on:
- output.turn_on: led
on_turn_off:
- output.turn_off: led