Largely thanks to @barnybug, the Home Easy Arduino hacking has been going really well. Making an LED blink is one thing, but making it blink by pressing a button the other side of the house is quite another! I’ve currently just been receiving signals, but when I’ve got the transmitter going as well, I want to do things like only relaying an on command to the socket if the current energy use isn’t too high. (Would be nice to have that working in time for Home Camp, but no promises.)
Should anyone else want to get going with some Home Easy hacking as well, I’ve created a Home Easy page on the Arduino wiki. So far it’s mostly just the sketches from Barnaby but I’m working on using interrupts instead, with the eventual aim of creating a Home Easy library for the Arduino. (There’s a Google code project for many RF protocols at once, but I just have Home Easy.)
Here’s what I have for receiving a Home Easy message with interupts so far which, with some even messier code, seems to do the trick. I would like to be able to register functions to call for specified controller/device codes, but not looked in to how that would work yet.
ISR(TIMER1_CAPT_vect) {
unsigned int pulse_width = ICR1;if( !bit_is_set(TCCR1B ,ICES1)) { // falling edge was detected
// start over if the high pulse was out of range
if(pulse_width < min_high_width || pulse_width > max_high_width)
{
pulse_count = 0;
}
// don’t need to do anything with high pulses as long
// as they’re ok; should all be the same width
}
else { // raising edge was detected
// start over if the low pulse was out of range
if(pulse_width < min_low_width || pulse_width > max_low_width)
{
pulse_count = 0;
} else {
if(pulse_count < max_low_pulses) {
rx_wire_bits[pulse_count++] = pulse_width > bit1_low_detect ? 1 : 0;if(pulse_count == max_low_pulses) {
message_received = receiveMsg();
pulse_count = 0;
}
}
}
}// reset the counter
TCNT1 = 0;// toggle bit value to trigger on the other edge
TCCR1B ^= _BV(ICES1);
}
Good stuff James. Hacking around with HomeEasy/arduino is definitely on my todo list :)
You might already know this but the on/off range of Home Easy devices support the Klik on/Klik off protocol. So the arduinoha project should be able to control simple Home Easy devices without any modifications. You can find some great information about the supported protocols for Home Easy devices at http://www.xplmonkey.com/homeeasy.html
The RFXCOM documentation might also be helpful but be sure to read the copyright if you intend to make use of information from this site.
Thanks for the link Beanz, that’s a really good summary of the various protocols in the Home Easy range. Fortunately I only have a few sockets that use the automatic protocol, for which Barnaby provided the necessary details.
Hi James. Great information on the Homeeasy and Arduino. I have been able to set-up control with the Manual protocol but cannot get anywhere with the Automatic protocol. Is there any more information on implementing the Automatic protocol other then that posted on the Arduino site?
Hi Jerd,
It’s been a while since I’ve had a chance to look at this but I think I posted all the information I have on the Arduino wiki. What problems are you having? I think I had a receive working with the automatic protocol but the transmitter is still in its wrapping!
(If you do get something working, it’d be great if you could update the wiki! :)
Hi James,
Using the programs from the wiki, I can get the Manual Protocol Receiver sketch working fine. I cannot get the Automatic Protocol sketch to work at all. Nothing seems to be happening. I have a number of Automatic Protocol remotes but none of them seem to be picked up.
If you haven’t already seen it, it looks like there may be an extra bit to the protocol.
Pingback: Home Easy Hacking Wiki « Notes from a small field
Hi James,
After noticing that Peter Mead made some changes to the sample Automatic protocol code on http://www.arduino.cc/playground/Code/HomeEasy, I was successful in getting a little Arduino project up and running that I’m using as a simple HomeEasy to ByeByeStandby Bridge at the moment. I works with the on/off remotes but doesnt work with the dimmers yet but this is because there doesnt seem to be much info around about the dimmer protocol.
Mart.
http://martgadget.blogspot.com/2009/09/bbsb-meets-arduino-part-3-home-easy-to.html
forgot link 8-/
Hi, Hacked the automatic protocol for Home Easy last year.
Check out the free app to generate codes suitable for Pronto
remotes at http://www.automatedhome.co.uk/Download/
Hi Rick, that looks like a useful link for the Home Easy hacking wiki, http://homeeasyhacking.wikia.com/wiki/Home_Easy_Hacking_Wiki
Must admit I know absolutely nothing about Pronto remotes- can you recommend a good place to find out more?
Hi, Best site for Pronto info & files is http://www.remotecentral.com/files/index.html