[RELEASE] Thermostat Manager - An alternative to Thermostat Mode Director

I see, I replied to the wrong post.

I did update to the latest version. TM sends an off command pretty quickly without any contact being open. I disabled it again.

One thing I noticed is that the thermostat shows “waiting for equipment” in ST even when the Honeywell app says that it is cooling. This should not be a problem though since the TM should react on door/window contacts?


What kind of thermostat are you using? Are you using a custom device handler?

The log you posted earlier, did you create that before or after you updated TM to the latest version?

Yes, it was with the latest version.

The thermostat is Honeywell Wi-Fi Smart Thermostat RTH9580. No custom handler, I installed it (and reinstalled it yesterday) from the ST app.

Here is a message which makes no sense to me:

Thermostat Manager - The temperature has fallen to 74. Setting off mode.

Why, I did not ask for it?


That part of the code is executed under 2 possible conditions:

  1. You have set TM to use Emergency Heat instead of normal Heat mode and the temperature is within the thresholds that you have set. The thermostat is turned off because Emergency Heat will make the house hotter than you want it to be if if isn’t turned off. It could also burn itself out if you leave it on too long.

  2. You have either disabled heating mode or both heating mode and cooling mode and TM has discovered that the thermostat has entered one of these modes and that no other mode is a feasible option at this time due to either user configuration or temperature constraints. I would guess that this is the more likely of the 2 cases. If the, “disable heat”, or, “disable cool” sliders is set to on, and you don’t want to disable these modes, then you can correct that by touching the appropriate slider. Alternatively, heat/cool modes can also be disabled by clearing the temperature settings from the, “cooling threshold”/“heating threshold” boxes. You may want to check that as well.

If you didn’t configure TM this way on purpose, then you need to change one of the settings. If you would like some help with this, I can tell you which settings you can change to stop this from happening. In the SmartThings IDE, go to, “My Locations”–>“SmartApps”. Scroll down to, “Thermostat manager”. Click on it, and then copy everything under the settings table (make sure not to post your phone number if it is in there). Paste it here and I’ll tell you what you need to change.

Thank you for your patience. Here we go. It is disabled now, which explains one of the settings.

Name Type Value
awayCoolingSetPoint number “”
awayHeatingSetPoint number “”
contact capability.contactSensor Balcony Bdrm, Balcony LvRm
coolingThreshold number 75
debug bool true
disable bool true
disableCool bool true
disableEnergySaver bool false
disableHeat bool true
disableNotifications bool false
disableSHMSetPointEnforce bool true
enforceArmedSetPoints bool false
enforceSetPoints bool false
heatingThreshold number “”
holdAfterMinutes number 2
manualOverride bool false
minPauseMinutes number 2
offCoolingSetPoint number 70
offHeatingSetPoint number “”
openContactMinutes number 2
phone phone “”
pushNotify bool true
setFan bool true
stayCoolingSetPoint number 70
stayHeatingSetPoint number “”
thermostat capability.thermostat Thermostat PCB


What the settings, “Disable Heat” and “Disable Cool” do is disallow TM from setting those particular modes. So if you disable heat mode, TM is disallowed from setting heat mode. Removing the, “Heating Threshold” / “Cooling Threshold” temperature numbers does the same thing as disabling the modes they correspond to. If TM discovers that it is in a disabled mode (let’s say heat mode) and that there is no viable alternative (because cool mode is also disabled), TM will turn the thermostat off.

To stop this from happening, you will need to set a heating threshold and enable the modes that you expect to be able to switch to.

Let me know any other problems you are having and we will figure them out.

One question: Are you planning on using TM as a system that simply turns the thermostat off when the doors/windows are open too long?

Yes, I am trying to do exactly that. Of course, I want TM to turn it back on when the doors are closed. I only need it for A/C (this is Florida).

I will try what you suggested.


I understand now. I may have introduced a problem in this regard with some of the latest updates. It used to be that one could use TM in this way if you removed the temperature threshold values…

If you never want TM to set any modes, for now, do this:

Set the cooling threshold extremely high, at a number you don’t expect to reach like 120F or something. Set the heating threshold extremely low like at 5F or something like that - and leave both modes as enabled.

In your case, as you expect to only use cooling mode you could also use the following setup:
Disable heat mode but leave cool mode enabled.

Give me a bit of time, I will have to look and see if there is a problem in this regard. TM was primarily designed to handle mode changes but I realize there are some people who use it like this so I will take a look and see what I can do.


Peter2 discovered an issue in which Thermostat Manager may incorrectly turn off the thermostat for users who do not intend to use the mode switching capabilities of Thermostat Manager.

I have updated the code so that Thermostat Manager behaves in the way that users expect it to in this situation. Updated code can be found at the GitHub link at the top of this thread.

As always, I rely on your assistance to report any problems you may have. Thanks for reporting your issue Peter2, and please let me know if this release resolves your issue.

I updated to the new version. It seemed to be working for a day until my guests left. There is nobody at the property now, so I cannot test it further. I will do it eventually.

1 Like

Then what do I do?

Build 2019110606

  1. I finally decided to add the ability to use remote temperature sensors. Using the thermostat as your temperature sensor is recommended for most situations, however, I have found some unusual cases in which it can be useful to have a remote temperature sensor (albeit one that is not fully functional). As I have mentioned before, ‘Unless you have an Ecobee, the thermostat uses its own internal thermometer to control the HVAC unit. Even if we manually set the mode to, “heat” for example, the heat won’t kick on unless the thermostat’s internal thermometer says that it is below the thermostat’s heating setPoint.’ That having been said, there are situations in which one may want to have modes controlled by a remote temperature sensor even though the HVAC won’t kick on until the thermostat’s internal thermometer has reached configured setpoints on its own.
    Be aware that when you upgrade to this new version that you will need to configure the new, “Temperature Sensor” setting, even if you plan to continue using your thermostat as the temperature sensor.

  2. Fixed an issue that could cause Energy Saver to be unable to turn the thermostat back on after having turned it off. The situation was a rare case that required a specific series of events to take place in a specific order.

Hey! I just installed this, and it will be perfect for my heat pump settings. Right now though, it’s only throwing errors. Here’s what I’m getting:

d8a1f752-3be0-4198-b997-503672728b65 9:36:15 AM: error java.lang.NullPointerException: Cannot invoke method currentValue() on null object @line 692 (esConflictResolver)

d8a1f752-3be0-4198-b997-503672728b65 9:33:00 AM: error java.lang.NullPointerException: Cannot invoke method currentValue() on null object @line 692 (esConflictResolver)


Are you using Thermostat Manager’s Energy Saver functionality? I’m guessing that you are not and have not selected any contacts to monitor. I believe you may have found a bug.

Under Energy Saver settings, try selecting a contact (a door open/close sensor) even if you aren’t using Energy Saver. If you plan not to use Energy Saver, just make sure it is disabled. Tell me if that resolves your issue and I’ll put out a hotfix that resolves this problem shortly.

I set one sensor and then disabled the saver. No more errors, so we’ll see what happens when the deep freeze lifts at home.

Thanks for the super fast response!!

Build 2020011402

Corrected an issue discovered by gspitman, that causes a null pointer exception to be thrown in the case that a user has not disabled Energy Saver but has not selected a contact to monitor either.

I have updated the code so that Thermostat Manager behaves properly in this situation. Updated code can be found at the GitHub link at the top of this thread.

Thank you for reporting your issue gspitman. And as always, I rely on all of your assistance to report any problems that you may have.


I have just dicovered your app and I have installed it hoping I could turn the ecobee thermostat off if a window is open after a certain amount of time and maybe turn it back to the previous mode if the window is closed for a certain amount of time, but I do not see these options in the app. Am I missing something or the app does not have this capability ?Thank you.


Yes, sir – that is one of our specialties. Just check out the, “Energy Saver” page. The system is very customizable. You can choose how long selected doors/windows must remain open until the thermostat is turned off, you can set the minimum amount of time that the thermostat will be turned off for, you can also set how long your selected doors/windows need to remain closed until the system is turned back on. And it functions exactly as you say: when the thermostat is turned back on, it restores the previous mode.

If you’re having any trouble with it, please let me know and I’ll do my best to help.

Thank you. I will try.

I manage a rental property and guests tend to crank the heat up unnecessarily. I added your code and looked at the options but could not find a setting to set the heating mode to OFF when the thermostat registers a maximum temperature. Does your app have this functionality?