Sonoff POW2

Before I go and flash this to one of my remaining Sonoff POW2s can anyone see anything particularly wrong with it?

esphome:
  name: sonoff_dining_heater_n
  platform: ESP8266
  board: esp01_1m

wifi:
  ssid: 'WAPDI'
  password: !secret wifi_pwd
  manual_ip:
    static_ip: 10.1.1.188
    gateway: 10.1.1.1
    subnet: 255.255.255.0

api:
  password: !secret api_password

logger:
  baud_rate: 0

uart:
  rx_pin: RX
  baud_rate: 4800

ota:
  password: !secret esp_pwd

binary_sensor:
  - platform: gpio
    pin:
      number: GPIO0
      mode: INPUT_PULLUP
      inverted: true
    name: "Dining Heater N Power Button"
    on_press:
      - switch.toggle: relay

  - platform: status
    name: "Dining Heater N Status"

switch:
  - platform: gpio
    id: blue_led
    pin:
      number: GPIO13
      inverted: true
    restore_mode: RESTORE_DEFAULT_ON

  - platform: gpio
    name: "Dining Heater N"
    pin: GPIO12
    id: relay
    icon: mdi:radiator
    restore_mode: RESTORE_DEFAULT_OFF

  - platform: restart
    name: "Dining Heater N Restart"

sensor:
  - platform: wifi_signal
    name: "Dining Heater N WiFi Signal"
    update_interval: 15s
    filters:
      - sliding_window_moving_average:
          window_size: 15
          send_every: 15
          send_first_at: 1
    icon: mdi:wifi

  - platform: cse7766
    update_interval: 15s
    current:
      name: "Dining Heater N Current"
      filters:
        - sliding_window_moving_average:
            window_size: 10
            send_every: 10
            send_first_at: 1
    voltage:
      name: "Dining Heater N Voltage"
      filters:
        - sliding_window_moving_average:
            window_size: 10
            send_every: 10
            send_first_at: 1
    power:
      name: "Dining Heater N Power"
      id: dining_heater_n_wattage
      filters:
        - sliding_window_moving_average:
            window_size: 10
            send_every: 10
            send_first_at: 1

  - platform: total_daily_energy
    name: "Dining Heater N Daily Energy"
    power_id: dining_heater_n_wattage
    filters:
      - multiply: 0.001
      - sliding_window_moving_average:
          window_size: 10
          send_every: 10
          send_first_at: 1
    unit_of_measurement: kWh
    icon: mdi:chart-bar

time:
  - platform: homeassistant
    id: homeassistant_time

Looks alright to me, but as I wrote in the Shelly EM thread, atm I’m just having Shelly1s. :smiley: :smiley:

You have sensors for power, voltage, current and wifi. Are there even more? I don’t think so.
Switch is ok, that I can say. :wink:
And the binary_sensor looks alright as well.

Do it! :wink:

this is what i have on 4 differnt pow2:

esphomeyaml:
  name: pow2
  platform: ESP8266
  board: esp01_1m
  board_flash_mode: dout

wifi:
  ssid: 'xxxxxx'
  password: 'xxxx'
#  manual_ip:
    # Set this to the IP of the ESP
#    static_ip: 192.168.1.232
    # Set this to the IP address of the router. Often ends with .1
#    gateway: 192.168.1.1
    # The subnet of the network. 255.255.255.0 works for most home networks.
#    subnet: 255.255.255.0
# Enable logging
logger:
  baud_rate: 0

uart:
  rx_pin: RX
  baud_rate: 4800
# Enable Home Assistant API
api:

ota:

web_server:
  port: 80

binary_sensor:
  - platform: gpio
    pin:
      number: GPIO0
      mode: INPUT_PULLUP
      inverted: True
    name: "Sonoff pow2 Button"
    on_press:
      - switch.toggle: fakebutton
  - platform: template
    name: "Dryer Machine Running"
    filters:
      - delayed_off: 15s
    lambda: |-
      if (isnan(id(power).state)) {
        return {};
      } else if (id(power).state > 4) {
        // Running
        return true;
      } else {
        // Not running
        return false;
      }
switch:
  - platform: template
    name: "Sonoff pow2 Relay"
    optimistic: true
    id: fakebutton
    turn_on_action:
    - switch.turn_on: relay
    - light.turn_on: led
    turn_off_action:
    - switch.turn_off: relay
    - light.turn_off: led
  - platform: gpio
    id: relay
    pin: GPIO12
    restore_mode: RESTORE_DEFAULT_ON


output:
  - platform: esp8266_pwm
    id: pow_blue_led
    pin:
      number: GPIO13
      inverted: True

light:
  - platform: monochromatic
    name: "Sonoff pow2 Blue LED"
    output: pow_blue_led
    id: led

sensor:
  - platform: wifi_signal
    name: "Sonoff pow2 WiFi Signal"
    update_interval: 60s
  - platform: uptime
    name: "Sonoff pow2 Uptime"
  - platform: cse7766
    update_interval: 2s
    current:
      name: "Sonoff pow2 Current"
    voltage:
      name: "Sonoff pow2 Voltage"
    power:
      name: "Sonoff pow2 Power"
      id: power
      on_value_range:
        - above: 4.0
          then:
            - light.turn_on: led
        - below: 3.0
          then:
            - light.turn_off: led

text_sensor:
  - platform: version
    name: "Sonoff pow2 ESPHome Version"

Ok that worked well. The only thing I’m not completely happy with is having to poll the wifi connected LED. Other than using the status LED, can anyone think of a better way of doing it?

esphome:
  name: sonoff_spare_bedroom_heater
  platform: ESP8266
  board: esp01_1m

wifi:
  ssid: 'WAPDI'
  password: !secret wifi_pwd
  manual_ip:
    static_ip: 10.1.1.189
    gateway: 10.1.1.1
    subnet: 255.255.255.0

api:
  password: !secret api_password

logger:
  baud_rate: 0

uart:
  rx_pin: RX
  baud_rate: 4800

ota:
  password: !secret esp_pwd

interval:
  - interval: 10s
    then:
      if:
        condition:
          wifi.connected:
        then:
          - switch.turn_on: blue_led
        else:
          - switch.turn_off: blue_led

binary_sensor:
  - platform: gpio
    pin:
      number: GPIO0
      mode: INPUT_PULLUP
      inverted: true
    name: "Spare Bedroom Heater Power Button"
    on_press:
      - switch.toggle: relay

  - platform: status
    name: "Spare Bedroom Heater Status"

switch:
  - platform: gpio
    id: blue_led
    pin:
      number: GPIO13
      inverted: true

  - platform: gpio
    name: "Spare Bedroom Heater"
    pin: GPIO12
    id: relay
    icon: mdi:radiator
    restore_mode: RESTORE_DEFAULT_OFF

  - platform: restart
    name: "Spare Bedroom Heater Restart"

sensor:
  - platform: wifi_signal
    name: "Spare Bedroom Heater WiFi Signal"
    update_interval: 15s
    filters:
      - sliding_window_moving_average:
          window_size: 15
          send_every: 15
          send_first_at: 1
    icon: mdi:wifi

  - platform: cse7766
    update_interval: 15s
    current:
      name: "Spare Bedroom Heater Current"
      icon: mdi:current-ac
      filters:
        - sliding_window_moving_average:
            window_size: 10
            send_every: 10
            send_first_at: 1
    voltage:
      name: "Spare Bedroom Heater Voltage"
      icon: mdi:flash
      filters:
        - sliding_window_moving_average:
            window_size: 10
            send_every: 10
            send_first_at: 1
    power:
      name: "Spare Bedroom Heater Power"
      icon: mdi:gauge
      id: spare_bedroom_heater_wattage
      filters:
        - sliding_window_moving_average:
      on_value_range:
        - above: 4.0
          then:
            - switch.turn_on: blue_led
        - below: 3.0
          then:
            - switch.turn_off: blue_led

  - platform: total_daily_energy
    name: "Spare Bedroom Heater Daily Energy"
    power_id: spare_bedroom_heater_wattage
    filters:
      - multiply: 0.001
    unit_of_measurement: kWh
    icon: mdi:chart-bar

time:
  - platform: homeassistant
    id: homeassistant_time