Sonoff POW Origin 16Amp (POWR316)

esp32 global Comes with ESPHome relay
Sonoff POW Origin 16Amp (POWR316) - sonoff-POWR316-external.png
Sonoff POW Origin 16Amp (POWR316) - sonoff-POWR316-internal-labels.png

GPIO Pinout

PinFunction
GPIO00Push Button (HIGH = off, LOW = on)
GPIO05Wifi_LED
GPIO13Relay1
GPIO16CSE7766 Rx
GPIO18Status 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