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

@troy_owens

If you had the problem that @hsbarrett had, I just fixed that. Check for another build update. I uploaded it just a few minutes ago.

@jmarkwell
All appears to be loaded and responding! Doing what tests I can do from a far (I am not where the system is). Hope to be able to do a full test this weekend. Will let you know. Again, thank you

1 Like

@Tony_Flippance

It appears that there is some sort of incompatibility between SmartThings and Google Nest’s API that makes it impossible to use smartapps currently. I came to this conclusion because:

  1. When I looked for code for the Nest thermostat’s device handler, not only could I not find any, but I also couldn’t find any smartapps that currently work with it.

  2. I found this in the forums:
    Nest Thermostat with Groovy SmartApp

  3. I looked up a how-to on integrating with Nest and the guy in the video specifically says that Nest currently doesn’t support SmartThings smartapps:

I don’t have any Google devices myself so I can’t really verify any of this, but it looks pretty solid. If you have some information to the contrary, let me know and I’ll try to work around any issues that I can.

Sorry for the bad news.

no prob, ill keep an eye out they only added integration a few weeks ago.

@jmarkwell and @orangebucket thank you very much for this. I will be installing and providing feedback shortly :slight_smile:

I have just installed the smartapp but i cannot see my thermostat.

Can you please make sure it works with this one?

I have removed the old and deprecated capability “thermostat”. Any chance you could support those? Or do i need to do something to get mine to appear inside your app?

Thanks again.

*Sorry! Never mind just saw the alternative thermostat configuration option which does see my thermostat. My fault.

2 Likes

Hi,

I am completely new to ST and these SmartApps.

Does your Thermostat Manager have a way to implement this or can I add this as a request? Btw, this is to monitor a vacation home in the mountains, not needed for your personal residence where you would start to feel it get colder or hotter while home.

I want to be notified if the heat or AC appears to be not working. How I do this manually is I login to ST and look at the temperature. If it is more than a degree off of the setpoint temperature then my spidey sense goes off and I watch it like a hawk. If the room temp does not reach set point or move in the right direction toward the setpoint within an hour or so, then I know I have a problem and I call a repair guy. This is far better than waiting until an absolute temperature is reach like say 50 degrees or 80 degrees. Both of which would tell you that there is a problem but once you hit 50, if it happens to be at night on a weekend, you may not find anyone for 2 days to come out.

Here’s some psuedo code

int iTemp; // Current temperature on the thermostat
int iSetPoint; // Current setpoint temperature on the thermostat
int iVariance; // How many degrees below setpoint in heat mode or above setpoint in cool mode
int iMode; // value that represents thermostat mode HEAT, COOL, OFF, AUTO

// would need to write some code for AUTO mode to set the correct mode based on set point and temp

/* would also need to figure out a way NOT to set this off if for example the setpoint was at 60 and the user or the app changed the temp to 68. That would set off the code below so there would possibly need to be a check of “iLastKnown setpoint” and if that changed from the current setpoint then you have to give it some time interval where you don’t alert
*/

if ( iMode == HEAT ) {
if ( iTemp <= (iSetPoint - iVariance) ) {
// Send warning that furnace may not be working
}
return; // bail here before hitting cool mode check
}

if ( iMode == COOL ) {
if ( iTemp >= (iSetPoint + iVariance) ) {
// Send warning that A/C may not be working
}
return; // bail here before hitting off mode
}

// if you are here, the iMode == OFF
return;

Well, currently there is a verification check performed upon automated mode changes. If after 3 attempts the mode fails to change over, the user can be notified by push or by text, chosen by user preference. It is a rare circumstance that should really only happen if your HVAC unit is having problems.

Personally I’d recommend setting some, “custom monitor” notifications in SmartThings to notify you if the temperature reaches a particular high or low.

@jmarkwell thanks for going to all the trouble to get this going. Gonna try to configure this tomorrow…haven’t had the patience to do so as of yet…been a hell of a week. lol

1 Like

Hi, when I say I want to monitor the hvac working, It’s not a problem of changing modes. I literally need to see if the heat is going up or staying at the set point or if the AC is one, I need to know if the temperature is rising to 85 from the 69 setpoint.

So it’s not a mode change issue, sometimes your heat goes out or your AC is out of gas. Everything is working according to the thermostat but the unit the thermostat is controlling isn’t doing what it is trying to do. Measuring the the current temp against the set temp will tell the user that long before just notifying at an absolute temp.

Rick

I recommend setting some, “custom monitor” notifications in SmartThings to notify you if the temperature reaches a particular high or low.

Thanks for the recommendation but I already have that installed and it does not do what I am looking for.

Again, I can set a “notify if temp is 50 degrees or below”. That’s great. I’ll know the heat is broken by the time it reaches 50 when it’s set to 65. However, that could take days to drop from 65 to 50 depending on the outdoor temp. My property is 3 hours away so I have to monitor it from afar. If instead of an absolute temp, it would notify me when the temp has dropped so many degrees below the set point, it would save me potentially days of not knowing the heat was malfunctioning.

NEW BUILD: 2021020704

  • 1: Improvements to the error handling of the new dual capability system.
  • 2: Users will now be notified when Thermostat Manager fails to make an automated change due to a missing device capability.
  • 3: openContactPause() will now only set state.lastThermostatMode on the first time run per pause.
  • 4: Updates to code comments.

Mostly error handling improvements geared toward the flow of the new dual capability system. Users will now be notified (if notifications are enabled) when TM tries to change something but can’t because of a capability that has not been selected, like a missing thermostat or a missing thermostatFanMode device capability. Let me know if you have any comments or concerns.

NEW BUILD: 2021021801

  • 1: Discovered that Zen Thermostat’s device handler doesn’t have the emergencyHeat() command. Revised set commands to use parameter based setThermostatMode() and setThermostatFanMode() instead.

NEW BUILD: 2021022104

  • 1: tempHandler() will no longer set “heat” or “off” mode in the case that Externally Controlled Emergency Heat is enabled and the currentOutdoorTemp is below the emergencyHeatThreshold.
  • 2: “off” mode can no longer be conditionally set when the currentTemp reaches the heatingThreshold in “emergency heat” mode.
  • 3: Added currentOutdoorTemp to tempHandler() debug logging.
  • 4: Updates to code comments.

@jmarkwell
Thanks again for all of your work. I have just now had the opportunity to test everything. Everything seems to install and load as normal, however it does not appear that TM is talking to the dh. For example, using the energy saver feature, when a door is open past the limit, TM sends a message that it is turning off the A/C due to an open contact as it always had before the smart things changes. The dh however does not respond and the command from TM is not followed. I have checked and double checked my settings, all seems to be correct in TM (including all switches on for using the alternative thermostat), and I cannot find a problem there. Sorry to bother as always, but… any ideas? Thanks again

@hsbarrett

Hard to say at this point. The only thing I can think of to try immediately would be to play around with the device handler. Trying the old ones, etc. Other than that, turn on debug logging and let it run for a while. Make sure you capture some attempted mode changes. If you don’t mind to post it here, you can do that and I will review it. Otherwise you can DM me and if you prefer I can give you an e-mail address you can e-mail it to. We can try to see what is happening. TM will report if it fails to successfully achieve a mode change.

@jmarkwell
Ok. Will do. I am planning on having a full week to try all of this shortly. I will let you know. Again, thank you

@jmarkwell
Do you (or anybody) know of a custom DH that would control the Honeywell 9000 series? The “stock” choice from ST is just not working – and I believe this is the whole problem with TM not being able to make the changes. Thanks in advance

@hsbarrett,

I don’t know of one for the 9000. Only found one interesting result from search:

Seems clear you’re not the only one having these issues. @RBoy says he has a device handler that might work, but his apps aren’t free.

Note that the issue that the poster brings up was solved by the 2021013101 build of Thermostat Manager. Remaining issues are on the side of the device handler (although I could work around them if I could get a look at it).

If you have any logs I can look at I might be able to make some progress but aside from that - I think you’ll have to talk to Honeywell, try @RBoy’s device handler or just change your thermostat.