Eaton Home Heartbeat
As will happen I got an email from a home automation store I occasionally buy from. Hiding at the bottom was an advert for a house monitoring system which was being clearanced out. It was a strange product called the Home Heartbeat by Eaton. It's not a security system and it's not a home automation system. It's just for informational purposes as they say. Released around 2006 it came with a half dozen ZigBee connected sensors and a base station which has a modem to call a central notification service ran by Eaton. This apparently allowed the system to send text messages when the home owner was away. So in 2011 the call-home service was discontinued by Eaton and everyone who had the gear who relied on the text messaging service was SOL. However at the end of 2013 there is still a lot of the new-old stock being sold at a super discount.
So the original price of the base station "starter pack" was around $250 and I had the opportunity to pick one up including a door and water sensor for under $50 with shipping which I took advantage of. I did some quick googling and found that the base station was easy to communicate with via it's built in FTDI USB interface. Also most of the data output format had been decoded and documented so I took the chance that I could extend this system with some shell or perl scripting.
Once I got my unit I was able to get a perl script running which outputs useful human-readable data. There are a couple good sites with information about this system but no one has yet posted a monitoring script. Mine is posted at the bottom.
I have the base station (comes with a Home key), motion sensor, water sensor, open/close sensor, and power sensor. The "Home key" allows you to receive notifications when you are within range of the base station. When you are out of range this apparently told the base station to call-home and text you when there was a worthy notification. The Home key is also used to program new sensors into the system. Apparently there is a reed-relay in each sensor and the key which allows for simple ZigBee pairing just by sliding the key into the top of each sensor.
Contents |
Sensor List
- Open/Close sensor
- Motion sensor
- Water sensor
- Garage door sensor (tilt sensor)
- Power monitor sensor
- Attention sensor
- Reminder sensor
- Remote water shutoff
Additional parts
- Home key (key ring adapter, has multiple purposes)
- Base station
- Broadband gateway
- Range extender
Connecting with minicom
So the first gotcha is that the vendor ID for the base station is unique. It's still just an FTDI USB serial device though and that is easy enough to fix (at least on Linux).
- Add modprobe line for ftdi_sio driver, get vendor and product lines from lsusb (RHEL5/6 and CENTOS 5/6):
- echo "options ftdi_sio vendor=0x403 product=0xde29" > /etc/modprobe.d/ftdi_sio.conf
- If you want to get fancy add a udev rule like this to /etc/udev/rules.d/50-udev.rules or similar to get a /dev/hh device:
- ATTRS{idVendor}=="0403", ATTRS{idProduct}=="de29", SYSFS{product}=="HHB Basestation", SYMLINK+="hh", GROUP="uucp", MODE="0660"
- Next reload ftdi_sio (as root) and it should be picked up correctly now:
- modprobe -r ftdi_sio
- modprobe ftdi_sio
Now you should have a new /dev/ttyUSBx device and possibly a /dev/hh device if you added the udev rule (not required). The connection settings are 38400 8n1, any terminal program will do. The serial interface has a built-in help screen (type ?) with lots of commands. This is all well documented at some of the other sites talking about Home Heartbeat so I won't rehash that here.
Perl script
- File:Hh.tgz - hh.pl - digests the state table from a USB connected base station. It currently has two text-mode types of output and can also generate an html file for easy viewing from a phone. Simply plug into cron using the correct flag and home status can be viewed any time. It also has some email functionality which can be triggered by alarms, however I have not tested that yet.
Example of default output:
Device Type Custom Name Last Event Last Seen Alert Status Configuration Home Key Home Key 1 secs 1 secs no alert Vibrate Alarm / 10 sec battery update Motion Sensor Motion Sensor 10 hours 12 mins no alert No action set Motion Sensor Kitchen 10 hours 9 mins no alert No action set Open/Closed Open/Closed 3 days 17 mins no alert Alarm on opened Water Sensor Toilet 10 hours 23 mins no alert Alarm on dry Power Sensor Lamp 3 hours 11 secs no alert No action set Motion Sensor Front Porch 55 mins 9 mins no alert No action set
Further work
One thing I am interested in is being able to build my own sensors which can interface to the system. I already am working on a separate environmental monitoring system for my house however I'd love to reduce its footprint by expanding this nice system. It seems that an ordinary 2.4GHz ZigBee sniffer like the Atmel Raven or Freakduino would allow sniffing of the protocol. Others here have confirmed that the data is sent unencrypted so it should be feasible to implement their protocol with some sniffing.
Hardware
The main board common to all of the sensors uses an Atmel ATMega128 with an Ember (Silicon Labs) EM2420 RF chip for the ZigBee duties.
- EM2420 datasheet - Note that this chip is for 2.4GHz, the base station will say something about being on channel "0x09" which is a 900MHz ZigBee channel. However the datasheet proves that this is impossible.
- ZigBee channels
Additionally, the comments in this thread have some info on getting a serial terminal opened up on an open/close sensor board:
Mister House
I would like to work on adding Home Heartbeat support for Mister House if possible. I've never used Mister House but I've been waiting until I had enough sensors (any type, not just Home Heartbeat specific).
Other sites with info
This site has the base station state table protocol decoded. My script follows their definitions so it should support any sensor I don't have yet.
Another site with some info. The comments on the articles can be useful: