There's a catch to this, though. You need the right type of power meter, specifically one that broadcasts your usage data to anyone who's listening. While this sounds like an esoteric requirement, it's actually quite sensible. Power companies use this style of meter to replace walking house-to-house to collect data, with a driving through your neighborhood instead. This strategy of using low power transmitters as a way to streamline data collection is a brilliant hack in its own right. It's far cheaper than hooking up every meter to the Internet (though, I assume we'll get there), and far less labor intensive than going door to door.

If you have such a meter, you just need the right software to tune your SDR dongle and interpret the data being sent over the air. Here's just such a tool. I spent about 20 minutes trying to get this setup on Windows and then gave up. I then grabbed my Linux box and had it running in a few minutes.

You kick off rtl_tcp in one terminal, rtlamr in another, and then you wait.

Using the protocol and meter docs I see that I'm picking up Gas and Water meters.

The meters bolted to the side of my home have various identifier looking values, none of which appear to match up those I've discovered. That may mean I'm looking at the wrong identifier on the side of the house, or more likely, it means I'm hearing my neighbor's smart meters.

Perhaps if I let this run long enough, I'll pick up some data associated with my home. And then it's only a quick shell script away from tracking and graphing this data.

I have to say, this is a truly eye opening experience. Your utility usage data is just floating out there, waiting to be grabbed and analyzed. All you need is a $20 USB dongle and some basic hacking skills. That's both cool and terrifying, no?