prefixkit Ask an engineerAsk Support RU

ESPHome devices

SUPERNIGHT Double Outlet Plug: ESPHome

SUPERNIGHT Double Outlet Plug (smart plugs, ESP8266): GPIO pinout and a starter ESPHome config with relays, buttons, LED and power metering. Local Home Assistant control with no cloud.

Type
Smart plugs
Chip
ESP8266
Region standard
US

Pinout

PinFunction
GPIO1Left Outlet Button (Inverted: true)
GPIO3Left Outlet Relay
GPIO4HLW8012 CF1 pin
GPIO5HLW8012 CF pin
GPIO12Right Outlet Relay
GPIO13HLW8012 SEL pin (Inverted: true)
GPIO14Dual red status LED (Inverted: true
A0Right Button (ADC Analog)

Find it in shops: AliExpress

Links open a search in the shop; some are affiliate links: buying through them costs you nothing extra and supports this site. We do not sell devices or get them from manufacturers.

Starter ESPHome config

Built from the pinout above. Keys and the Wi-Fi password come from secrets.yaml in ESPHome. Check the pins against your hardware revision before flashing: one model can ship with different boards.

substitutions:
  name: supernight-double-outlet

esphome:
  name: ${name}
  friendly_name: "SUPERNIGHT Double Outlet Plug"

esp8266:
  board: esp01_1m  # most plugs and relays have 1 MB flash; check yours

logger:
api:
  encryption:
    key: !secret api_key
ota:
  - platform: esphome
    password: !secret ota_password
wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  ap: {}
captive_portal:

switch:
  - platform: gpio
    pin: GPIO1
    id: relay1
    name: "Relay 1"  # Left Outlet Button (Inverted: true)
    restore_mode: RESTORE_DEFAULT_OFF
  - platform: gpio
    pin: GPIO3
    id: relay2
    name: "Relay 2"  # Left Outlet Relay
    restore_mode: RESTORE_DEFAULT_OFF
  - platform: gpio
    pin: GPIO12
    id: relay3
    name: "Relay 3"  # Right Outlet Relay
    restore_mode: RESTORE_DEFAULT_OFF

binary_sensor:
  - platform: gpio
    pin:
      number: A0
      mode: INPUT_PULLUP
      inverted: true
    name: "Button"  # Right Button (ADC Analog)
    on_press:
      - switch.toggle: relay1

status_led:
  pin:
    number: GPIO14
    inverted: true  # Dual red status LED (Inverted: true

sensor:
  - platform: hlw8012
    sel_pin:
      number: GPIO13
      inverted: true
    cf_pin: GPIO5
    cf1_pin: GPIO4
    voltage:
      name: "Voltage"
    current:
      name: "Current"
    power:
      name: "Power"
    energy:
      name: "Energy"
    update_interval: 10s
    # calibrate voltage_divider and current_resistor against a known load

How to flash

  • Most devices are flashed over UART: a 3.3 V USB-TTL adapter to RX, TX, GND and 3V3, holding GPIO0 to ground at power-on (ESP8266/ESP32). Mains power disconnected.
  • Beken (BK72xx) and Realtek chips are flashed with ltchiptool, or with cloudcutter without opening the case if the firmware allows it.
  • Details and board photos: the device page in the ESPHome database.

A config from scratch: ESPHome generator. Which pins are safe: pinout.

Similar devices

Idea?