No Power readings from Sonoff POW R2 on esphome

Hi folks

I am slowly migrating a random selection of devices to ESPHome to save admin over time. Anyway - I have a few Sonoff POW R2 devices monitoring power and as a test I moved one of these from Tasmota where it was working well, to ESPHome. I used the config from here - Sonoff POWR2 | devices.esphome.io

The switch works however I dont see any readings from any of the power sensors. I did have to add parity: EVEN to the uart section as I got a build error saying that Partity couldnt be Null, but everything else I have left exactly as per the link.

Before I flash the rest, any reason why this isnt working?

Thanks
Neil

Heres my code if that helps…

esphome:
  name: washingmachinepowr2
  friendly_name: WashingMachinePOWR2
  project:
    name: Sonoff.relay
    version: 'POWR2'

substitutions:
  update_interval: 60s

esp8266:
  board: esp01_1m

# Enable logging
logger:
  baud_rate: 0

# Enable Home Assistant API
api:
  encryption:
    key: "ydLgCIXlh0ubGLF34zKpXs9Ij/XU/F6kfmLL+5pvJMY="

ota:
  - platform: esphome
    password: "678396f5c64b9224fb9b9954bb0a38b6"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Washingmachinepowr2"
    password: "QVZdMTdufvov"

captive_portal:

uart:
  rx_pin: RX
  baud_rate: 4800
  parity: EVEN

binary_sensor:
  - platform: gpio
    pin:
      number: GPIO0
      mode: INPUT_PULLUP
      inverted: True
    name: WashingmachinePOWR2 Button
    on_press:
      - switch.toggle: dummybutton

sensor:
  - platform: cse7766
    current:
      name: "Washing Machine Current"
      filters:
        - throttle_average: ${update_interval}
    voltage:
      name: "Washing Machine Voltage"
      filters:
        - throttle_average: ${update_interval}
    power:
      name: "Washing Machine Power"
      filters:
        - throttle_average: ${update_interval}
    energy:
      name: "Washing Machine Energy"
      filters:
        - throttle: ${update_interval}
    apparent_power:
      name: "Washing Machine Apparent Power"
      filters:
        - throttle_average: ${update_interval}
    power_factor:
      name: "Washing Machine Power Factor"
      filters:
        - throttle_average: ${update_interval}

switch:
  - platform: template
    name: Washing Machine POWR2 Relay
    optimistic: true
    id: dummybutton
    turn_on_action:
      - switch.turn_on: relay
    turn_off_action:
      - switch.turn_off: relay
    restore_mode: ALWAYS_ON
  - platform: gpio
    id: relay
    pin: GPIO12

On your esphome logs…?

This is all I see in the ESPHome logs - Nothing else gets added…In Home Assistant, all the entities just show as “unknown”

INFO ESPHome 2025.4.0
INFO Reading configuration /config/esphome/washingmachinepowr2.yaml...
INFO Starting log output from 192.168.30.19 using esphome API
INFO Successfully connected to washingmachinepowr2 @ 192.168.30.19 in 0.005s
INFO Successful handshake with washingmachinepowr2 @ 192.168.30.19 in 2.701s
[18:44:15][I][app:100]: ESPHome version 2025.4.0 compiled on Apr 28 2025, 14:22:54
[18:44:15][I][app:102]: Project Sonoff.relay version POWR2
[18:44:15][C][wifi:600]: WiFi:
[18:44:15][C][wifi:428]:   Local MAC: DC:4F:22:37:4A:74
[18:44:15][C][wifi:433]:   SSID: [redacted]
[18:44:15][C][wifi:436]:   IP Address: 192.168.30.19
[18:44:15][C][wifi:439]:   BSSID: [redacted]
[18:44:15][C][wifi:441]:   Hostname: 'washingmachinepowr2'
[18:44:15][C][wifi:443]:   Signal strength: -74 dB ▂▄▆█
[18:44:15][C][wifi:447]:   Channel: 1
[18:44:15][C][wifi:448]:   Subnet: 255.255.255.0
[18:44:15][C][wifi:449]:   Gateway: 192.168.30.1
[18:44:15][C][wifi:450]:   DNS1: 192.168.30.1
[18:44:15][C][wifi:451]:   DNS2: 0.0.0.0
[18:44:15][C][logger:177]: Logger:
[18:44:15][C][logger:178]:   Max Level: DEBUG
[18:44:15][C][logger:179]:   Initial Level: DEBUG
[18:44:15][C][logger:181]:   Log Baud Rate: 0
[18:44:15][C][logger:182]:   Hardware UART: UART0
[18:44:15][C][uart.arduino_esp8266:118]: UART Bus:
[18:44:15][C][uart.arduino_esp8266:120]:   RX Pin: GPIO3
[18:44:15][C][uart.arduino_esp8266:122]:   RX Buffer Size: 256
[18:44:15][C][uart.arduino_esp8266:124]:   Baud Rate: 4800 baud
[18:44:15][C][uart.arduino_esp8266:125]:   Data Bits: 8
[18:44:15][C][uart.arduino_esp8266:126]:   Parity: EVEN
[18:44:15][C][uart.arduino_esp8266:127]:   Stop bits: 1
[18:44:15][C][uart.arduino_esp8266:129]:   Using hardware serial interface.
[18:44:15][C][switch.gpio:068]: GPIO Switch 'relay'
[18:44:15][C][switch.gpio:090]:   Restore Mode: always OFF
[18:44:15][C][switch.gpio:031]:   Pin: GPIO12
[18:44:15][C][gpio.binary_sensor:015]: GPIO Binary Sensor 'WashingmachinePOWR2 Button'
[18:44:15][C][gpio.binary_sensor:016]:   Pin: GPIO0
[18:44:15][C][template.switch:068]: Template Switch 'Washing Machine POWR2 Relay'
[18:44:15][C][template.switch:090]:   Restore Mode: always ON
[18:44:15][C][template.switch:057]:   Optimistic: YES
[18:44:15][C][cse7766:231]: CSE7766:
[18:44:15][C][cse7766:232]:   Voltage 'Washing Machine Voltage'
[18:44:15][C][cse7766:232]:     Device Class: 'voltage'
[18:44:15][C][cse7766:232]:     State Class: 'measurement'
[18:44:15][C][cse7766:232]:     Unit of Measurement: 'V'
[18:44:15][C][cse7766:232]:     Accuracy Decimals: 1
[18:44:15][C][cse7766:233]:   Current 'Washing Machine Current'
[18:44:15][C][cse7766:233]:     Device Class: 'current'
[18:44:15][C][cse7766:233]:     State Class: 'measurement'
[18:44:15][C][cse7766:233]:     Unit of Measurement: 'A'
[18:44:15][C][cse7766:233]:     Accuracy Decimals: 2
[18:44:15][C][cse7766:234]:   Power 'Washing Machine Power'
[18:44:15][C][cse7766:234]:     Device Class: 'power'
[18:44:15][C][cse7766:234]:     State Class: 'measurement'
[18:44:15][C][cse7766:234]:     Unit of Measurement: 'W'
[18:44:15][C][cse7766:234]:     Accuracy Decimals: 1
[18:44:15][C][cse7766:235]:   Energy 'Washing Machine Energy'
[18:44:15][C][cse7766:235]:     Device Class: 'energy'
[18:44:15][C][cse7766:235]:     State Class: 'total_increasing'
[18:44:15][C][cse7766:235]:     Unit of Measurement: 'Wh'
[18:44:15][C][cse7766:235]:     Accuracy Decimals: 3
[18:44:15][C][cse7766:236]:   Apparent Power 'Washing Machine Apparent Power'
[18:44:15][C][cse7766:236]:     Device Class: 'apparent_power'
[18:44:15][C][cse7766:236]:     State Class: 'measurement'
[18:44:15][C][cse7766:236]:     Unit of Measurement: 'VA'
[18:44:15][C][cse7766:236]:     Accuracy Decimals: 1
[18:44:15][C][cse7766:238]:   Power Factor 'Washing Machine Power Factor'
[18:44:15][C][captive_portal:089]: Captive Portal:
[18:44:15][C][mdns:116]: mDNS:
[18:44:15][C][mdns:117]:   Hostname: washingmachinepowr2
[18:44:15][C][esphome.ota:073]: Over-The-Air updates:
[18:44:15][C][esphome.ota:074]:   Address: washingmachinepowr2.local:8266
[18:44:15][C][esphome.ota:075]:   Version: 2
[18:44:15][C][esphome.ota:078]:   Password configured
[18:44:15][C][safe_mode:018]: Safe Mode:
[18:44:15][C][safe_mode:019]:   Boot considered successful after 60 seconds
[18:44:15][C][safe_mode:021]:   Invoke after 10 boot attempts
[18:44:15][C][safe_mode:022]:   Remain in safe mode for 300 seconds
[18:44:15][C][api:140]: API Server:
[18:44:15][C][api:141]:   Address: washingmachinepowr2.local:6053
[18:44:15][C][api:143]:   Using noise encryption: YES

I meant runtime log, when sensor is updating…

Sorry, not sure how I would get that? I was assuming i wouldnt get any other logs as the UART is disabled as thats what I was led to believe the sensors use? Could you let me know how to get a runtime log? (thanks for bearing with me and trying to help by the way!)

If your device is online, afaik you should be able to see the log. I’m not familiar with different HA setups, but look for Esphome dashboard and click LOGS.

Ah, the log I pasted in my first reply to you is the log from the device via the esphome device builder…

Anyone else have any suggestions? Should what I am doing just work?