Sonoff POW Origin 16Amp (POWR316)
GPIO Pinout
| Pin | Function | 
|---|---|
| GPIO00 | Push Button (HIGH = off, LOW = on) | 
| GPIO05 | Wifi_LED | 
| GPIO13 | Relay1 | 
| GPIO16 | CSE7766 Rx | 
| GPIO18 | Status LED (HIGH = off, LOW = on) | 
Initial Setup
Remove the 4 screws at the back of the device and expose the board. The board is mounted to the front panel and can be un screwed also to install a permanent 4 pin header to attach jumper cables. Hold down the button while powering on the device to put it into bootloader mode.
Product Images
 

Basic Configuration
# Basic Config
substitutions:
  friendly_name: POW Origin 16A
  device_name: pow-origin-16a
esphome:
  name: ${device_name}
  friendly_name: ${friendly_name}
  # optional
  on_boot:
    then:
      - switch.turn_on: relay
esp32:
  board: nodemcu-32s
wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  ap:
    ssid: ${device_name}
    password: !secret wifi_failover
  on_connect:
    then:
      - light.turn_on: wifi_status_led
  on_disconnect:
    then:
      - light.turn_off: wifi_status_led
captive_portal:
logger:
api:
ota:
  password: !secret ota_pwd
#optional
web_server:
  port: 80
uart:
  rx_pin: GPIO16
  baud_rate: 4800
  parity: EVEN
sensor:
  - platform: cse7766
    current:
      name: ${friendly_name} Current
      id: a_sensor
      filters:
        - throttle_average: 30s
    voltage:
      name: ${friendly_name} Voltage
      id: v_sensor
      filters:
        - throttle: 30s
    power:
      name: ${friendly_name} Power
      id: w_sensor
      filters:
        - throttle_average: 30s
    energy:
      name: ${friendly_name} Energy
      id: wh_sensor
      filters:
        - throttle_average: 30s
  - platform: template
    name: $friendly_name ESP32 Internal Temp
    device_class: temperature
    unit_of_measurement: °C
    id: esp32_temp
    lambda: return temperatureRead();
    update_interval: 600s
  - platform: wifi_signal
    name: "WiFi Signal"
    update_interval: 600s
text_sensor:
  - platform: wifi_info
    ip_address:
      name: "IP Address"
output:
  - platform: ledc
    id: led
    pin:
      number: GPIO18
      inverted: True
light:
  - platform: monochromatic
    id: switch_led
    output: led
    internal: True
    default_transition_length: 0s
  - platform: status_led
    id: wifi_status_led
    internal: True
    pin:
      number: GPIO05
      inverted: True
binary_sensor:
  - platform: gpio
    pin:
      number: GPIO0
      mode:
        input: true
        pullup: true
      inverted: true
    name: "${friendly_name} - Button"
    on_press:
      - switch.toggle: relay
switch:
  - platform: gpio
    name: "${friendly_name} - Relay Switch"
    pin: GPIO13
    id: relay
    on_turn_on:
      then:
        - light.turn_on: switch_led
    on_turn_off:
      then:
        - light.turn_off: switch_led