Funny you should mention this. I just set this up myself... I have a meter measurement about every 30 seconds, which it gets plotted into a cool web graph that shows usage as well as consumption spikes and I can set alerts and such. Pretty cool.

For anyone who's curious, here's the hardware:

1. A "smart meter" outside the house (set up by the power company)
2. A raspberry pi 3 (w/power cable/sdcard)
3. NooElec NESDR Mini 2+ software defined radio
http://www.nooelec.com/store/sdr/sdr-receivers/nesdr-mini-2-...
This comes with an antenna as well.

And here's the software:

* Ubuntu Mate on the rpi3 (you can also use raspbian or whatever)
* rtlamr to take readings from the meter (https://github.com/bemasher/rtlamr -- this is awesome and worked on the first try after I installed golang and ran "go get github.com/bemasher/rtlamr")
* rtl-tcp (a dependency of the above that is automatically installed if I remember correctly.)
* openhab2 open source home automation sw (optional)
* influxdb open source time series database
* grafana graphing software

Once I plugged the USB NooElectric SDR, I was able to grab my meter's reading with a little python3 script. The test code I'm using looks something like:

completed = subprocess.run(['/home/myaccount/go/bin/rtlamr', '-filterid=1234567', '-single=true', '-format=json'],
stdout=subprocess.PIPE, stderr=subprocess.DEVNULL)
data=json.loads(completed.stdout.decode("utf-8"))
reading = data['Message']['Consumption']

This gives you the reading for your meter. Change the -filterid to use the number physically written on your meter outside.

I wanted to be able to visualize trends (like the rate of consumption when I turned on the heat) using a nifty chart, so I published from python (via the paho library-- https://pypi.python.org/pypi/paho-mqtt ) to a local mqtt server (mosquitto running on the pi) though I also tried sending to a mqtt feed at io.adafruit.com, which does a neat graph on its dashboard... until I overwhelmed its quota with too-frequent updates. I wanted something faster where I didn't have to worry about any throttling.

So I decided to do it all locally. First, I set up openhab2 (http://docs.openhab.org/) which has an add-on to to automatically read the mqtt feed, then inserted the measurements to a database on a local influxdb (https://en.wikipedia.org/wiki/InfluxDB) server also on the pi which keeps a real-time history (aka "persistence") of my electric usage over time. (I could have also just inserted to the influxdb directly from my python3 script, but I'm playing with openhab2 for other things so had it do it for me...)

Finally, I connected grafana (http://grafana.org/) to the influxdb database. Now I have gorgeous real-time graphs and an amazing interactive web-UI that lets me zoom in and set alerts and such.

It sounds like a lot of steps to get to the graph, and once you have the actual measurement, you have choices on how to visualize it-- you could have python send the readings to a Google Sheets spreadsheet and graph from there, for example. or do updates to adafruit less frequently to not blow through the quota. Or use openhab2's which includes its own charts.

But grafana's visualizations are just the coolest. See http://play.grafana.org for an idea of what you can do...

Anyway, long drawn out answer, but the point is-- assuming you have a smart electric meter that work with rtlamr, you can do this yourself :)