[RELEASE] Unlimited customizable thermostat

Any device that exposes itself as a thermostat. This is a very simple but powerful app. You can set as many or few schedules as you like. But the downside is each schedule is a new instance of the app.

I know I may be missing something in the way I’m imagining how either of these SmartApps works, and I guess we’ll find out next…

Would it be possible to use this SmartApp here in this thread for normal operations, but then also have @DarcRanger’s ‘Thermostat SmartApps that uses Virtual Switches to control Mode/Fan/SetPoints’ in order to have good functionality in SmartTiles?

I guess I could just try it, but I wanted to check in here, in case there are any known problems with this kind of configuration.

I have been using this to control my CT100 and it’s been working really well with one exception. I created two schedules. One that ran Mon-Fri and another that ran Sat and Sun, this is where I noticed that it when it came to friday my Sat-Sun one ran and on Sun my Mon-Fri schedule ran.

I played around with this further and just changed the schedule to individual days and sure enough it would run 1 day early. It always ran at the correct time it just ran 24 hours in advance. I contacted smartthings and they figure that TimeZone.getDefault() could be the culprit as it would pull UTC time zone. I am located in Canada.

Done fixed!..

###Ultimate Customizable Thermostat - Version 1.0.4

  • Added fix for error while installing if the hub location/timezone wasn’t specified. Now it’ll warn the user to add the hub location to that it can pick the correct timezone otherwise it’ll default to UTC timezone.

Thanks to DnCCrew for this step:

To set the hub Location, from smartphone app:

  1. Clicked on the 3 lines (top right corner)
  1. Clicked on gear icon (top right)
  2. Click area that says “Tap to set where home is on the map” and zoom in to correct location on map.
1 Like

I was wondering where you disappeared! You’ve got busy all of the sudden, I see. Good to see you cracking on the code again…lol


Not sure where the issue is but I have been having problems recently where my programs are not running. For example, I have one app set to run at 6am and set my thermostat to 68 when in heat but that did not run at 6. I do not see it listed under the recent actions. I don’t think the issue is that the hub cannot reach my thermostat because I can always change it manually. But this doesn’t always happen because then at 9 I have another program to set the temperature to 65 and that one ran. How can I begin troubleshooting this?

Report it to ST support that your timers are not firing on schedule and are
being missed. @Aaron

You may want to use a few minutes off the hour

1 Like

I don’t think having it run a few minutes off the hour will help. I had 3 schedules missed in a row so I guess there is an issue with my hub. I’ll contact support. Thanks!

Edit: I called support and they said they do not see any issue on their end and suggested that maybe your code is the one having the issue. I told them I don’t think that would be the case since for the first few weeks that I installed it I had no issues but since it is a community app they could not really test further. If you have any other suggestions please let me know.

@Aaron maybe you can assist here.

One thing to look at is the smartapp schedule history. Under my hub -> smartapps click on this smartapp. Scroll to the bottom and it’ll show you the next scheduled items and the history of executed items. That will tell what ran and what was dropped by the platform.


I know this is probably a really stupid question, but…

I’m just now finally getting around to implementing a thermostat scheduler SmartApp of some sort, and am looking through the ones available, and I just realized that I might want to just do this with rules instead.

So…What would be the difference between using multiple copies of this app, or using multiple rules in either rule Machine or CoRE to accomplish the same thing? i.e. what advantage would I gain by using this SmartApp over using rules in one of the rules engines we have to work with?

If you’re already very comfortable with CoRE and have a few simple sets then staying with CoRE makes sense.
If you aren’t comfortable with it then this is a very simple way to do what you need.

On some of the other thermostats apps I would point out if that it allows you customizations like one setting for all thermostats or individual settings or one for all modes or individual modes or any combination thereof through a bunch of simple on off switches. So if you’ve got lots of customization then it may make it easier to setup and manage it.

1 Like

Cool. Thanks.
With all the differrent apps, and such different naming conventions for each, it’s not easy to figure out a hierarchy of complexity or ease of use or anything like that.
e.g. with other terms in their names, this one in this present thread seems like it’s the ‘granddaddy’ of them all, but perhaps not.

Up till now, I’ve always set my thermostat by time, and that’s how I started configuring it in another tstat SmartApp I’m testing. However, I think I’m leaning toward using the Modes method instead.

I think I like the idea of extending my knowledge and use of CoRE by including this in my rulesets. However, since I’m still a CoRE n00b, and since there’s an issue with CoRE, AND since a friend of mine just got a smart thermostat too, and needs some assistance getting going with scheduling, etc, I figure I might as well use a SmartApp for now, and have the added benefit of being able to introduce him to something more purpose-built and ready to go. I like that, by being a purpose-built SmartApp, there’s a certain amount of guidance that happens just by the structure of the app, the order of questions, etc.

I guess I won’t really know for sure which route I want to go (that is, SmartApp or rules) until I give them both a try.

So, I will give your ‘Ultimate’ mode change one a try.

1 Like

Yeah and if you’re looking for a more traditional 5-2 day thermostat or a more eco friendly motion based thermostats (with remote sensors) you can the two other apps for that. Those are more grand-daddish than this one. This was a very basic but very flexible thermostat that was built a long time ago as you can see. The others are much more sophisticated.

1 Like


So, would/should/could these all be used as ‘Layers’ for customized levels of complexity, or one instead of the other?


Love your apps/DH’s and am about to use a couple more:

I’ve just purchased the Ct-100 thermostat and when it arrives, I’ll be using both this “Ultimate Customizable Thermostat” app to start out with schedules (we are not on a 5-2 schedule anymore) and the “Z-Wave Customized Thermostat with Battery, Humidity, Clock, Temperature Configuration and Enhanced User Interface” Device Handler. I’m sure much of this will become clearer when the CT-100 arrives, but:

  • Is there the option to have the CT-100 put the temp on hold (for instance when we’re away) - remotely or on the CT-100?
  • Can I turn the CT-100 off/on or switch heat/cool modes remotely?
  • If I change the temperature - either on the thermostat or remotely - or via CoRE as an overide, does it change to the next programmed set point when it’s scheduled, or does it stay where I change it to?

I’m sure there are many more questions but I expect this will all be clearer when the CT-100 arrives.

Thank you for your great apps and DH’s and your time.

1 Like
  1. Not on the thermostat but will be enabled through the SmartApps
  2. Yes
  3. The thermostat scheduler functions aren’t used. SmartApps are used to schedule so they will overwrite the thermostat setting on the next scheduled change (but not in between replicating the temporary hold capability)

Thanks for your responses

[quote=“lflorack, post:36, topic:7201”]
Is there the option to have the CT-100 put the temp on hold (for instance when we’re away) - remotely or on the CT-100[/quote] [quote=“RBoy, post:37, topic:7201”]Not on the thermostat but will be enabled through the SmartApps[/quote]Am I correct I’d be using a mode to do this?

I take this to mean if I, for instance use the a mode to stop your app from sending my next set-point to the t-stat , it will remain at my manual setting i,e, on hold?

Thanks again for your responses.

That would be permanent hold. It’s actually much simpler. If the app detects that you’ve manually changed the temperature on the thermostat it won’t reset the temperature until the next change is due. That’s why it’s called temporary hold. This is true even if you’re using a remote temperature sensor instead of the built in thermostat sensor.

Got it thanks!

1 Like