The goal of power metering every power outlet in my Smart Home

One of my goals when it comes to my smart home is to have power metering for every socket at my place and to be able to turn them off or on remotely. On my way there I bought and tested several different devices; Most coming from China and some from Europe.

Tested devices

The first power metering smart device I bought was Avatto Mini Standard smart socket outlet back in July 2019. Crazily enough, that one still works today. In the meantime I have tested BlitzWolf BW-SHP8, BW-SHP6, BW-SHP7, BW-SHP13, BW-SHP10, Shelly 1PM, Shelly Plus 1PM, and Sonoff Pow R2. Out of all these devices, the best power metering device in my experience turned out to be BW-SHP10. Sonoff Pow R2 uses CSE7766 power metering chip, BW-SHP10 which uses BL0940 and the rest all use BL0937 power sensor.

Even though BW-SHP10 is the best, it cannot be easily hidden behind the sockets, so I have been using it in cases where sockets are permanently hidden, e.g. they are behind my oven and microwave. My oven can occasionally draw over 4kW of power and BW-SHP10 is taking it for 2 years now. I tested the same load with Shelly devices but they overheated and shut down.

Shellies positioned behind sockets in an in-wall power box

Current solution: Shelly devices behind sockets

Since I can, in most cases, hide Shelly Plus 1PMs behind regular sockets for stealthy look, I have decided to go with those for my place. However, even though the hardware of these devices is quite good, the firmware is really bad. Almost a year has passed since Shelly Plus 1PM have been released for sale and the original Shelly firmware, which has gone through several updates, is still unusable for long term power metering. Here’s an example of what happens with Shelly’s voltage metering after some time:

Voltage graph from two Shelly Plus 1PMs; Blue – ESPHome, Lime – Original firmware

Shelly’s firmware starts going crazy with power metering after an uptime of 7-9 days. The same device running ESPHome firmware doesn’t have that issue. Naturally, to get the best of both worlds I am now buying Shelly devices and immediately flashing them with ESPHome firmware. Shelly has completely lost my trust when it comes to the quality of their firmware. While Shelly 1PM can now be reflashed over the air, Shelly Plus 1PM need to be flashed like this:

Shelly Plus 1PM getting flashed with ESPHome using the CH340 USB module

However, this results in a device that has the best of both worlds – great hardware and a great, stable firmware. Not to mention that you can calibrate the power meter with ESPHome, while Shelly firmware doesn’t allow that even though the devices don’t seem to be calibrated out of the factory.

I’ve published the configuration files for ESPHome which I’m using for these devices here: https://github.com/Vorta/ESPHome-device-configs.

The end goal

The goal I am working towards is having a dashboard that contains the top-down view of my place with all sockets marked on it (along with other things like lights, doors, windows, etc.). By tapping any socket I can open the power draw gauge and control the on/off switch. It seems that the way to get there are Shelly Plus 1PM flashed with ESPHome. At least for now.