Whole House Fan (Switch)


Very cool.
I see the differential value. So, does that mean that it will only trigger if the outside is x-degrees cooler than inside the garage? Also, can that variable be changed from the IDE, or do you need to do it in code and paste it in there? No big deal…just getting to know how this all works.

Yes, the fan will come on only if (a) it’s above the threshold temperature (so you’re not running the fan when it’s cold outside) and (b) the differential between inside and outside is at least [differential] degrees.

You set the threshold and differential in the app itself, when you install it. You can always update the app once installed to change those settings.

1 Like


Good to hear.

I will install a copy of yours, and test them to see which I like the best. Since yours has the differential item, I assume that will be a better way to go.

Out of curiosity, what region do you live in, and what temp do you use for the threshold? I mean, I see 75 in there as the default, but I’m just wondering if that’s exactly what you use, or not.

Thanks, Bruce.

Haha! I live in Scottsdale where for many months a year the temps in my garage are in the 90s. So the threshold was pretty irrelevant for me. I replaced two old thermostats for two fans, and those thermostats maxed out at 90, so the fans ran continuously. I figured out that meant they were actually heating the garage, drawing hotter air from outside. So I put in Aeon micro switches, and this app.

I monitored the garage temps for a few days with the fans off back in July, when it was about 98 in the garage. Then I put the app in and monitored the temps. The fan only ran for about 6 hours after 11 pm. The temps with the fans were identical to those without. So, now, the fans just stay off, a total waste.

It’s easy to over-think these things!

Thanks, Bruce.
Makes sense. Bummer in your case though.

In my case, I just tracked it for a day with the temp monitors and switch in place, and got confirmation on something I’ve known anecdotally for a long time…even though the outside temp was much cooler than the temp inside the house all night long, since there was so much heat built up in the garage (and attic, of course; which I will deal with too) the whole night, the house AC had to keep running all night too.

I’m assuming that when I finally get the fan installed, this will change. The temp outside lastnight would certainly have been cool enough and enough of a difference to cool down the garage. I just haven’t been able to test it yet. Now that I have all of the hardware on-hand, and now that I have these SmartApps to test with, I should have some real-world data on the cooling effect of the garage heat exhaust fan by the end of the coming weekend (which is most likely when I will be able to do the fan install).

Due to that “baked-in” heat load, I’m fairly certain one would need to move A LOT OF AIR to actually cool very much. A typical ceiling exhaust fan, like for a bathroom, just isn’t going to do anything. It isn’t just the air that holds heat – it’s the entire structure. I bet the concrete floor of my garage heats to within a couple of degrees of ambient, or certainly of average ambient temperature. You could blow cold air over that all night and not move the needle much.

You put technical knowledge and words to issues I’ve wondered about.
I have long realized that the structure of the garage and house itself will also hold heat. In that way, your point makes sense. Here is what I am thinking…again, without a technical understanding of it…

Since the problem for me is the heat which is radiating outward and upward from the garage into bedrooms above and other rooms behind and around on one side, it seems like a constant flow of fresh, cooler-than-garage-temp air through the room, from the cool low side up through the middle to the upper high spot on the opposite wall may be enough to remove a significant amount of the heat; if it can’t build up because it’s constantly being dragged out by the fan (I got a 740CFM centrifugal inline fan; may connect some ducting later, depending on configuration i use for this down the road), then it can’t radiate into the rest of the house.

Am I crazy, or might this work? :smile:

Hey, if I was that technical I’d give you the BTU calcs to do, but I don’t have a clue. A/C is expensive because it takes a lot of energy to move heat out of a heated space, which your garage effectively is. I would not have high hopes for this getting the relief you seek, but then I’m jaded by a really hot place, AZ.

OK, but remember, I’m not trying to make the garage a nice, cool place to be; I’m simply attempting to limit the amount of heat there is in there that can be transferred into the house. I’ll come back and let you know how it’s working (or not) once I get the fan mounted…

1 Like

What kind of whole house fan? Did you install it yourself? Is there also a damper? Is the damper controlled by a switch? Is it insulated so that there is no heat loss in the winter?


I installed this:

QuietCool is what I would like to pick up myself. I’ll probably work to get one in place over the winter so that it’s ready for next season.

Great code. I’m just getting started with ST and setting up a whole house fan is my first project. Your code appears to be almost exactly what I was looking for with one caveat. I use the EcoBee 3 Thermostat with @yvesracine s binding. Your code polls thermostatMode. In the case of EcoBee3, all summer it’s in “cool” mode meaning it’s allowed to cool the house if it’s hotter than the set-point. The problem is that this also means that your code sees the thermostat is not “Off” and will never turn the WHF on.

What I would really like your code to look at is:
thermostatOperatingState (if not ‘Idle’ then don’t run) or
equipmentStatus (if not ‘Idle’ then don’t run)

I have tried modifying your code:

def thermostatMode = settings.thermostat.currentThermostatMode


def thermostatMode = settings.thermostat.thermostatOperatingState

Unfortunately this parameter returns ‘null

I can see these parameters under EcoBee Device Current States, any guess what I’m doing wrong that I cannot access these parameters in this app?

Thanks so much!

Note: Eventually the long-term plan is to have this app SET the EcoBee3 to “off” when the WHF is running and then reset EcoBee3 to “Cool” when conditions are not met (too hot outside or windows are closed).


[quote=“bravenel, post:22, topic:2447, full:true”]
I recently wrote just such an app for the very same reason…[/quote]

I got mine going with your SmartApp (see my update HERE if interested). :slight_smile:

Thanks a lot!

Edited: To disable the original app, simply set the Threshold temp above any real temp, and the app won’t turn on the fans.


Thanks, Bruce.
I will test it this weekend and get back to you.

So, with this, there will be no need for my ‘disabled’ Mode, right?..I mean, unless I want it for something else or whatever.

Not for this app, no. You just have to use a disable switch. That can be a virtual switch.

Dear Brian,
I have searched everywhere for a script like this and your idea is well thought out and I am sure already being used and enjoyed by countless ST users. I am actually looking to cool a massive warehouse with outside air which could also be applied to homeowner’s attics, basements and garages but the biggest improvement is to fully automate green indoor cooling by actually opening and closing the window or vent for them without any intervention and continue to turn off the thermostat as you already programmed. The variation I am looking for is for is ST to ping an indoor and outdoor thermostat every x mins 24/7 and keep the minimum variable indoor threshold you have already written. Here are some other mods and why: If outdoor temp is x degrees less than indoor temp, turn on switches. If outdoor temp is x degrees higher than indoor temp, turn off switches. The reason for the variable delay in pinging of temps and the variable threshold is so air has a chance to settle before triggering on and off commands over and over. Also the variable is so one can set their attic systems which might never reach below outside temp or for circulating the basement air which might always stay cooler with outside lower humidity air. Actually turning on and off switches is important for this application because I will have many switches automatically open vents (windows) and many switches turn on different fans. If it is toggle, then the command might accidently trigger the reverse over time and damage fans running without proper ventilation or even reverse the cooling plan. The entire program could be reversed to control heating as well. Your idea is wonderful, hope this idea further expands on it.

Thanks for your help!

Is there a way to do this with a routine? I have a whole house fan but I would like it run when I say so but automatically turn of when the inside temp reaches a certain temperature.

Maybe this will help: