Project CV: Monitoring OpenTherm communication
Two years ago I changed the central heating configuration to use the Honeywell evoHome system. Our home consists of two stories of which we use the ground floor mostly during the day and the second floor mostly during the evening. In the original configuration the thermostat was on the second floor, so the ground floor would get colder during the day.
The evoHome system allows for multiple thermostats to be used in combination with radiator valves. I installed the system, but never managed to get it configured and working to my stratification. So recently I decided to check on this again. The first thing I found was that the evoHome had received a firmware upgrade, so I installed that.
The main problem I kept having was that I was unable to determine what was communicated between the evoHome system and the boiler. This meant that I was unable to see what effect my changes to the configuration had on the performance of the central heating.
Searching the internet I came across two sites that would be able to solve my problem.The first one OpenTherm monitor describes a circuit that can be used to monitor the opentherm interface. The second on an OpenTherm Gateway was even more interesting as it provided a complete system of monitoring and modifying the communication between the thermostat and the boiler.
So I ordered the PCB and the components and fired up my soldering iron and put the board together.
After running through all the diagnostics I was confident enough to hook it up to the thermostat and the boiler and lo and behold it works. I can now get a full log of the status of my central heating system and all that's going on in a graph like this
The last component I added to this setup was a Raspberry Pi. The Raspberry Pi is a small and complete Linux machine in a credit sized format. I added a USB WiFi dongle, hooked up the OpenTherm gateway to the other USB port and using VNC I can now get a live view of everything that's happening between with my central heating.
Currently I'm only monitoring, but the future possibilities are endless. I can have the Pi interact with the boiler either through a web interface or on different schedules.