Monday, September 28, 2009

First experiences with the TED 5000

This past weekend I became the proud owner of a TED 5000 home energy monitor. I thought it might be useful to detail some initial experiences for the Renewable Energy and Island Sustainability Project and for our own subproject on From Smart Grids to Smart Consumers.

Overview of the TED 5000
The TED-5000 consists of four components.

MTU:  The "MTU" (for Measurement Transmitting Unit) goes inside your electric panel and monitors the power being consumed by your house.

Gateway: The "Gateway" is a small unit that plugs into a wall outlet and connects to your router (in my case, an Airport) using an ethernet cable. The Gateway receives current power consumption data from the MTU every few seconds via a proprietary powerline network protocol. 

Display Unit:  The "Display Unit" is a small handheld device (like an iPod) that communicates wirelessly with the Gateway using Zigbee and can show you (among other things) a near real-time display of your power usage.

Footprints:  Finally, "Footprints" is a web application that runs on the Gateway. You use Footprints to configure your TED, display various graphs and charts, and install Firmware updates.

Installing the TED 5000 involves: (1) opening the electric panel and connecting the MTU; (2) plugging in the Gateway and attaching an ethernet cable from it to my Airport; and (3) accessing the Footprints web application and setting some configuration values.

I found that connecting the MTU was pretty straightforward, basically because I had two electrically-akamai friends (Robert Brewer and Tony Querubin) helping and thus my personal involvement was limited to showing them where my electrical panel was located, holding a flashlight, and serving them Apple Huguenot torte when they finished.  The TED installation video provides a good approximation to what's involved, though there are some minor changes from the TED 1000 to the TED 5000.

Installation Glitch #1: No http://TED5000
The installation manual says that after hooking up the MTU and Gateway, you can access the Footprints web application using: http://TED5000.  That fails for non-Windows systems.  Fortunately, Robert was already aware of the problem and how to work around it. First, he looked up my Mac's IP address ( and invoked "ping" to find out all of the devices on the 10.0.1.* subnet. Three devices responded: my Airport (, my computer (, and a third "mystery" device at  Bingo: the URL to the footprints software on my computer is:

You might think that providing a URL that only works on Windows systems (and not even stating that in the installation guide) is pretty lame.  But wait, it gets worse:

Installation Glitch #2:  No HST.
The Display Unit provides the current time, and to do so, it needs to know the time zone.  Part of the configuration process in Footprints involves specifying the time zone, for which it provides a drop down menu with exactly four choices: EST, CST, MST, and PST.  No HST for those of us in Hawaii; no AKST for those of us in Alaska.   I am hoping the TED programmers get a clue in the near future and issue a firmware update that fixes this problem; in the interim, my Display Unit is laboring under the illusion that it lives in California.

Initial results
Having real-time display of power usage reminds me a great deal of when we first got our Prius: all of a sudden you're getting a whole new dimension of interesting data about your environment.  From a safety perspective, the TED has it all over the Prius, since it does not tempt you to monitor whether you're running exclusively on battery power while driving down the Pali Highway at rush hour.

Instead, from the sedentary position of my kitchen table, I can now inform you that our baseline power usage is around 400 Watts.  Each of our ceiling fans use about 50 W.  Turning on the microwave increases our power usage by about 1000 W.  I am too horrified to confess how much power our tiny, "Energy Star", 5000 BTU window air conditioner uses on startup, but it dwarfs every other appliance we own by a mile.

I am sure that we are similar to every other new TED user, in that we tend to run over to the Display Unit whenever we do anything (turn on/off the TV, turn on/off the stove, etc.) to see what effect it has on our power consumption.  Similarly, if we're in the vicinity of the Display Unit and our power usage is significantly different from 400W, we start wondering what's going on.

It's also cool to empirically test various things you've heard in the news.  For example, Joanne read some place that you should unplug your toaster oven when you're not using it because it uses up power.  That seemed suspect to me, so I took the Display Unit over to our toaster oven, unplugged it, and waited for a drop in power consumption.  Nada.

Behavioral change, or Is This Just a $250 toy?
The real question is whether the TED 5000 is anything more than an expensive toy, and the answer to that depends upon whether we actually change (i.e. reduce) our energy consumption now that we know what we're doing.

The jury is still out on that question, though of course the jury has only had about 36 hours to deliberate.  What I can say at this point is the following:

(1) Our espresso maker is an energy hog.  I was surprised to see that it uses over 1000W, and this is significant because we tend to turn it on first thing in the morning and leave it on for a couple of hours until we have finished making all our morning espressos.  Given its energy consumption, we should turn it off between uses even though that means we need to wait for it to heat up again.

(2) Our TV/DVR's standby power consumption is fairly low. We have heard horror stories about LCDs TVs that  consume many watts even when "off", and we were happy to discover that our TV uses only 1-2W when in standby.  The DVR uses about 20-22W in standby.  That's not too bad, although that 25W does account for about 6% of our "baseline" 400 W.

(3) We need to replace our remaining incandescent lightbulbs with CFLs without delay.  When your baseline is 400W, and you turn on the kitchen lights and it jumps by 25%, you just feel stupid.

I intend to do a bit more detective work on our baseline usage, and perhaps we can cut that down.  Come to think of it, we should not make any changes to our behavior for a week so that we can establish a decent baseline dataset of our current-but-soon-to-be-history energetically profligate lifestyle.

For another new TED 5000 user's experience, see here.

Monday, September 7, 2009

Pretty printing code with google-code-prettify

There are many ways to pretty print code in blogs, as a Google search will show you, and all the methods involve a certain amount of hassle. After some fooling around today, I have come across the following approach which is pretty simple and has the advantage that you don't have to preprocess your code to escape certain characters (such as angle brackets).

My currently preferred approach uses google-code-prettify, which I suspect is the package used to perform syntax highlighting in google project hosting. Integrating this package in Blogger requires three steps:

1. Update the <head> section of your Blogger template

Insert the following lines of code:
<link href=""
rel="stylesheet" type="text/css"/>
<script src=""
type="text/javascript" />
2. Update the <body> element tag of your Blogger template

Change it to:
<body onload="prettyPrint()">
Save these changes to your template.

3. Insert your code using <code class="prettyprint lang-java">

You must be in "Edit Html" mode, not "Compose" mode, when you do this. Here is an example of the results:

* Creates a new CD, provided its title, group, and song list.
* @param title The title.
* @param group The group.
* @param tracks The song titles.
public CompactDisc(String title, String group, String... tracks) {
this.title = title; = group;
this.tracks = Arrays.asList(tracks);
// Since CompactDiscs are immutable, the hash value will never change for an instance.
this.hashvalue = (new String(title + group)).hashCode();

OK, if you have followed me so far, and if your Blog template has a light background, then the code should be formatted nicely. However, if your Blogger template has a black background like mine, then the results are terrible, because the default colors in prettify.css are designed to look good against a white background, not a black background.

The reason why my code sample looks relatively reasonable is because I use a custom version of prettify.css where I have changed the colors to those that contrast well with a black background. This file is available to you at:

So, use this URL in the <link> element that you inserted into the <head> element of your Blogger template, and you should be fine.

If you don't like my choice of colors (or google's), you can create your own prettify.css, place it somewhere on the web, and reference it to get your own coloring scheme.

There is a bug in Blogger that you should be aware of:  if you switch back and forth between "Compose" and "Edit HTML" mode while doing this, at some point Blogger eliminates all indentation in your code.   You can avoid this by not using "Compose", or else by inserting your code as the last step in creating your posting.