Monitoring OpenTherm communication

OpenTherm (TM) is a proprietary protocol used for information and command exchange between HVAC (heating, ventilating, and air conditioning) equipment. In my home, OpenTherm is used in the communication between the room thermostat and the heater.

I build an application that sits between the heater and thermostat, non-intrusively, and listens in on that communication. Some of the more interesting information, like heating commands, setpoint and actual temperature and whether hot water is tapped, are displayed on an LCD.

A complete description, including OpTh library, example code and schematics, can be found here: www.palebluedot.nl/jml/arduino/24-openthermmon.html.

Some snapshots:

OpenTherm waveform:

Information display:

Physical setup: