I nerded out on this a few years ago and ended up buying a not well known device called a rainforest automation eagle (https://www.rainforestautomation.com/rfa-z114-eagle-200-2/). Its a pretty straight forward little linux device that reads your smart meter (after being enrolled via your utility). It exposes an xml api that I bridge to Prometheus (https://github.com/kklipsch/reagle).
I also bridge my utility (ComEd's) pricing feed to prometheus (https://github.com/kklipsch/comed_exporter). Between those 2 I get pretty good whole home utilization and pricing info graphed into Prometheus (and thus into Grafana).
Thanks! Unfortunately all my data readings are in kW. I've been trying to figure out how to get hourly roll-up working and then multiply each hourly reading by price in Prometheus.