[OBSOLETE] Thermostat Mode Director

Ok…so after searching far and wide I found an app that turns back on my HVAC after my windows are closed…WindowOrDoorOpen! created by yvesracine.

1 Like

NotoriousBDG made a change to the custom Nest device type that should allow the temperature setpoints to update when the thermostat is in off mode. I’ve installed this updated device type and will let you know how it works.

Big shout out to the great ST community for such quick responses!

1 Like

@slagle A friendly suggestion here to help accommodate at least my own uses:

    def neutral = [
        name:       "neutral",
        type:       "enum",
        title:		"Mode?",
        metadata:   [values:["auto", "heat", "cool", "off"]],
        required:	false

Making this not required allows me to have “nothing” happen when in neutral. I can understand the feature for a lot of use-cases, but I like to keep my forced heating/cooling trigger points more relaxed in an effort to conserve energy which means I also don’t necessarily want the system turning off when outside air reaches a certain temperature either.

It’s a pretty harmless change and shouldn’t effect those that want the feature, it just gives users more flexibility. Obviously I can make the change myself to my own version, and I did, but when you update your app, I forget I made the change and have to go back in later ;). Just help my laziness?

Good work by the way! Very useful and one of the more positive WAF features.

EDIT: Thinking more, you could further segment it into entering and leaving neutral modes. Instead of a single setpoint for one or the other. As an example:

  • Current 72F outside, system is OFF.

  • Outdoor temp drops to 55F and there is a “Heat On” trigger point of 60F, so the Heat turns on with whatever control setpoint. Maybe the following day has a lower high temp then the current day and it’s only going to get up to 65F. Some might ask why wait for 60F? Well, if the temperature outdoors got to 72F there is likely plenty heat in the home built up from the day and few would require heat. At my home, it’s actually much lower.

  • Perhaps at this point, have an additional trigger point to enter the neutral mode at 68F (or something similar) so the heat remains on for the entire following day, instead of potentially turning off too soon. If you made this second trigger point the same as the first, the app would function exactly as it does today. However, with this new second trigger point, you’re adding functionality, which I tend to think can save energy.

If you’re going to have a string of days that range 65F-75F and you just want your system off the entire time, this tends to allow for that use-case, whereas I think the existing app is meant for tighter single trigger points and wouldn’t handle this case very well, likely switching in and out of heating/cooling a high amount.

Caveat: I worked for a temperature controls contractor for 5 years programming embedded devices to operate commercial systems, so it’s possible I’m over-engineering/thinking this so I apologize in advance.

1 Like

@slagle I am seeing some real weirdness with the current version, including the one listed officially through ST. Probably going to revert back to 2.0 which was working fine.

In a nutshell, the timing on the door/window sensors seems not quite right. I only have a single door sensor on it which i have set to a 3 min delay. Without fail, it turns off immediately, every time the door is opened, and didn’t turn the system on when it reached the high temp the other day. I am actually less concerned about the not turning on at high temp than I am about it turning off immediately as it is on our patio door and turns off the AC whenever we open for a few seconds to take the dog out. I have it uninstalled currently.

I took out my modifications of course when testing. Uninstalled and Reinstalled the SmartApp. It is pretty consistent and repeatable. Before and after the new app update as well.

One last thing, there is a typo on the door/window selection page. It asks for “low temp?” when looking for the door/window sensors.

So I think this may be what I am looking for to control a heat pump we are having installed. I want it to turn on our backup oil heat when the temperature is below 20 degrees and not use the heat pump. I will be adding 2 more thermostats so we have one zone for oil and upstairs and downstairs for the AC/heat pump. is anyone doing something like this?

1 Like

Hi @Dave_Blanchard, if you want to create zones inside your home, I have created a smartapp for that… See the thread below:

You can define a master thermostat which controls some room thermostats (slaves)…

I don’t think it will fulfill all your requirements, but a good part of them.


P.S. I’m currently testing a variant of the above smartapp with smart vents, and it works very well… Smart vents are optional, but they provide even more comfort inside your zones…

1 Like


I’m not too worried about the vents at this point but the central air is being installed so we will see. I mostly want to run the heat pump and the oil furnace in unison for the most efficiency. I will take a look at this too.

OK, you may want to look into these features:

Ability to adjust your main thermostat’s settings (every 5 minutes) based on an outdoor temp sensor (optional)
** coolModeThreshold: set the thermostat to ‘cool’ mode according to a given outdoor temp threshold
** heatModeThreshold: set the thermostat to ‘heat’ mode according to a given outdoor temp threshold
** moreHeatThreshold: increase the heating setpoint according to a given outdoor temp threshold
** moreCoolThreshold: increase the cooling setpoint according to a given outdoor temp threshold
** moreFanThreshold: set the thermostat’s fanMode (‘on’, ‘auto’, ‘circulate’) according to a given outdoor temp threshold

With the above features, and the fact that you can control slave thermostats in some specific rooms/zones during a schedule run, then I think that the smartapp can fulfill most of your requirements.


I am using your app to basically shut off my thermostat (heat or air) when the windows are open. My question is about the Director Settings section where I can set a high and low temp, does that still depend on if the windows are open or not?

I want to be able to set it so if the windows are all closed and the house gets to 78, turn the air on. I don’t want it to turn it on if there are windows open.

My wife opened the windows up for the first time yesterday and the air shut off…fine. Last night we shut them all because it got cold. We left the house this morning (without turning the air back on) and I just checked and it’s 81 in the house.

Luckily I still have an hour before I get home and turned the air on manually thru the app :smile:

Sorry if this was explained already.

This isn’t working for me. I have two Nests that I am able to control manually in ST, but this app does not change them. I don’t have any window or door sensors so I don’t have that portion installed. I get the push notification that the app changed modes because of temp but the Nests don’t change… Am I doing something wrong?

Does anybody know what the difference is between thermostatsetpoint and thermostatsetcooling/heating? I am trying to figure out why my AC doesn’t kick in after I used the heat for one night. My settings show setheating 70, setcooling 74 but setpoint is 77 and the temperature is 77.

@SBDOBRESCU I’m thinking this thread is no longer maintained now after @tslagle13/ @slagle was hired by SmartThings and his app now is “approved” and can be added through the Marketplace.

There was a period when both were maintained and then the one here, attached to his github, was no longer being updated, and now the link on the original post produces a 404.

If you go to the Marketplace in the phone app (last icon on the right/bottom), choose the SmartApps tab, then Climate Control, then about halfway down you’ll see Thermostat Mode Director, last updated Sept 9th, 2015.

You’ll need to delete/uninstall your existing version so they don’t conflict of course.

Thanks, my question wasn’t really related to Tim’s app, but rather a technical question for folks using z-wave thermostats. I just didn’t want to create new thread. Actually, for some reason, the github version of the app works better for me than the one published. I don’t know why…@slagle when you get a chance and have time, do you know the answer to my question about the setpoint?

To answer your orignal question then, the difference between a setpoint and a heating/cooling setpoint depends on the mode you’re in. Different thermostat’s call it different things, but I’ll call it “Auto” as I believe that is what this app calls it. When in auto, you have a heating and cooling setpoint that are active and the other “setpoint” is not active. When you drop below the heating setpoint, the heat turns on, when you drop below the cooling setpoint, the AC turns on. You could, in effect, run both in the same day, on some wide swinging days. Most homes don’t run this way, but this app sort of assumes you do, which is a knock on it quite frankly.

Now, the normal setpoint is the more traditional method most people are used to. It works when the thermostat is set to either heating or cooling, not auto. When in heating, the normal setpoint is basically the heating setpoint, when in cooling the normal setpoint is basically the cooling setpoint. It serves too purposes.

The normal setpoint, and the heating and cooling setpoints do not operate at the same time. Your original question made no mention of the thermostat you use or the device type you use to control it so it has required me to make some assumptions based on what you are saying.

If you’ve left your thermostat in heating, the AC won’t kick on. It will only do that if you’re in auto or you change from heating to cooling. Assuming you are using this app, it also depends on your reference temperature that you are using and the associated setpoints for that.

@bmmiller is right.

This is half correct. I maintain it in the background. Now that I watch every thread on the community I just take suggestions and add them if I think it makes sense for this automation.

It is still there :smile: Just gotta got to my github.

Thank you, so did I get this right? The thermostatsetpoint is the temperature setting for a non-auto mode (either cooling or heating) and setcooling/setheating is used when the thermostat is on auto mode?

I see it now, it was moved since the original post was posted. Heh.

You should probably update your link :wink:

Yeah, it should be. Ideally though, some context on those names would be appreciated, like where you are seeing them specifically? If all of my assumptions are right on what you are referring to, then yes, your above statement is right.

So, because Tim’s app doesn’t actually set the desired temperatures, I am using other apps to do that, namely “Keep me Cozy II” for mode changes and Simple Rules for day time/night time variations. I’ve had problems in the spring switching between heat/AC and again now because of the temperature fluctuations. So decided to write my own app to consolidate the two, while using Tim’s app to set the modes because for zoning is not recommended to use the auto mode. The problem I ran into, was this:

It’s on auto, cooling is set for 77, but AC is running…The other day I had the opposite. heating was 76, cooling was 73, the setpoint was 77, the temperature was reporting 76 and the AC wasn’t running…

Ah, alright, that screenshot helps.

It looks like the device type you are using then isn’t working right. Can you verify by looking at the actual physical thermostat on the wall to see the mode and setpoint it is controlling to?

So it turned out that the problems I was having weren’t because of any incorrect settings, but because I was running low on Freon…go figure.

1 Like