Jack's blog

UKERC International Energy Summer School

I've just stumbled across an interesting opportunity: a week-long summer school at Warwick from 7-12th July 2013 specifically for 2nd year PhD students doing PhDs related to Energy. It's free to attend but apparently the summer school is significantly oversubscribed. It sounds like it might be a good opportunity to present my work to a wide community of researchers and also to network with a diverse bunch of interesting people.

I wonder if any of the (small number of!) folks who read my blog have been in previous years (or might be tempted to apply this year)?! I'm going to apply now...

Update 27/3/2013: I've been accepted to attend. Yay!

Emails requesting I remove links from my site

Over the past few months, I have received three emails along the lines of this one:

It has come to our attention that your site may be linking to our own in a manner which we believe may be mutually harmful in SEO terms. For this reason, I would be very grateful if you would please remove all links to this site at your earliest convenience, letting me know that you have done so.

If you run a blog, have you received similar emails? My standard reply is along these lines:

I am happy to remove the link to <company name> from my site if necessary. However, before I do that...

(Forgive me for being paranoid and ultra-sceptical but...)

How do I know that you're not working for a competitor to <company name> who is trying to decrease the ranking of <company name> on search engines? I see that your email address comes from the domain <company name.suffix> but we all know that it's trivial to fake the "from" address of an email.

Please can you confirm that if I was to contact <company name> directly then they would confirm that you are working for them?

I understand that the Google Penguin search engine algorithm update targets "black-hat SEO techniques" such as participating in link schemes. However, I must emphasise that my website is just an "organic" blog. I was not paid to accept links from <company name>. If you feel that <company name> has been unfairly targeted by Google then please complain to Google using their Penguin feedback form.

Again, I'm really sorry to be so very sceptical about this. I just want to make sure I'm not being duped.

Following my reply, all three people who have contacted me have, so far at least, gone quiet.

Summary of my energy monitoring code

This is just a quick summary of the code I've been working on recently. The ultimate aim of all the code is to measure the whole-house electricity consumption and the consumption of individual appliances as cost-effectively as possible.

  • rfm_edf_ecomanager - C++ code for running on a Nanode (an Arduino clone with easy wireless support and networking). This code allows the Nanode to talk directly to multiple Current Cost whole-house sensors (CC TXs) as well as to multiple EDF Transmitter Plugs (CC TRXs). This code aims to capture data from the sensors as reliably as possible. For example, it learns when each CC TX is due to transmit and ensures that it stops polling the CC TRXs for a short window of time around the CC TX's ETA. You talk to the Nanode over the serial port. You can send simple commands. It sends data back to the PC in a simple JSON format.
  • rfm_ecomanager_logger - A Python script for communicating with the rfm_edf_ecomanager Nanode system. rfm_ecomanager_logger provides a command-line tool for "pairing" sensors with the logging system; assigning human-readable names to those sensors and then logging the data in a REDD-formatted form. Again, the emphasis is on reliable logging. It attempts to restart the Nanode if it dies. It goes to quite a lot of effort to make sure we correctly time stamp data (which is surprisingly difficult, especially given that the Nanode doesn't have a real time clock).
  • babysitter - A Python module for "babysitting" a logging system. Sends an email if a sensor dies or if rfm_ecomanager_logger fails. Also sends a "heartbeat" email once a day with some stats and a graph produce by powerstats:
  • powerstats - Produce stats and graphs from REDD-formatted power data. Mainly used for checking the health of sensors.
  • snd_card_power_meter - System for recording voltage and current waveforms at 96 khz, 20 bit per channel using a PC's sound card. Saves down-sampled high frequency data and also calculates real power and apparent power.

Also, I wrote a long guide to setting up a complete logging system which uses all the code listed above and is based on a small, low-cost, low-power Intel Atom system running Ubuntu Server.

"Smart room-by-room heating control for homes"

Imperial MSc Computing Science students do a 3-month individual project over summer. Below is another proposal I and my Ph.D. supervisor have just submitted. Of course, there are no guarantees that any students will be interested...

General "smart home" and "home automation" links

Just a list of links with some notes. By no means exhaustive. Please, please go ahead an leave a comment if you know of any other good home automation links!

  • Robert Hekkers (an amazing hacker in Holland) has done lots and LOTS of "smart home hacking". Here's the web interface to his Domotica home automation / monitoring system. He monitors gas usage, power usage, water, heating, light, temperature, motion, taking photos when someone presses the door bell, which windows are open etc etc. Remarkable stuff.
  • Home Automation Hub (HAH): an open-source system running on a re-purposed router. Active forum and wiki.
  • Google's "Andriod@Home" project.
  • WikiPedia page on Home Automation
  • Fhem "is a GPL'd perl server for house automation. It is used to automate some common tasks in the household like switching lamps / shutters / heating / etc. and to log events like temperature / humidity / power consumption. The program runs as a server, you can control it via web or smartphone frontends, telnet or TCP/IP directly."
  • automatedhome.co.uk
  • SmartThings on Kickstarter "SmartThings makes it easy to connect the things in your physical world to the Internet. You can monitor, control, automate, and have fun with them from anywhere - at home or abroad, city or country. We've made it possible to install apps that mash up and interact with your SmartThings, as well as online and other services, unlocking a world of possibilities and unlimited potential to make your life easier, more convenient and fun. We call these SmartApps."
  • nest - smart and pretty heating control (but no room-by-room control?! gah.)
  • Open Remote - "Open Source Automation Platform"
  • Open standards are essential (surely?)
  • OPENARCH "Openarch is a real prototype of a smart home. The first home designed from scratch to incorporate a digital layer connecting the house and its elements to the Internet. Its inhabitants lead a new digital and connected life. It is flexible and thanks to its ability to transform, it can adapt to any condition that the user requires." (thanks Becky for the link!)

Project proposal for an MSc individual project on disaggregation

Imperial MSc Computing Science students do a 3-month individual project over summer. Below is a proposal I and my Ph.D. supervisor have just submitted. Of course, there are no guarantees that any students will be interested...

"Inferring appliance-by-appliance energy consumption from whole-house electricity meter readings"

By the end of the decade, every house in the UK will have a "smart meter" installed. Each smart meter will record the electricity consumption for the whole house once every ten seconds.

There is good evidence that people find appliance-by-appliance information to be considerably more useful than whole-house aggregate information when making decisions about saving energy. Hence it would be very useful to be able to disaggregate whole-house electricity meter signals into appliance-by-appliance information.

The aim of this project is to implement a disaggregation algorithm and evaluate its performance against real data. The design of the disaggregation algorithm can be your own invention or an algorithm already described in the literature. There are many approaches to this problem and you will be free to choose an approach.

We have a dataset recorded from multiple houses over several months (for each house we recorded the whole-house current and voltage waveforms at 8kHz as well as the "ground truth" of how much power individual appliances are actually using). We also have funding to install meters in your own home, if you wish.

Further reading:

For the "classic" paper on this topic, see:

G. W. Hart, ‘Nonintrusive appliance load monitoring’, Proceedings of the IEEE, vol. 80, no. 12, pp. 1870–1891, Dec. 1992. DOI:10.1109/5.192069

For a recent review of the literature, see:

K. C. Armel, A. Gupta, G. Shrimali, and A. Albert, ‘Is disaggregation the holy grail of energy efficiency? The case of electricity’, Energy Policy, vol. 52, pp. 213 – 234, 2013. DOI:10.1016/j.enpol.2012.08.062

OpenTRV: Open-source home heating control

This project looks like it could be the start of something I've been after for years: Open-Source Thermostatic Radiator Valve (OpenTRV)


Article on OpenTRV on AutomatedHome

Using a sound card as an electricty meter

Just some quick notes on using a 20bit 96kHz sound card on Linux (Ubuntu Server) to sample measurements from a current transformer and AC-AC adapter.

I followed this guide to get audio working on Ubuntu Server. I then tinkered with Audacity (using X over SSH). (My ultimate plan is to either use arecord to record the signal or write a Python or C++ program to do the sampling and processing).

I used the standard Open Energy Monitor current transformer with a 22 ohm burden resistor (which gives about a 0.89V peak-to-peak output when presented with a 30 amps RMS primary current: 0.89V peak-to-peak is, according to WikiPedia, the standard for line inputs and 30amps RMS is, I believe, the most my house every pulls)

For the voltage reading, I'm using the standard Open Energy Monitor AC-to-AC converter. This feeds into an 80mA fuse, then into a simple resistor divider (10k and 220ohms). This gives about 0.7v across the 220ohm resistor which is fed into the sound card's line input. I use two 1N5282 diodes (1.3v forward voltage bias) in parallel across in the 220ohm resistor to guarantee that the peak to peak voltage never goes above 1.3v.

More details on the OEM forum.

Ideas to reduce electricty consumption at home

Just some quick thoughts on how to reduce electricity consumption at home. These figures are very rough-and-ready (but do come from 9 day's of monitoring with IAMs... but usage was a little unusual over the Christmas period):

  • 10 x 12V 50W halogen kitchen down-lights on TRIAC dimmer (currently 1kWh/day = £50/yr). These are the biggest single power draw in our house. I'm currently researching LED or CFL alternatives.
  • Central heating and hot water pumps (combined currently 0.6 kWh/day = £27 / year). Replace with energy efficient pumps (these cost about £100 IRC, so payback for 2 pumps would be ~9 years).
  • washing machine (currently 0.5 kWh/day = £22/yr) fit hot water feed with mixer. Heating water with a local gas boiler is more carbon efficient than using resistive heating.
  • dishwasher (currently 0.6kWh/day = £27 / year) fit hot water feed and disable hot air dryer somehow?
  • 34" CRT TV (currently 0.5 kWh/day = £22 / year) upgrade to LED LCD TV (32" LCD TVs use about 40W) (notes)
  • Dual-core Athlon HTPC circa 2006 (currently 0.6kWh/day = £27/year). Upgrade to 22nm Atom when it's available.

Raw consumption data from 9 days of usage after the break...

New year HTPC woes

(Happy new year!)

We have a home theatre PC dating back to about 2006 running Windows Vista and Windows Media Centre with a FreeView DTB card. It was working perfectly. But, for some reason, Microsoft have stopped providing electronic program guide (EPG) data from 1st Jan 2013. So we can't see the programme guide (hence we can't schedule recordings, which is one of the main functions of our HTPC). It's not clear if MS have decided to kill off the service deliberately (they seem to have gone off WMC) or if it's just a bug.

UPDATE 3/1/2013: MS have just fixed their EPG data. It's working again!

Here are some notes for alternatives I've tried:


Subscribe to RSS - Jack's blog