Here’s a quick report on the Grid Insight AMRUSB-1 and Google PowerMeter integration. I’ve made excellent progress building a general purpose Google PowerMeter client library in C, which will be useful to me but also useful to anyone else who wants to get data into PowerMeter with minimal hassle. I didn’t even look at the Microchip C reference code, instead just working from the Google’s docs. The result will be a GPL-licensed Google PowerMeter C client library suitable for running on PCs, in contrast with the Microchip library which was intended for use on embedded devices. I think I’m going to call the library “libgoogpm”, for lack of a better name. Suggestions, however, are welcome.

Libgoogpm depends on two things: libcurl for HTTP(S) interactions with Google, and the Mongoose embedded HTTP server. Both are open source packages with GPL-friendly license terms.

After 24 hours of usage of an early alpha version of the libgoogpm library integrated with one of my AMRUSB-1 utility meter data receivers, I have a power profile for my Lenovo X61 tablet and my external NEC LCD2090UXi LCD panel, both of which are being powered in my lab through a metering test harness running an Itron Centron C1SR R300 HP watthour meter.

Here’s a screenshot of the result:

Google PowerMeter screen shot

This integration is certainly not done, but it is working fine so far.

It’s worth noting that I’m feeding only the Itron meter’s standard consumption messages (SCM) to PowerMeter. The Itron C1SR R300 meter, however, is one of Itron’s newer models and also provides interval data. The libgoogpm will eventually support batch uploading of interval data, so it will be interesting to see how switching over to IDM messages at that point might change the PowerMeter chart. At the very least, using IDMs will allow my AMRUSB-1 host PC to only have to process data from the AMRUSB-1 a few times a day, which means I can let that PC sleep most of the time rather than leaving it powered up simply to process power data. (Seems to defeat the point a little, you know?)

I’ll be posting libgoogpm to the web site once I have it completed. There’s still a fair amount of work to do on the embedded web server piece, so it could be while longer.