I’m replacing my old thermostat with a raspberry pi, so I can control the temperature based on Google Calendar events. My intent is to save energy by having the furnace be off most of the day, but still have the house warm when I want it.
You can find the repository at https://github.com/kamocat/Thermostat
I’m using custom hardware actually controlling the furnace and measuring the temperature. I have a 5V relay for the control signal to turn on and off the furnace, and an ATTiny861 to read the voltage off a thermistor voltage-divider. It communicates with the PI over UART.