[RELEASE] Mode Based Thermostat - Control Multiple Thermostats Temperature / Remote Temperature Sensors when Changing Modes

@RBoy , I have been using one of your thermostat apps for a few years now, no issue. But starting now, I’m one of the lucky bunches in a polar vortex and wish to place a PERMANENT temperature hold until I release it on my thermostat, but I can’t find a way to accomplish it. I have a CT-100 thermostat and I’m using (I think) your ultimate mode thermostat. Temp holds work (I can override the set temp, but after a time it reverts…but I haven’t caught how long the temp hold holds for).

I need to up my temp in the house in preparation for -50 outside temps and would like a permanent (24hr anyways) hold. Is there a way to do this?

If you’re on the latest version (02.05.07) you use the same instructions posted by @maddie on this topic:

1 Like

Ultimate Mode Change Thermostat Temperature - Version 02.08.00

  • Extended support for temporary hold to with/without remote temperature sensors
  • Fixed issue with open door/windows shutoff and remote temperature sensor when using a single mode

© RBoy Apps

Mode Change Thermostat Single Temperature - Version 01.01.00

  • < no change >

Been using this SmartApp for a couple of weeks now and it’s working well for me but I have a couple of thoughts on it for improvement.

  1. The extreme temperature setpoints to enable remote sensors are slightly problematic. Yesterday SmartThings had some US outages that caused some of my devices to go offline. The thermostat schedule wasn’t able to communicate with the thermostat during the night and because it was set to a cool setpoint of 60F, my AC ran ALL NIGHT LONG. When I woke in the morning, the local thermostat temp was 71F and even cooler in the bedrooms (high 60s F). While this is not directly a SmartApp problem, it represents a hazard of using such extreme temperature setpoints. If something goes wrong, the thermostat is set to achieve a setpoint most will never be able to and hence it will run indefinitely if left unchecked.
    Suggestion: Allow user defined max cooling and heating thermostat setpoints. In my scenario, I know I would NEVER want my AC to try to cool my house below say 75F local to the thermostat itself so if I set my bottom end to 75F for cooling, the remote temp strategy would still work throughout the house. Same for heat, I would never call for more than 73F as measured at the thermostat itself or any remote sensor so setting it to 73F in my case would be a fine top end for heat. I realize this could make the app slightly less user friendly so these should probably be set to the current app defaults with an option in the GUI setup to override. I know where to change them in the code itself but I don’t like to have to remember to edit each time there is a new release.

  2. Using the temp hold feature works fine but I can find no clean way to resume the mode schedule for remote temp sensors other than resave the app or change modes. It would be awesome if the RBoy Thermostat device handler (used in conjunction with the Ultimate Mode Based Thermostat Smartapp) had a “resume SmartApp schedule” button to allow the setpoints to again be controlled by the remote sensor strategy based on the mode setting or the Ultimate Mode Based Thermostat app could have the “touch” feature (the play icon to the right of the app in the app list) that could maybe resume the schedule? Essentially the temp hold feature negates the remote temp sensor strategy, changing it back to local thermostat setpoint and control and there’s no easy way to get back to remote based. If I have to, I’ll write a Webcore app that examines current Hub Mode, switches it to a special blank mode (not configured or tied to any other routines or apps) and then back to previously saved mode via a virtual switch which I imagine would re-initiate the thermostat mode setpoints.

Good feedback. We’ve been working on an enhancement for 1, a heartbeat system to check that things are in sync so that when ST or the mesh fails it will try to recover. Will also look into resetting the temp hold when the “touch” feature is used. The extreme values are tweaked specifically taking 100’s of thermostat models into account. I’ll PM you more details.

I’m running into an issue where the temp hold feature is no longer working. Wife is complaining that she’s continually setting the thermostat locally and it keeps changing to the extreme setpoint (based on the mode setpoint and remote sensor). First issue I attribute to changing the setpoint locally before the mode change but subsequent local changes do seem to be overwritten every couple minutes by an App_Command of setCoolingSetpoint.

Is it possible this is happening because I’m using the Mode Based Thermostat in conjunction with Schedule fan for Thermostats? When I added fan control is when I recall the problems starting. It seems that after the fan mode changes with the Schedule Fan (I’m using Fan mode On and a 10 minute circulate followed by a 50 minute rest), the Mode Based Thermostat begins sending setpoints every couple minutes thereafter and overriding the local setpoint changes.

Edit: Sending logs to support email on this.

Ultimate Mode Change Thermostat Temperature - Version 02.09.01

  • Added verification engine to check if thermostat has changed setpoint, if not retry every 5 minutes. This helps with mesh/connectivity issues to avoid runaway temperatures when using remote sensors
  • Added option to reset temporary hold with the Classic app “touch” feature (arrow button next to app name)

Ultimate Mode Change Thermostat Temperature - Version 02.09.05

  • Workaround for platform bug with unscheduling during mode change which sometimes causes interference with other apps
  • Improvement to temp hold detection and multiple thermostats

Loving the recent enhancements with remote temp sensors. The app is working much more reliably in my environment! One thing that I would like to suggest as an improvement is allowing a timeout for a contact sensor before “shutting down the thermostat.” In my home I do sometimes open our front door for extended periods because I have a screen there so I can take advantage of the fresh, outside air. The problem when I use my front door contact sensor in this SmartApp to shut down the thermostat is that if I simply open and close it to grab a package while the thermostat is in cooling mode, it shuts down and then goes “pending cool”/Wait while it lets the compressor cool before starting again (compressor lockout, most thermostats use this to prevent compressor cycling too quickly which can damage it). This is mildly annoying because the cooling must now wait for the compressor timeout and frankly, it’s not ideal to shut it off and start it back up for no reason just because the door opened and closed.

So I would suggest either make it user configurable with a timeout I can set or I would suggest breaking out contact sensor types in the app between windows and entry/exit doors so the user could put windows in the windows category and doors in the entry/exit category. Windows could shut down the thermostat immediately when opened but I would put at LEAST a 1-5 minute default delay on entry/exit category sensors before shutting down the thermostat schedule to avoid unnecessarily shutting it down during entry/exit brief opening/closing.


Plus one for the delay option. I don’t wanna put unnecessary strain on my HVAC system if I’m only opening and closing the door for less than five minutes.

Is it possible to run the “Ultimate Mode Changer” and “Motion Based Thermostat Temperature Management” together?

My thought process is this. We have a dual thermostat on a single AC unit with an upstairs and downstairs dampener. When I come home I would like the thermostat to be set based on the mode. Then as we get settled in I would like one of the two motion sensors to tweak my thermostat settings. We typically are up stairs or downstairs but rarely both. The system has a hard time by default trying to cool both spaces simultaneously. So I set up virtual switches in ST and webcore to tweak one of the floors much higher that the other floor so it wont try to cool both spaces at the same time. Result is the space we are in gets cooler quicker. I would love for the motion sensor and a timer to perform this same action. Resulting me no longer manually hitting the switch. I would love for it to read that if there is motion for X amount of minutes then set that area down and the other area up on the thermostat.

Does “Motion Based Thermostat Temperature Management” allow you to set temps based on time of day or mode?

Sure you can, just make sure you set the operating modes so they don’t conflict with each other. Eg, If you’re using Mode Home for Motion based thermostat app then don’t use that mode in Ultimate modes based thermostat app.

Remote temp works great on cooling but not on heat. It engages 2nd and 3rd stage heating coils when it raises the temp. Anyway to disable remote temp for heat…

Neither this app nor the 5-2 app see my thermostats (GoControl smart thermostats).
In the setup screens, I just see “no device found” for “select thermostats to configure”

Hi there. That means either the smartapp and the devices aren’t installed in the same SmartThings location (check the IDE or mobile app) or the device is not using a compatible device handler that conforms to the SmartThings specifications.
If it’s the latter, you can change the device handler from the IDE to use the stock zwave device handler or use our Enhanced zwave thermostat device handler and SmartThings will automatically allow you to select it.

1 Like

Also not seeing my thermostats coming up (in this app or other thermostat apps). Have a number of Sinope zigbee thermostats installed.

Using the Sinope supplied DTH found at https://www.sinopetech.com/wp-content/uploads/2019/03/Sinope-Technologies-TH1123ZB_TH1124ZB-V.1.0.5-SVN-503-1.txt

EDIT: Found my issue. ST has built-in Sinope DTH’s, one with the exact name as the custom DTH on the Sinope site. The built-in DTH must be based on an old version. When I was checking my devices, it looked like the DTH was set properly because of the name… but it wasn’t! All good now.

Ultimate Mode Change Thermostat Temperature - Version 02.11.00

  • Now you can set a timeout for open door/window sensors before it shuts down the system (default 1 minute)
  • Added swing temperature range limits
  • Added support for new Sonos for notifications

Ultimate Mode Change Thermostat Temperature - Version 03.00.00

  • (New) Support for new platform capabilities, now use with a wider range of thermostats, heating and cooling devices, including WiFi thermostats, battery thermostats, heat only thermostats, cool only thermostats, radiator thermostats and more


I am trying to setup my house heating automation with Heatit Z-water , TEMP2 and a couple of Zigbee temperature sensors. (I am using premium SmartApp)
My plan is to control main rooms with Heatit TEMP2 thermostats+thermal gears and other rooms (like laundry, entry rooms) with temperature sensors (using termostat handlers) and thermal gears all connecting to Z-water.


  1. can this smartapp start/stop mode heating for rooms with thermostat sensor only?
  2. Is it possible to use separate door/windows sensor for separate thermostat? How to do it?
    Maybe you have some comprehensive manual?

This app is designed to work with Thermostat(s) at this time, we will be adding support for more devices/features in future.

In the meanwhile check out these two apps which support working with relays and temperature sensors that can work with the Heatit devices you’re using: