Project for controlling a worcester-bosch boiler by taking over from it's digistat. Uses a raspberry pi and a 433mhz radio.
Find a file
2019-01-02 21:39:25 +00:00
code_sniffing Initialise git repository again having tidied up. 2019-01-02 21:11:36 +00:00
config Initialise git repository again having tidied up. 2019-01-02 21:11:36 +00:00
control Initialise git repository again having tidied up. 2019-01-02 21:11:36 +00:00
rwdata Initialise git repository again having tidied up. 2019-01-02 21:11:36 +00:00
sender Initialise git repository again having tidied up. 2019-01-02 21:11:36 +00:00
.gitignore Initialise git repository again having tidied up. 2019-01-02 21:11:36 +00:00
README.md Update 'README.md' 2019-01-02 21:39:25 +00:00

Worcester Bosh Digistat reverse engineering.Inspired by http://www.stevenhale.co.uk/main/2013/08/home-automation-reverse-engineering-a-worcester-bosch-dt10rf-wireless-thermostat/ and running on a raspberry pi.

  1. Record, in audio format using audacity, waveforms of your digistat sending and 'on' and 'off control code. I used a "soundcard logic analyser" as described here: http://www.stevenhale.co.uk/main/2013/07/making-a-soundcard-logic-analyser/.
  2. Identify and crop one example of each transmissions (the thermostat sends it three times), using audacity, as described here http://www.stevenhale.co.uk/main/2013/08/home-automation-reverse-engineering-a-worcester-bosch-dt10rf-wireless-thermostat/.
  3. Export sample data from audacity and save in save on 'code sniffing' folder.
  4. Run extract.py. This will attempt to extract a code which can by used by the sender https://www.raspberrypi.org/forums/viewtopic.php?p=499538#p499538.
  5. Make rf.c and run accordig to instructions in the file. If this triggers your boiler, rejoice. If not, you will probably need to tweak extract.py to provide a higher resolution code. To check what you are sending, record your send signal using audacity and compare.
  6. If required, heating.py checks a webservice for heating demand, and sends the code as appropriate. Configure by copying config.json.example to config.json. The original digistat sends a 'on' or 'off code every 5 miniutes. I runn heating.py every 4 miniutes to ensure the boiler doesn't get confused.