Sniffing Oregon Scientific Weather Sensor Data

A few years ago I bought an Oregon Scientific wireless weather station.  It’s a nice way to keep an eye on what’s going on outside.  The unit supports up to 3 of these remote sensors (shown here), and aggregates it at a base station.  It doesn’t have a computer interface, so while it displays nicely in the living room, I can’t get access to that data.

Once upon a time I bought some 1-wire thermo sensors that I was going to wire that into my computer for data collection.  After the house was hit by lightning, I got far more gun shy about running conductive cables from the outside to a computer.

It occurred to me recently that there was good odds that someone must have figured out to sniff that wireless communication.  These aren’t complicated devices, and Oregon Scientific seems to be letting different generations of sensors work with different generations of head units, implying that they have some pseudo standard protocol.  It would also solve my spark gap problem, as I could gather this data without any wires connected to the sensors.

After some googling I discovered that yes, these devices are operating in the 433 Mhz band, and yes, thanks to the folks at rfxcom, there is a unit out there which will receive this and spit it out in a reasonable usb interface.

Under Linux, this information can be very easily decoded with the heyu program.  This is really more of a command line system for home automation, but it also includes the rfxcom protocol and the decoders for just about everything Oregon Scientific makes.

After plugging in the rfxcom device, it took me about all of 30 minutes to get heyu compiled and configured for my devices.  The first time you run the heyu monitor you’ll actually get big hex strings which are the raw data.  Once you tell heyu what kinds of sensors they are, you’ll get it decoded in much more friendly units.  Here are the relevant lines in the heyu config file:

TTY	dummy
ALIAS Sensor1 A1 ORE_TH1 0xB1
ALIAS Outside A2 ORE_TH1 0x83
ALIAS Sensor3 A3 ORE_TH1 0xCE
ORE_TSCALE Fahrenheit

After configured and running, I now have sensor data being collected continuously:

gallifrey:~> heyu monitor
02/25 21:49:54  Monitor started
02/25 21:50:11  rcva func      oreTemp : hu A3  Ch 3 Temp 58.6F (Sensor3)
02/25 21:50:11  rcva func        oreRH : hu A3  Ch 3 RH 42% (Sensor3)
02/25 21:50:20  rcva func      oreTemp : hu A1  Ch 1 Temp 43.7F LoBat (Sensor1)
02/25 21:50:20  rcva func        oreRH : hu A1  Ch 1 RH 54% LoBat (Sensor1)
02/25 21:50:22  rcva func      oreTemp : hu A2  Ch 2 Temp 34.3F (Outside)
02/25 21:50:22  rcva func        oreRH : hu A2  Ch 2 RH 87% (Outside)

The next steps here are going to be gathering this into something that I can use for graphing.  I’ve now got all the sensors I was looking for to be able to build my better thermostat brain.  Next steps will be tying this all together and starting my graphing.

Catching bad links with jquery

We’re 1 step closer to the launch of the new Poughkeepsie Farm Project website, so it’s down to some final edits before it gets flipped live.  While I was looking over the test site the other day, I realized we still had some links, and images that referred to the existing site, which would break once we did the final domain switcheroo.

I came up with the following snippet of jquery to highlight bad links and images client side so that editors would realize they needed to do something about them:

function highlight_bad() {
    $("div[id='content'] img[src^='']").css("border","9px solid red");
    $("div[id='content'] img[src^='']").css("border","9px solid red");
    $("div[id='content'] img[src^='']").css("border","9px solid red");
    $("div[id='content'] img[src^='']").css("border","9px solid red");
    $("div[id='content'] img[src^='']").css("border","9px solid red");
    $("div[id='content'] a[href^='']").css("border","9px solid red");
    $("div[id='content'] a[href^='']").css("border","9px solid red");
    $("div[id='content'] a[href^='']").css("border","9px solid red");
    $("div[id='content'] a[href^='']").css("border","9px solid red");
    $("div[id='content'] a[href^='']").css("border","9px solid red");

So every time we find a link or image that starts with an absolute url to one of the addresses the site has had inside the content block, we highlight it. This has been incredibly effective so far in catching some things I didn’t even realize was an issue.  This with the combo of drupal’s broken link detector internally is helping us ensure the content is consistent prior to launch.

Curling Open House in Norfolk Connecticut

For folks in Dutchess County in NY, or Western Connecticut, that have been enjoying Curling, you should know that the Norfolk Curling Club is running an Open House this weekend. Today’s events are over, but tomorrow between 1 and 5 pm you can go and check out the sport.  We did this back in 2006 during the last Olympics.

As you can see, you will get to throw stones, which is just awesome.  This picture is of Pyg, one of the members of our Poughkeepsie contingent that came out out for the open house in 2006, we ended up taking a 2 week course, which was brilliant.  They seem to be running things a bit earlier this time around, I suspect in hopes of getting more play in for people before they close down the clubhouse for the year.

If you have any interest in Curling, you should check it out.

Audio Perception of Distorted Speech

Listening to the sine-wave speech sound again produces a very
different percept of a fully intelligible spoken sentence. This
dramatic change in perception is an example of “perceptual insight” or
pop-out. We have argued that this form of pop-out is an example of a
top-down perceptual process produced by higher-level knowledge and
expectations concerning sounds that can potentially be heard as speech:

There are audio samples at their website which demonstrate this.  It’s really neat to hack your perception.

IPCC Debacle from the horse’s mouth

There is a good posting on the Real Climate blog about the IPCC AR4 blow back that is happening.  I think this gets to the heart of it:

To those familiar with the science and the IPCC’s work, the current
media discussion is in large part simply absurd and surreal.
Journalists who have never even peeked into the IPCC report are now
outraged that one wrong number appears on page 493 of Volume 2. We’ve
met TV teams coming to film a report on the IPCC reports’ errors, who
were astonished when they held one of the heavy volumes in hand, having
never even seen it. They told us frankly that they had no way to make
their own judgment; they could only report what they were being told
about it. And there are well-organized lobby forces
with proper PR skills that make sure these journalists are being told
the “right” story. That explains why some media stories about what is
supposedly said in the IPCC reports can easily be falsified simply by
opening the report and reading. Unfortunately, as a broad-based
volunteer effort with only minimal organizational structure the IPCC is
not in a good position to rapidly counter misinformation.

The Energy Detective

Back in October I had a chance to talk with some Central Hudson (our local power company) reps at an IEEE conference.  During that conversation I was disappointed to find out that there weren’t any near term smart meters coming out.  If I wanted to get access to my real time power consumption, I’d have to do it myself.

Up until this fall, the ways I found to do this myself were un appealing.  There is a device which has an optical sensor and monitors how fast your meter wheel is spinning.  There are some DIY instructions on adding per circuit monitoring, what was way more DIY than I was willing to do inside my circuit box.  Then I found The Energy Detective 5000, which just started production this fall.

The setup is pretty simple.  There are a couple of induction clamps which go around your mains coming into you circuit box.  They plug into an embedded device which connects to 2 circuit breakers for power and signaling.  All of that lives inside your circuit box.  There is then the “gateway”, which is a power bring with a network cable coming out of it.  You connect that to your home network and it presents you with a web interface for your power data.  The install took me about 10 minutes to do… and then 30 minutes to realize the statement that the gateway “should” be on the same leg as the the black wire really was a “must” instead of a should, after which point everything was working.

The TED 5000 will also accept billing rates and carbon rates for your power consumption so you can have real time translation to dollars or tons of co2 if you like.  It will connect to Google’s Power meter, so that your iGoogle environment will show your power graphs.  There is also a head unit that you can put in your living room (which sits next to our wireless weather station) that displays all that without a computer.

Pretty quickly you get a sense of what’s going on in your house, especially as you get to look at the graphs at different granularity.

This is just a quick set of annotations I was able to put into place based on my experiences in the last 24 hours.  The raw data that builds these graphs is directly accessible via xml in case you want to write your own analysis programs, which is something I’m definitely thinking about.

So far, in the 20 hours I’ve had it working, I’m quite impressed with the whole system.  Be forewarned though that the TED folks are getting a lot of press over this device, which means their 3 – 6 weeks backorder turned into 10 weeks for me, and their communication about that wasn’t great.  However, the end result is definitely worth it.