Hi all,
I’m looking for a reliable smart plug with current/energy monitoring that meets these requirements:
- Ideally <1s time resolution (I need fast updates, not just averaged every few seconds.)
- Wi‑Fi connectivity preferred, with MQTT client support out of the box (similar to how Shelly devices can publish to a local MQTT server when the load current changes. I’d rather not have to poll a device’s HTTP endpoint a few times per second.)
- Provisioning/config: Bluetooth for setup would be a big bonus (I think the Shelly Plug S Gen3 can do this, too.)
- Reliability/manufacturer: Needs to be from a well‑supported brand or at least something that’s proven stable and not a “cheap no‑name” option.
I’ve been testing a few devices already. Most average power consumption over longer periods, while e.g. newer Shelly devices come frustratingly close to being exactly what I need.
Does anything on the market provide sub‑second resolution for current measurement? Most consumer plugs I’ve tried either average readings or only publish once every few seconds, which isn’t quite enough for my use case (measuring transient behavior and categorising operating modes of certain appliances).
Has anyone come across a plug that ticks these boxes? Or maybe a hidden configuration with Shelly devices that I’ve missed?
Thanks a lot for any help!
Edit: What I’m actually looking for is a fast response time to significant changes in power consumption (by more than a set amount or a percentage), so a high sample rate within the plug. A constant delay until the message is sent out wouldn’t be a problem at all.
I’ve got several of the AthomTech smart plugs, they run Esphome, and you can fork their firmware and modify it as you see fit. I’ve got one pinging a fairly unstable server and will power cycle it if it doesn’t get a response for 10min, all on device so it works without home assistant running.
Here’s it’s config, defaults to 10sec, but you can change that easily
github://athom-tech/athom-configs/athom-smart-plug-v2.yaml
You can probably sample the data on the device at a much higher rate and send updates instantly if it’s over a certain threshold
This together with runtime configurable thresholds would solve my problem completely.
I ordered one of their ESPHome and one of their Tasmota models yesterday. When you talk about configuration, that actually means compiling a firmware binary and doing an OTA update, right? Or is it actually just a config file I give the device?
It’s a config that lives in Esphome on your home assistant server. Esphome has a Web based editor with some syntax help. When you click update it compiles it for you and uploads it ota.
Right, so I would need to do an OTA update for all devices I want to deplay. Thanks for the insight!
@tofubl
With EspHome you can easily report only changes that are above a defined threshold:
sensor:
- platform: adc
pin: GPIO34
name: “ADC Sensor”
update_interval: 10s # read every 10s
filters:
- delta: 0.05 # only report if change ≥ 0.05