Have you looked at the TP-Link HS110 smartplugs?
I bought a couple of these tail end of last year (thanks to @borpin for the heads up) and have a draft python script that will query the power data over the LAN WiFi, the script currently returns voltage, current, power, energy, relay state and WiFi signal strength with a timestamp every 5secs.
I am also able to enable/disable the relay too.
The api will allow management of a scheduler and give access to daily weekly and monthly energy totals but for now I intend to do that stuff external to the device and just use the low level data/api’s. I can however see the benefit of perhaps setting the scheduler for known events in the not to distent future as that gives the device a level of autonomy in case of network issues or something at the control source incorrectly delaying/preventing a timed start or stop.
What I’ve explored is totally external to the device, I have not looked into hacking the firmware at all as this device isn’t dependent on a n external website for LAN use via the api, which I consider to be a big plus.
Here’s a teardown I found on the web, perhaps you would know more about whether it’s “hackable” by the components used.
Although, looking at the api’s it is easy to set to target server details via an api call so I would imagine if we could write a web application (we have all the api doc’s to reverse engineer one) there would be no real hacking needed.
See the “cloud commands” section at https://www.softscheck.com/en/reverse-engineering-tp-link-hs110/
I have several other links of interest if you want to know more.