Last year the morning after a particular cold and windy night I woke up to a non-working hot water baseboard heating system because of a frozen pipe; my fireplace insert kept the house nice and toasty during the night and the thermostat never called for heat, which made the water in the baseboard heating pipe just sit there and freeze. A few holes in the wall, a hefty bill from the plumber, an upset wife and a very disappointed me later (disappointed because I was saving so much in oil and suddenly I had to expend all that money), I was determined to come up with a solution to the problem. From these forums I learned that pipes freezing because of wood stoves, inserts, etc. is not uncommon (https://www.hearth.com/talk/search/63699/?q=frozen+pipe&o=relevance).
Inspired by other solutions I came across (custom timers, ThermGuard, etc.) I thought to myself: What if I had a device that could monitor the outside temperature and whenever it's at or below a threshold I set, the device will call for heat every x number of hours and run for y minutes (x and y are set by me), independent of the thermostat, but only if the thermostat has not called for heat already during period x. It would also be neat if this device allowed me to monitor my heating usage and showed me, for instance, the number of hours my heating system ran in a particular zone.
Using a Raspberry Pi (a credit card sized computer), relays, AC to DC converter and a temperature sensor I came up with the device in the picture attached. It's not elegant like the ThermGuard but since it sits in the basement that's okay (it looks a little better with the cover on).
Currently, I have it set to run every 2 hours for 5 minutes whenever the outside temperature is at or below 22 degrees. Behind the scenes, this happens:
2019-12-25 00:00:09,261 - INFO - new day!
2019-12-25 00:00:09,800 - INFO - thermostat_zone_one_running_time reset to 0.0
2019-12-25 00:00:09,807 - INFO - pipe_protector_zone_one_running_time reset to 0.0
2019-12-25 00:00:09,814 - INFO - high reset to -999
2019-12-25 00:00:09,821 - INFO - low reset to 999
2019-12-25 01:07:31,054 - INFO - pipe_protector was activated and will attempt to run...
2019-12-25 01:07:31,063 - INFO - trigger_temp: 22.0
2019-12-25 01:07:31,070 - INFO - skipping run of pipe protector
2019-12-25 03:07:31,050 - INFO - pipe_protector was activated and will attempt to run...
2019-12-25 03:07:31,059 - INFO - trigger_temp: 22.0
2019-12-25 03:07:31,067 - INFO - pipe protector will run for 5.0 minutes
2019-12-25 03:07:31,074 - INFO - pipe protector is running
2019-12-25 03:12:31,462 - INFO - pipe protector is off
2019-12-25 03:12:31,475 - INFO - pipe_protector_zone_one_running_time: 0.0834413025 hours
2019-12-25 05:07:31,054 - INFO - pipe_protector was activated and will attempt to run...
2019-12-25 05:07:31,063 - INFO - trigger_temp: 22.0
2019-12-25 05:07:31,071 - INFO - pipe protector will run for 5.0 minutes
2019-12-25 05:07:31,078 - INFO - pipe protector is running
2019-12-25 05:12:31,488 - INFO - pipe protector is off
2019-12-25 05:12:31,500 - INFO - pipe_protector_zone_one_running_time: 0.16688850000000002 hours
2019-12-25 06:00:29,421 - INFO - thermostat on in zone one
2019-12-25 07:07:31,050 - INFO - pipe_protector was activated and will attempt to run...
2019-12-25 07:07:31,059 - INFO - trigger_temp: 22.0
2019-12-25 07:07:31,066 - INFO - thermostat is already running in zone one, skipping pipe protector run...
2019-12-25 09:07:31,054 - INFO - pipe_protector was activated and will attempt to run...
2019-12-25 09:07:31,064 - INFO - trigger_temp: 22.0
2019-12-25 09:07:31,071 - INFO - thermostat is already running in zone one, skipping pipe protector run...
2019-12-25 09:25:09,825 - INFO - thermostat off in zone one
2019-12-25 09:25:09,843 - INFO - thermostat_zone_one_running_time: 3.411222236111111 hours
2019-12-25 10:05:28,141 - INFO - thermostat on in zone one
2019-12-25 10:33:24,866 - INFO - thermostat off in zone one
2019-12-25 10:33:24,884 - INFO - thermostat_zone_one_running_time: 3.8769779724999998 hours
2019-12-25 11:07:31,054 - INFO - pipe_protector was activated and will attempt to run...
2019-12-25 11:07:31,063 - INFO - trigger_temp: 22.0
2019-12-25 11:07:31,071 - INFO - skipping run of pipe protector
This is where I monitor everything: http://70.15.69.173/
So far, it has been working as expected and I am very happy with it. I will make changes to it so I can also monitor my second zone. Once I really iron this out I will put together instructions so others who are interested can buy the parts and build this.
A challenge I ran into was not having a common wire to work with. It's not very clear in the picture but I ended up soldering a wire to the back of the control board off of the transformer to be able to do what I wanted. Since then, I had another idea which should make it much easier to get a common wire (using an external 24 VAC transformer and a relay) so I will likely use that approach going forward.
Any comments/feedback/criticism/questions/ideas are welcomed! I am proud of what I created and wanted to share it with others who are passionate about wood burning like me.
Inspired by other solutions I came across (custom timers, ThermGuard, etc.) I thought to myself: What if I had a device that could monitor the outside temperature and whenever it's at or below a threshold I set, the device will call for heat every x number of hours and run for y minutes (x and y are set by me), independent of the thermostat, but only if the thermostat has not called for heat already during period x. It would also be neat if this device allowed me to monitor my heating usage and showed me, for instance, the number of hours my heating system ran in a particular zone.
Using a Raspberry Pi (a credit card sized computer), relays, AC to DC converter and a temperature sensor I came up with the device in the picture attached. It's not elegant like the ThermGuard but since it sits in the basement that's okay (it looks a little better with the cover on).
Currently, I have it set to run every 2 hours for 5 minutes whenever the outside temperature is at or below 22 degrees. Behind the scenes, this happens:
2019-12-25 00:00:09,261 - INFO - new day!
2019-12-25 00:00:09,800 - INFO - thermostat_zone_one_running_time reset to 0.0
2019-12-25 00:00:09,807 - INFO - pipe_protector_zone_one_running_time reset to 0.0
2019-12-25 00:00:09,814 - INFO - high reset to -999
2019-12-25 00:00:09,821 - INFO - low reset to 999
2019-12-25 01:07:31,054 - INFO - pipe_protector was activated and will attempt to run...
2019-12-25 01:07:31,063 - INFO - trigger_temp: 22.0
2019-12-25 01:07:31,070 - INFO - skipping run of pipe protector
2019-12-25 03:07:31,050 - INFO - pipe_protector was activated and will attempt to run...
2019-12-25 03:07:31,059 - INFO - trigger_temp: 22.0
2019-12-25 03:07:31,067 - INFO - pipe protector will run for 5.0 minutes
2019-12-25 03:07:31,074 - INFO - pipe protector is running
2019-12-25 03:12:31,462 - INFO - pipe protector is off
2019-12-25 03:12:31,475 - INFO - pipe_protector_zone_one_running_time: 0.0834413025 hours
2019-12-25 05:07:31,054 - INFO - pipe_protector was activated and will attempt to run...
2019-12-25 05:07:31,063 - INFO - trigger_temp: 22.0
2019-12-25 05:07:31,071 - INFO - pipe protector will run for 5.0 minutes
2019-12-25 05:07:31,078 - INFO - pipe protector is running
2019-12-25 05:12:31,488 - INFO - pipe protector is off
2019-12-25 05:12:31,500 - INFO - pipe_protector_zone_one_running_time: 0.16688850000000002 hours
2019-12-25 06:00:29,421 - INFO - thermostat on in zone one
2019-12-25 07:07:31,050 - INFO - pipe_protector was activated and will attempt to run...
2019-12-25 07:07:31,059 - INFO - trigger_temp: 22.0
2019-12-25 07:07:31,066 - INFO - thermostat is already running in zone one, skipping pipe protector run...
2019-12-25 09:07:31,054 - INFO - pipe_protector was activated and will attempt to run...
2019-12-25 09:07:31,064 - INFO - trigger_temp: 22.0
2019-12-25 09:07:31,071 - INFO - thermostat is already running in zone one, skipping pipe protector run...
2019-12-25 09:25:09,825 - INFO - thermostat off in zone one
2019-12-25 09:25:09,843 - INFO - thermostat_zone_one_running_time: 3.411222236111111 hours
2019-12-25 10:05:28,141 - INFO - thermostat on in zone one
2019-12-25 10:33:24,866 - INFO - thermostat off in zone one
2019-12-25 10:33:24,884 - INFO - thermostat_zone_one_running_time: 3.8769779724999998 hours
2019-12-25 11:07:31,054 - INFO - pipe_protector was activated and will attempt to run...
2019-12-25 11:07:31,063 - INFO - trigger_temp: 22.0
2019-12-25 11:07:31,071 - INFO - skipping run of pipe protector
This is where I monitor everything: http://70.15.69.173/
So far, it has been working as expected and I am very happy with it. I will make changes to it so I can also monitor my second zone. Once I really iron this out I will put together instructions so others who are interested can buy the parts and build this.
A challenge I ran into was not having a common wire to work with. It's not very clear in the picture but I ended up soldering a wire to the back of the control board off of the transformer to be able to do what I wanted. Since then, I had another idea which should make it much easier to get a common wire (using an external 24 VAC transformer and a relay) so I will likely use that approach going forward.
Any comments/feedback/criticism/questions/ideas are welcomed! I am proud of what I created and wanted to share it with others who are passionate about wood burning like me.