blog

Buying and installing a smart meter

PM1200

I'd like to install a smart meter so I can collect whole-house readings of real and reactive power and voltage once every five seconds for my PhD work on disaggregation. For several months I've been prodding my utility company to replace my "spinning-disk" meter with a smart meter but this isn't going to happen any time soon, even if I offer to pay for the hardware and installation. The existing spinning-disk meter is owned by the utility company so I can't touch it. So my plan is to hire an electrician to install a smart meter downstream of my spinning-disk meter. This blog post is just my notes about smart meters (which to buy? how to communicate with it? etc.)

DIY EcoManager Nanode code is feature-complete!

Hurray! At long, LONG last the embedded C++ code for my DIY EcoManager is feature-complete! It's hard to believe that it's been a full two months since I started on this mission to build a DIY Current Cost receiver. Back then I thought it'd only take a couple of weeks! The last two months have been spent writing over 3,000 lines of C++, scratching my head lots over the EcoManager protocol and how to use the RFM12b wireless module. Oh, and blowing up my laptop of course. And I've met some really smart folks who are trying to do similar projects; without whom I honestly wouldn't have been able to get this project done. I've also really gotten into using the wiki and issue tracker features on github: the integration between commits, the issue tracker and the wiki is great.

The next step is to write a Python script to log the data coming from the Nanode and keep track of which IAMs are connected to which appliance. And then either build an Open Energy Monitor to measure both real and reactive power for my whole house, or pester Ecotricity to get me on their smart meter trial.

And then, once I've got all my data logging kit quietly collecting data, I'll finally be able to get cracking with my "proper" work of doing smart meter disaggregation!

Deleted Current Cost protocol documents

I'm really sorry but I'm afraid I've had to remove the Current Cost protocol details from the GitHub wiki for my rfm_edf_ecomanager project.

Current Cost got in touch a little while ago. (My blog had showed up on one of their Google Alerts). They were very friendly and were genuinely interested in the work I had been doing. But they did request that I delete two wiki pages which describe the workings of the Current Cost protocols (reverse engineered by a group of us). So I have deleted those two pages.

The open-source advocate in me did consider defiantly keeping the documentation online. But I think the pragmatic, diplomatic and polite option is to comply with Current Cost's wishes. To start with, they have been very friendly (they haven't served me with a formal take-down notice or anything like that). And the smart metering world appears to be quite small so it would be a big mistake to annoy one of the major players! To be honest, I'm somewhat relieved that we're allowed to keep the code online.

rfm_edf_ecomanager code now works with the Arduino IDE

Just a very quick update: my rfm_edf_ecomanager C++ AVR code now should compile within the Arduino IDE.

Current Cost and EDF EcoManager RF protocols almost fully decoded

Thanks to the enormous help of Graham Murphy, Matt Thorpe and Paul Cooper, the wiki pages for the EDF EcoManager RF protocol and the Current Cost RF protocol are nearing completion. Of course, jump in if you have anything to add. Anyone with a github account can contribute.

And my EDF EcoManager C++ AVR code is ticking along. Still some distance from being usable "in the field" but getting there.

One quick random thought: for those of us who have been tinkering with the Current Cost RF protocol, it appeared rather odd that the data is "manchesterised". It occurred to me this afternoon that we can take advantage of this structure in the data to validate the data. A little more discussion on the wiki.

UPDATE 30/10/2012

Current Cost have asked me to remove the protocol documentation from the wiki. More details here.

EDF EcoManager wiki

I've started a wiki page for technical details of the EDF EcoManager protocol. Please feel free to edit!

UPDATE 30/10/2012

Current Cost have asked me to remove the protocol documentation from the wiki. More details here.

Success pinging EDF IAM and receiving response.

EDF IAM with NanaodeEDF IAM with Nanaode

Yesterday my first EDF Individual Appliance Monitor arrived. These are very, very similar to Current Cost IAMs except for several vital differences:

  1. Each EDF IAM can both send and receive (the CC IAMs can only send).
  2. Each EDF IAM will only report its wattage when polled by the EDF EcoManager base station. This is great for my application because I should be able to completely avoid RF collisions.
  3. Each EDF IAM also has a relay to turn the appliance on or off. This relay can be activated using the manual override switch on the EDF IAM or over RF
  4. The packets appear to include a simple checksum! (The CC Transmitters don't bother with a checksum.)

I've made good progress today. I think I can now reliably talk to my EDF IAM and get replies.

Success receiving Current Cost RF data using RFM01 and RFM12b


At last! Some successes! Yesterday I finally managed to receive Current Cost RF packets using an RFM01 (the receiver module used on the Current Cost EnviR) and today I got my RFM12b transciever successfully receiving packets too! The RFM01 code is here and the RFM12b code is here. The code is still rather scruffy because I'm still very much in the prototyping stage. I've started attempting to send pings to my new EDF IAM but haven't succeeded yet. I'll blog with more details soon.

Blew up my laptop sniffing SPI bus of IAM!


I did something dumb. And expensive. And potentially dangerous. I blew up my laptop! How did I achieve this amazing feat? By connecting a Current Cost Individual Appliance Monitor to my laptop via a Bus Pirate (note the burnt patch of PCB on the top right of the photo!). I took care to make sure I was connecting the correct SDI lines, just as I had successfully done when sniffing data from my EnviR.

So why did I blow my laptop by connecting to an IAM?

Sniffing SPI data from my Current Cost EnviR

I've successfully sniffed SPI data from my Current Cost EnviR (firmware v 1.29) using a Bus Pirate.

Here's the back of the EnviR PCB. I soldered some wires onto the RFM01 module to make it a little easier to sniff data from the device:




The Bus Pirate is wonderfully easy to use. Just connect it up to the EnviR. Once the Bus Pirate is connected to a laptop, you can start talking to it using screen /dev/ttyUSB0 115200. Put the Bus Pirate into SPI mode and then start sniffing by typing (1). Easy peasy. Below are the results from some SPI bus sniffing...

Pages

Subscribe to RSS - blogs