I live in a 300 year old farmhouse retrofitted with forced hot water. Insulation is "iffy" in several areas, and on the floor along the baseboard is extremely cold. I leave numerous areas of the house at 50 degrees as we do not use them extensively in the winter.
I had one zone freeze up and burst several sections of connecting HE-PEX during one extreme cold snap (coldest temps since I've lived here). I put a temperature sensor in the baseboard behind one of the sections of PEX tubing to capture temperature readings. In the rooms at the thermostat the temp reads 50, but at the temp sensor readings varied between 30 and 40 (and this was on a day when outdoor temps were in the 30's )
Adding more insulation is not really an option (house is for most sections built on grade or a small fieldstone foundation with 6-8" of crawlspace. Turns out I have 3 zones, along the north wall of the house, where this is an issue, so it probably has to do with the way the house was built, e.g. there is likely nothing but a 6" oak beam between the interior and exterior.
Thermguards are a nice item, but buying 3 would run me $200+, so I wanted an alternative.
Enter a Sonoff 4ch Pro @ $28 + $5 for a 12vdc wall wart.
The Sonoff 4CH Pro is a 4 channel 433MHz RF remote WiFi switch that can independently control the 4 home appliances. Four relays support voltages up to 240vac @ 10 amps, and 30vdc @ 10 amps.
Unfortunately, out of the box the Sonoff runs a firmware designed to interface with a cloud service allowing you turn on and off devices connected to it. Yuck. Extremely limiting.
However, the nice thing about the 4CH is you can flash custom firmware to it. One such firmware is ESPEasy, an open-source firmware for ESP8266 IOT wifi chips. It also supports the 8265 chip in the 4CH Pro. Flashing is not particularly difficult (there are numerous tutorials on Youtube) for those that can follow simple directions.
There are numerous reviews/discussions of the 4CH Pro and ESPEasy on the web, so I won't delve into them now. Once flashed with ESPEasy and set up to connect to your home's wifi network, you can use a rudimentary programming language (referred to as 'rules') to control the 4 relays.
I have 2 Taco ZVC406 control units which manage my 10 zones. I wanted to have 3 of those zones turn on for a period of 5 minutes once every 30 minutes. Wiring in the 4CH was simple: In addition to my thermostats for those 3 zones being connected to the R/W screws in the ZVC406, I also run a second set of wires out of the ZVC to the 4CH, where I connect them to the common and NO (normally open) side of the relay.
This way, if the thermostat calls for heat, it will close the connection between R/W and call for heat to the zone. When the thermostat doesn't call for heat, a script running on the 4CH will close the NO/Common relay, also calling for heat to the zone. Wired in:
I developed a script which runs my three zones for 5 minutes every 1/2 hour (I will likely change this in the future, or, add additional automation, such as querying the outside temperature to determine how often I should run the zones). From the time the zone calls for heat, until the ZVC turns on the circulator, is about 60 seconds (I assume they do this to avoid short-cycling).
In my script, I have each zone set up to run once every 30 minutes for 5 minutes, back to back, with a 1 minute overlap between the zones (so I do not run for 5 minutes, the circulator turns off for a minute, then back on for 4 minutes, etc.
I also programmed the script to use MQTT publishing to send a log to one of my home computers, so I can get a log of what the controller is doing. You can also monitor the device's log through its web interface.
FreezeGuard 180211 110849: Open Zone 2 for 5 min
FreezeGuard 180211 110929: Close Zone 1 - restart in 25 min
FreezeGuard 180211 111239: Open Zone 3 for 5 min
FreezeGuard 180211 111350: Close Zone 2 - restart in 25 min
FreezeGuard 180211 111740: Close Zone 3 - restart in 25 min
FreezeGuard 180211 113429: Open Zone 1 for 5 min
FreezeGuard 180211 113851: Open Zone 2 for 5 min
FreezeGuard 180211 113930: Close Zone 1 - restart in 25 min
FreezeGuard 180211 114241: Open Zone 3 for 5 min
FreezeGuard 180211 114352: Close Zone 2 - restart in 25 min
FreezeGuard 180211 114742: Close Zone 3 - restart in 25 min
FreezeGuard 180211 120430: Open Zone 1 for 5 min
FreezeGuard 180211 120853: Open Zone 2 for 5 min
FreezeGuard 180211 120931: Close Zone 1 - restart in 25 min
FreezeGuard 180211 121243: Open Zone 3 for 5 min
FreezeGuard 180211 121354: Close Zone 2 - restart in 25 min
Total out-of-pocket was less than $35, which sure beats over $200... and I have a lot more flexibility. Plus reprogramming is a breeze, I just make a few adjustments to the script on the 4CH and off it goes.
The script:
on System#Boot do
GPIO,15,0
GPIO,12,0
GPIO,5,0
GPIO,4,0
timerSet 1,60
timerSet 2,300
timerSet 3,540
event,Log=System Startup Complete
endon
on Button1#Press do
if [GPIO12#State] = 0
GPIO,12,1
event,Log=Manual Override Zone 1 Open
else
GPIO,12,0
event,Log=Manual Override Zone 1 Close
endif
endon
on Button2#Press do
if [GPIO5#State]=0
GPIO,5,1
event,Log=Manual Override Zone 2 Open
else
GPIO,5,0
event,Log=Manual Override Zone 2 Close
endif
endon
on Button3#Press do
if [GPIO4#State]=0
GPIO,4,1
event,Log=Manual Override Zone 3 Open
else
GPIO,4,0
event,Log=Manual Override Zone 3 Close
endif
endon
on Log do
publish %sysname%,%sysyears%%sysmonth%%sysday% %syshour%%sysmin%%syssec%: %eventvalue%
endon
on Rules#Timer=1 do
gpio,12,1 // run
timerset 4,300
event,Log=Open Zone 1 for 5 min
endon
on Rules#Timer=4 do
gpio,12,0
timerSet 1,1500
event,Log=Close Zone 1 - restart in 25 min
endon
on Rules#Timer=2 do
gpio,5,1
timerset 5,300
event,Log=Open Zone 2 for 5 min
endon
on Rules#Timer=5 do
gpio,5,0
timerSet 2,1500
event,Log=Close Zone 2 - restart in 25 min
endon
on Rules#Timer=3 do
gpio,4,1
timerset 6,300
event,Log=Open Zone 3 for 5 min
endon
on Rules#Timer=6 do
gpio,4,0
timerSet 3,1500
event,Log=Close Zone 3 - restart in 25 min
endon
I had one zone freeze up and burst several sections of connecting HE-PEX during one extreme cold snap (coldest temps since I've lived here). I put a temperature sensor in the baseboard behind one of the sections of PEX tubing to capture temperature readings. In the rooms at the thermostat the temp reads 50, but at the temp sensor readings varied between 30 and 40 (and this was on a day when outdoor temps were in the 30's )
Adding more insulation is not really an option (house is for most sections built on grade or a small fieldstone foundation with 6-8" of crawlspace. Turns out I have 3 zones, along the north wall of the house, where this is an issue, so it probably has to do with the way the house was built, e.g. there is likely nothing but a 6" oak beam between the interior and exterior.
Thermguards are a nice item, but buying 3 would run me $200+, so I wanted an alternative.
Enter a Sonoff 4ch Pro @ $28 + $5 for a 12vdc wall wart.
The Sonoff 4CH Pro is a 4 channel 433MHz RF remote WiFi switch that can independently control the 4 home appliances. Four relays support voltages up to 240vac @ 10 amps, and 30vdc @ 10 amps.
Unfortunately, out of the box the Sonoff runs a firmware designed to interface with a cloud service allowing you turn on and off devices connected to it. Yuck. Extremely limiting.
However, the nice thing about the 4CH is you can flash custom firmware to it. One such firmware is ESPEasy, an open-source firmware for ESP8266 IOT wifi chips. It also supports the 8265 chip in the 4CH Pro. Flashing is not particularly difficult (there are numerous tutorials on Youtube) for those that can follow simple directions.
There are numerous reviews/discussions of the 4CH Pro and ESPEasy on the web, so I won't delve into them now. Once flashed with ESPEasy and set up to connect to your home's wifi network, you can use a rudimentary programming language (referred to as 'rules') to control the 4 relays.
I have 2 Taco ZVC406 control units which manage my 10 zones. I wanted to have 3 of those zones turn on for a period of 5 minutes once every 30 minutes. Wiring in the 4CH was simple: In addition to my thermostats for those 3 zones being connected to the R/W screws in the ZVC406, I also run a second set of wires out of the ZVC to the 4CH, where I connect them to the common and NO (normally open) side of the relay.
This way, if the thermostat calls for heat, it will close the connection between R/W and call for heat to the zone. When the thermostat doesn't call for heat, a script running on the 4CH will close the NO/Common relay, also calling for heat to the zone. Wired in:
I developed a script which runs my three zones for 5 minutes every 1/2 hour (I will likely change this in the future, or, add additional automation, such as querying the outside temperature to determine how often I should run the zones). From the time the zone calls for heat, until the ZVC turns on the circulator, is about 60 seconds (I assume they do this to avoid short-cycling).
In my script, I have each zone set up to run once every 30 minutes for 5 minutes, back to back, with a 1 minute overlap between the zones (so I do not run for 5 minutes, the circulator turns off for a minute, then back on for 4 minutes, etc.
I also programmed the script to use MQTT publishing to send a log to one of my home computers, so I can get a log of what the controller is doing. You can also monitor the device's log through its web interface.
FreezeGuard 180211 110849: Open Zone 2 for 5 min
FreezeGuard 180211 110929: Close Zone 1 - restart in 25 min
FreezeGuard 180211 111239: Open Zone 3 for 5 min
FreezeGuard 180211 111350: Close Zone 2 - restart in 25 min
FreezeGuard 180211 111740: Close Zone 3 - restart in 25 min
FreezeGuard 180211 113429: Open Zone 1 for 5 min
FreezeGuard 180211 113851: Open Zone 2 for 5 min
FreezeGuard 180211 113930: Close Zone 1 - restart in 25 min
FreezeGuard 180211 114241: Open Zone 3 for 5 min
FreezeGuard 180211 114352: Close Zone 2 - restart in 25 min
FreezeGuard 180211 114742: Close Zone 3 - restart in 25 min
FreezeGuard 180211 120430: Open Zone 1 for 5 min
FreezeGuard 180211 120853: Open Zone 2 for 5 min
FreezeGuard 180211 120931: Close Zone 1 - restart in 25 min
FreezeGuard 180211 121243: Open Zone 3 for 5 min
FreezeGuard 180211 121354: Close Zone 2 - restart in 25 min
Total out-of-pocket was less than $35, which sure beats over $200... and I have a lot more flexibility. Plus reprogramming is a breeze, I just make a few adjustments to the script on the 4CH and off it goes.
The script:
on System#Boot do
GPIO,15,0
GPIO,12,0
GPIO,5,0
GPIO,4,0
timerSet 1,60
timerSet 2,300
timerSet 3,540
event,Log=System Startup Complete
endon
on Button1#Press do
if [GPIO12#State] = 0
GPIO,12,1
event,Log=Manual Override Zone 1 Open
else
GPIO,12,0
event,Log=Manual Override Zone 1 Close
endif
endon
on Button2#Press do
if [GPIO5#State]=0
GPIO,5,1
event,Log=Manual Override Zone 2 Open
else
GPIO,5,0
event,Log=Manual Override Zone 2 Close
endif
endon
on Button3#Press do
if [GPIO4#State]=0
GPIO,4,1
event,Log=Manual Override Zone 3 Open
else
GPIO,4,0
event,Log=Manual Override Zone 3 Close
endif
endon
on Log do
publish %sysname%,%sysyears%%sysmonth%%sysday% %syshour%%sysmin%%syssec%: %eventvalue%
endon
on Rules#Timer=1 do
gpio,12,1 // run
timerset 4,300
event,Log=Open Zone 1 for 5 min
endon
on Rules#Timer=4 do
gpio,12,0
timerSet 1,1500
event,Log=Close Zone 1 - restart in 25 min
endon
on Rules#Timer=2 do
gpio,5,1
timerset 5,300
event,Log=Open Zone 2 for 5 min
endon
on Rules#Timer=5 do
gpio,5,0
timerSet 2,1500
event,Log=Close Zone 2 - restart in 25 min
endon
on Rules#Timer=3 do
gpio,4,1
timerset 6,300
event,Log=Open Zone 3 for 5 min
endon
on Rules#Timer=6 do
gpio,4,0
timerSet 3,1500
event,Log=Close Zone 3 - restart in 25 min
endon