I'm not aware of a product that meets your specs. I'll tell you how I did it, though.
I ended up using a Continental Control Systems Wattnode WNC-3Y-208-MB. This gives excellent data using two current clamps and two taps for voltage/frequency.
Unfortunately, accessing that data requires you to talk to it using modbus over RS485. I did that with a
D1 mini, an
RS485-I2C bridge and about half a day of dickery. Total cost was under a hundred bucks. I have the D1 spitting out the data in JSON format, like so:
{ "EnergySum": 51593.76, "EnergyPosSum": 51591.52, "EnergySumNR": 51593.76, "EnergyPosSumNR": 51474.25, "PowerSum": -7.45, "PowerA": -237.07, "PowerB": 230.00, "VoltageA": 120.33, "VoltageB": 120.00, "EnergyA": 24837.87, "EnergyB": 26854.40, "EnergyPosA": 24966.92, "EnergyPosB": 26854.40, "EnergyNegSum": 2.24, "EnergyNegSumNR": 2.24, "EnergyNegA": 135.93, "EnergyNegB": 1.05, "EnergyReacSum": 2929.47, "EnergyReacA": -62.70, "EnergyReacB": 2996.44, "EnergyAppSum": 52750.26, "EnergyAppA": 25516.59, "EnergyAppB": 27354.60, "PowerFactorAvg": 0.01, "PowerFactorA": -0.80, "PowerFactorB": 0.69, "PowerReacSum": -429.47, "PowerReacA": -178.82, "PowerReacB": -250.00, "PowerAppSum": 429.78, "PowerAppA": 292.53, "PowerAppB": 346.00, "CurrentA": -2.44, "CurrentB": 2.87, "Demand": 386.88, "DemandMin": -11.12, "DemandMax": 20047.67, "DemandApp": 700.77, "DemandA": 20.98, "DemandB": 364.00 }
I probably should open source the code I put on that D1.
This gets polled every couple of seconds by a python script, which writes to a mariadb table. I have grafana eating off that, to give me:
The solar stuff is another story. No data is currently populated for it because that system is down due to other planned work.