I've been trying to hack my thermostat so I can create a home automation system. The thermostat is a British Gas RC2 and the receiver is a British Gas WR1. There is virtually no documention about these, but they are identical to the Drayton Digistat range which does have documentation. I found this google group thread which provided some clues.
I know that the system is 433MHz (I even pulled apart the thermostat and looked at the datasheet for the transmitter to be sure!).
I bought a cheap 433Mhz receiver and transmitter pair off eBay.
I tested txing and rxing between the pair (using Arduinos + VirtualWire library) and this worked very well. I then tried transmitting the code off the Google group from the Arduino + transmitter to the WR2 receiver with no joy.
The next step was to listen to what the thermostat was transmitting. I recorded the output of the receiver into Audacity via this circuit. Below is the recording of the data burst when the thermostat transmits. It sends this message 3 times. I've aligned multiple transmissions, so you can see how the data correlates.
As you can see the data correlates very well towards the end of the transmission, but is poor towards the start of the transmission. It's worth noting that my thermostat successfully turns on the boiler every time I click the button, so it's puzzling that there is so little correlation at the start of the data.
The next step was to try recording the signal from the 433MHz transmitter that came with the receiver. I know that these 2 can communicate together successfully, so wanted to see how the signal differed.
You can see that the test signal from the transmitter (top) is very clear and the thermostat signal (bottom) is very weak at the start of the transmission.
The test signal transmits "HELLO" via the Arduino's VirtualWire library. There's nothing to say that this protocol will be the same as what the thermostat uses. However I would expect both to produce clear signals.
So my question is.... why is the signal from the thermostat so weak and inconsistent at the start of the transmission?
Do I need a better/different receiver? Am I not reading the data in the correct way?
Any help would be appreciated.
Paul
I know that the system is 433MHz (I even pulled apart the thermostat and looked at the datasheet for the transmitter to be sure!).
I bought a cheap 433Mhz receiver and transmitter pair off eBay.
I tested txing and rxing between the pair (using Arduinos + VirtualWire library) and this worked very well. I then tried transmitting the code off the Google group from the Arduino + transmitter to the WR2 receiver with no joy.
The next step was to listen to what the thermostat was transmitting. I recorded the output of the receiver into Audacity via this circuit. Below is the recording of the data burst when the thermostat transmits. It sends this message 3 times. I've aligned multiple transmissions, so you can see how the data correlates.
As you can see the data correlates very well towards the end of the transmission, but is poor towards the start of the transmission. It's worth noting that my thermostat successfully turns on the boiler every time I click the button, so it's puzzling that there is so little correlation at the start of the data.
The next step was to try recording the signal from the 433MHz transmitter that came with the receiver. I know that these 2 can communicate together successfully, so wanted to see how the signal differed.
You can see that the test signal from the transmitter (top) is very clear and the thermostat signal (bottom) is very weak at the start of the transmission.
The test signal transmits "HELLO" via the Arduino's VirtualWire library. There's nothing to say that this protocol will be the same as what the thermostat uses. However I would expect both to produce clear signals.
So my question is.... why is the signal from the thermostat so weak and inconsistent at the start of the transmission?
Do I need a better/different receiver? Am I not reading the data in the correct way?
Any help would be appreciated.
Paul