Grid Insight and Electricity Meter Reading

Summer is over and I’m jumping into the Social Consumption Project’s implementation.

My original plan was to acquire 6 of the Digi ERT/Ethernet Gateways, a black box that purport to be able to read the ERT radio signals from water and electricity meters and upload them, via Ethernet, to a central server.

Earlier this week, though, I placed my order for these, only to get a phone call back later the same day from a friendly representative at Digi letting me know (a) these are offered on a “build to order” basis with a lead time of 30 days and (b) it’s an “end of life” product, with no announced replacement. I cancelled my order: I wasn’t eager to invest time and effort in getting a product that I won’t be able to roll out more widely, especially one that might require server-side magic from Digi to continue to operate.

Grid Insight AMRUSB-1 plugged into my USB hubAnd so I went looking for an alternative.

Which led me to Grid Insight, a small California company that seems heaven-sent for my purposes:

Through focused research and engineering, Grid Insight works with utilities, technology companies, and citizens to use utility grid technologies for public benefit.

Exactly.

I called up Greg Hancock, personable owner of the company, and we had an illuminating chat, the end of which is that Greg put me together with someone who, unbeknowst to me, has an office two blocks away from mine here in Charlottetown, Keir Pollard at SpryPoint. Not only is Keir deeply steeped in the terrain I’m hoping to cover, but he also happened to have a Grid Insight AMRUSB-1 that he has generously loaned me to test.

Which is what I’ve just done. Man, was that easy! What you see in the photo is the unit plugged into my USB hub.

Once I plugged it in, it showed up as a USB serial device on my attached Mac as tty.usbmodemfa1311

# ls /dev/tty.*
/dev/tty.Bluetooth-Incoming-Port    /dev/tty.Bluetooth-Modem        /dev/tty.usbmodemfa1311

Reading the output from the device was as simple as:

# screen /dev/tty.usbmodemfa1311

At which point I started to see SCM messages from nearby meters:

$UMSCM,26080513,8,20153*6F
$UMSCM,26692740,13,25950*5A
$UMSCM,17845789,7,1232689*62
$UMSCM,26080513,8,20153*6F
$UMSCM,26080514,8,31849*6A
$UMSCM,26080515,8,31890*6F
$UMSCM,17845789,7,1232708*6A
$UMSCM,24545149,7,1332217*67
$UMSCM,26080515,8,31890*6F
$UMSCM,26080514,8,31849*6A
$UMSCM,26080513,8,20153*6F
$UMSCM,26080514,8,31849*6A
$UMSCM,24543136,7,1762053*6A
$UMSCM,21294573,7,540347*52
$UMSCM,26080513,8,20153*6F
$UMSCM,26771974,13,88729*58
$UMSCM,26080513,8,20153*6F

Parsing this apart using the Grid Insight reference as a guide, I learned that these are standard NMEA 0183 sentences:

  • the lines start with $.
  • the next five characters, UMSCM, are the “talker.”
  • the remainder of the line consists of comma-delimited data.
  • the lines end with an asterisk (*) followed by a checksum.

Looking at the data fields:

  • the first number, 26080513 in the first line above, is the unique ERT serial number of a meter.
  • the second number, 8 in the first line above, indicates which type of meter (water, gas, electricity) this is.
  • the third number,  20153 in the first line above, is the “consumption register” – the current reading of the meter in whatever units it uses.

I compared this handy Grid Insight graphic to the electricity meter in the basement of The Guild:

and found that its ERT serial number is 31884386 and its meter type is 8; this meter doesn’t appear in the list that the AMRUSB-1 detected, but that’s not surprising as the meter is at the very far end of the building from us, three floors below.

So the list above is of closer, neighbouring meters (one of the interesting and generally not-well-known aspects of electricity and water meters is that the data from them is broadcast in the clear, so anyone suitably equipped with a radio to read and parse the data can read any electricity or water meter they’re close enough to).

The meter type values my borrowed AMRUSB-1 are picking up are:

  • 7 - unknown
  • 8 — Maritime Electric (I know this because of the 8 on the photo above).
  • 13 — I’m guessing this is Charlottetown Water & Sewer, from the label of my home water meter.
  • 23 - unknown
  • 24 - unknown

In the 15 minutes I ran the data collection, the unit picked up reports from 10 unique meters.

This is all very promising, and I’m thinking that I’ll be able to pair the AMRUSB-1 and something like a wifi-equipped Raspberry Pi to power my test households for the Social Consumption Project.

The openness of ERT data, of course, raises some interesting ethical issues: in theory I could, by making a regular daily drive around downtown Charlottetown, collection electricity and water consumption information for thousands of households and businesses. The data would be anonymous, in the sense that it would be tied only to an ERT serial number, and not to a customer name or address, but it remains possible to conceive of collecting this data en masse as being untoward. The Grid Insight take on this issue, on their FAQ page, is this:

We are not lawyers and can provide no authoritative guidance as to the legality of receiving wireless metering data, whether from your own home or from someone else’s. We can only say that we are not aware of any law that prohibits it. Common decency, on the other hand, would dictate that you think of looking at someone else’s meter data just as you would think of looking into their home through their bathroom windows – it’s rude and socially unacceptable. Legislation relating to ownership of a customer’s utility consumption data is beginning to appear in some states, notably Illinois, California, and Texas. Please do your own research and contribute to the ongoing public debate on this topic.

This is a set of ethical questions that is only going to leap further into the fore as the barriers to being able to read this data are lowered, both cost-wise and in terms of the technical expertise required.

Update: I wrote a tiny Python script to log data from the AMRUSB-1; I’ll leave it running over the weekend and see what happens.

Update: I left the AMRUSB-1 logging date in my house for nine hours last night, using the Python script I wrote to log data to the house iMac. A total of 5,590 readings were logged; of these, there were 171 unique readings from 17 different meters (the readings “bubble up” from meters even if there’s been no change in the data). My house electricity meter’s initial reading was 43,780; nine hours later it was 43,786, meaning we used 6 kWh overnight (about 78 cents worth of electricity). The house’s water meter initially read 1106 and nine hours later the reading was the same, which is good, because as far as I know we didn’t use any water overnight.