This device can be found on Aliexpress for about 5 USD.

Basic Config

The following configuration is adapted from https://github.com/esphome-devices/esphome-devices/blob/main/_devices/Sinilink-XY-WFUSB-USB-Switch-Relay/Sinilink-XY-WFUSB-USB-Switch-Relay.md with only minor changes to fit the new device.

There is a 3D printable case available from https://www.thingiverse.com/thing:4638431 which I remixed from https://www.thingiverse.com/thing:4146127

substitutions:
  devicename: xy_wmfs
  upper_devicename: "Sinilink XY-WMFS ESP8266 Wifi Mosefet"

esphome:
  name: $devicename
  platform: ESP8266
  board: esp01_1m
captive_portal:

# Enable logging
logger:

# Enable Home Assistant API (if available i.e. reboot_timeout=0s)
api:
  reboot_timeout: 0s

ota:
wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  #use_address: 10.0.0.230

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: !secret ap_ssid
    password: !secret ap_password
    ap_timeout: 3min

web_server:
  port: 80

status_led:
  pin:
    number: GPIO2  # blue led
    inverted: true #off when ok

switch:
  # Relay (has red led hardwired; relay on = led on)
  - platform: gpio
    id: relay
    pin: GPIO4
    restore_mode: RESTORE_DEFAULT_OFF

  # green led
  - platform: gpio
    pin: GPIO13
    id: green_led
    inverted: false
    restore_mode: RESTORE_DEFAULT_ON

#  # blue led (if _not_ used for status led)
#  - platform: gpio
#    pin: GPIO2
#    id: blue_led
#    inverted: true
#    restore_mode: RESTORE_DEFAULT_OFF

  # Switch template to link relay and green led states
  # green led is on when relay is off
  - platform: template
    id: "${devicename}_relay"
    name: $upper_devicename
    lambda: |-
      if (id(relay).state) {
        return true;
      } else {
        return false;
      }
    turn_on_action:
        - switch.turn_off:
            id: green_led
        - switch.turn_on: #also turns red led on
            id: relay
    turn_off_action:
        - switch.turn_on:
            id: green_led
        - switch.turn_off: #also turns red led off
            id: relay

# Button
binary_sensor:
  - platform: gpio
    id: button
    pin:
      number: GPIO12
      mode: INPUT_PULLUP
      inverted: True
    on_press:
      - switch.toggle: "${devicename}_relay"