*** No longer supported *** [OBSOLETE] Introducing ScheduleTstatZones: multi zoned heating/cooling solution for your home

@DreamPunk, the ST platform now has rescheduled the job (status=‘WAITING’ with a future timestamp). It should now execute correctly every 5 minutes.

If not, please redo the steps. I understand that this scheduling issue is frustrating, as it happens now on a regular basis for many ST users (and for many smartapps).


P.S. Let me know of any other issues with the smartapp.

It is working again! Thanks!

The app stopped working again. It looks like the last time it ran was June 15th. I followed your directions posted above again, hoping it would solve the issue.

I updated to the latest version of the code (1.9.1).

When I followed Step 3, when I get to the last screen and hit “Done” I get an error message: Failed to save page: NotificationsPage

Under Scheduled Jobs, it says “None”.

I used to be able to run the app manually by tapping it in the SmartThings app, but it no longer works at all.

@DreamPunk, I made a minor change to avoid the notification error in the setup screen (just grab the latest version at github, v1.9.2, save & publish)

About all current ST scheduling issues , refer to this thread:

This is not unique to this smartapp, and we’ve been told that ST will have a fix for it soon.

P.S. In the meantime, you need to redo the steps desccribed above, and do some monitoring from time to time to ensure that your smartapp is still scheduled.

Okay, I updated the app and the scheduling seems to be working once again. I still can’t run the app manually, though. Nothing happens when I tap it. Previously it would send a push notification and adjust things based on my settings.

Sorry to take so long to respond. No, I am not using the functionalities you mention. The app still does not run manually. Looking at the Scheduling log on the IDE, the “setZoneSettings” handler was scheduled every five minutes (7:31am, 7:36am, 7:41am, etc.). The current status is WAITING. Does that mean it is running? The app still doesn’t sent me any notifications when it runs even though I have Push notifications turned on.

@DreamPunk, if it’s WAITING and the timestamp for “Next Run Time” is in the future, this means that the smartapp is scheduled and will be running in the future.

You need to activate the IDE live logging to see any errors/exceptions in the logs:


Then, click on ScheduleTstatZones at the top of the screen, to get only the trace for this smartapp. Send me any errors/exceptions by PM.


P.S. Make sure that you have saved and published the latest version first I made additonal changes this morning based on your feedback.

When I check the IDE live logs, I can see the app running when I run it manually. It no longer sends Push notifications and no longer updates the activity log in the app, so the only way for me to know what it is doing is by checking the IDE live logs on the web site.


I just tested the smartapp again on my side and it’s working fine.

Have you activated the detailed notifiations in the last setup page?

I did my tests with v1.9.5 at my github, but the previous version (v1.9.4) was working fine too.

Let me know what is your use case:

(1) Do you want to just set some setpoints at a given time?

(2) Do you want also to do temp adjustments based on some outdoor/indoor sensors?

(3) Do you want to set your thermstat to away or present?


What should the detailed notifications field be set to? I tried “True” as well as “Yes”, but neither generated notifications when I ran the app manually. In the past, I did not use the detailed notifications and I would get a short message every time the app ran.

My use case is a combination of #1 and #2 . Basically I just use the app to poll several times a day and adjust the main thermostat based on the temperature sensors that were polled.


Based on your answers, I assume that your are an iOS user, Please be sure to enter
the value exactly as shown below.

Ok, for your use case, you’d need to set this parameter to true:

	section("Enable temp adjustment based on indoor/outdoor temp sensors [optional, default=false]") {
		input (name:"setAdjustmentTempFlag", title: "Enable temp adjustment set in rooms based on sensors?", type:"Boolean",
			description:"optional", metadata: [values: ["true", "false"]],required:false)

And, as you did not enter any motion sensors in rooms setup, you do not want any adjustments based on
your presence, so make sure that this parameter is empty or set to false:

	section("Set your main thermostat to [Away,Present] based on all Room Motion Sensors [default=false] ") {
		input (name:"setAwayOrPresentFlag", title: "Set Main thermostat to [Away,Present]?", type:"Boolean",
			description:"optional", metadata: [values: ["true", "false"]],required:false)

I just added additonal tracing in the smartapp to see what’s going on your side… Please update the code
and publish it in the IDE (v1.9.6).

And, PM me the logs related to ScheduleTstatZones after.


Hello to all,

Quick update: I’ve been testing my ecobeeSetZoneWithSchedule and ScheduleTstatZones (for other types of thermostats if you don’t own an ecobee) smartapps with my smart vents and they work beautifully…

The smartapps automatically ajust the smart vents’ level settings every 5 minutes based on an avg temp collected from all temp sensors in the zones that are part of a given schedule…

Really cool stuff!!


P.S. I will post some pictures later.

I moved over to this thread since my conversation is pretty much centered around this app now. So I went through a basic (:smirk:) configuration of this smart app and I think it has some amazing features. I have a couple questions but maybe first I need to be asking how much you would charge to walk me through configuring this app since I know you do this for a living and there’s only so much one could expect for free… I’m not a real doctor by the way, I’m a poor 34 year old with 3 kids :slight_smile:

I only have 1 tstat (ecobee3) for the entire house, and my downstairs is consistently 10 degrees cooler than upstairs. Basically we set the tstat to keep the upstairs at a comfortable level, and it’s expected that downstairs will be cooler. As such, I have never wanted to average out the house temperature between my downstairs sensors and upstairs sensors because my default cooling set-point on the ecobee is at the maximum comfortable level for upstairs (79 degrees in the summer). So if the house is occupied, when downstairs gets factored in, suddenly upstairs becomes way too hot as it bumps the cooling point up.

The same holds true for winter. I set my heating set-point to a comfortable level for upstairs. If downstairs gets factored in, it raises the upstairs heating point and then upstairs becomes unnecessarily warm.

This is also why I never hooked up the mini sensor on my ecobee3. Maybe if the system detected that the downstairs was significantly cooler than the upstairs in the summer, it could just circulate air instead of running the A/C. That would be useful… but it seems your app wants to circulate based on outside temp and not inside differential?

Anyways, I did a basic setup of 3 rooms (only the rooms with sensors for now), 2 zones (upstairs and downstairs), and I did 3 schedules. But the schedules seem to be where I’m most confused.

I wasn’t sure what a “schedule” meant so I just created 3 to match the ecobee schedules of Home, Away and Sleep. I set each schedule to respectively align to it’s matching ecobee mode. Home Schedule matches the ecobee program “Home”, Sleep lines up with the Sleep program, etc… Then I set the same thresholds on each schedule:
Extra heating at 10
Extra cooling at 85
Less heating at 50
Less cooling at 70

Left Fan Mode settings at blank, max temp at default, and made the Home schedule only take affect when the house is in Home Mode, Sleep to only run in “Night” mode, and Away to run in “Errand (custom mode for me) and Away”.

I set it up send me detailed notifications. When the home mode is in Away or Errand, I get “No schedule applicable at this time”. When I switch to Home mode, it says “running schedule home, about to set zone settings as requested”. “Home avg ttemp=72, main tstat temp = 77.4, temp adjustment = 5.4. Cooling set-point is now 84 (adjusted by avg temp diff of -5.0).”

I guess for starters, if I want to do temp adjustments based on outdoor temps, I also have to average my indoor temp sensors (which I explained earlier posing a problem).

And I don’t know why the other home modes don’t trigger the other schedules to run.

Does it make sense to “circulate” my fan based on downstairs being colder than upstairs? Does that help upstairs cool off in the summer?

If it helps:

8d5e1297-2daf-4910-ade8-c57e270751b0 5:14:49 PM: debug ecobeeSetZoneWithSchedule>No schedule applicable at this time 2015-09-09 17:14
8d5e1297-2daf-4910-ade8-c57e270751b0 5:14:49 PM: debug sending text message
8d5e1297-2daf-4910-ade8-c57e270751b0 5:14:49 PM: debug setZoneSettings>schedule=Sleep does not apply,location.mode= Errand, selectedModes=[Night],foundMode=false, continue
8d5e1297-2daf-4910-ade8-c57e270751b0 5:14:49 PM: debug setZoneSettings>found schedule=Sleep, scheduled program at ecobee=Home...
8d5e1297-2daf-4910-ade8-c57e270751b0 5:14:49 PM: debug setZoneSettings>found schedule=Away, scheduled program at ecobee=Home...
8d5e1297-2daf-4910-ade8-c57e270751b0 5:14:49 PM: debug setZoneSettings>schedule=Home does not apply,location.mode= Errand, selectedModes=[Home],foundMode=false, continue
8d5e1297-2daf-4910-ade8-c57e270751b0 5:14:49 PM: debug setZoneSettings>found schedule=Home, scheduled program at ecobee=Home...

@drshaw, I will PM you my hourly rate as I need to study your use case and come up
with the best solution.


Any thoughts of adding in “auto-off” when specific window/door sensors are opened? Very likely a global setting and wouldn’t need to be done for specific zones.

Hi @bmmiller

Please refer to this other smartapp (WindowOrDoorOpen) for this use case:


Great, thanks. That’ll work. I had been using @tslagle13 Thermostat Mode Director, but there are some quirks I don’t like and of course, no schedules or zones (even though I won’t be using zones yet).

Just an FYI, the forums didn’t like the ! at the end of the link which result in “clicking” a broken link.

I’m not sure what happened, but the ScheduleTstatZones app stopped controlling the thermostat. I’m using version 3.0.3 of the app. It polls the thermostat every 5 minutes, but it never adjusts the temperature regardless of the temperature sensor settings or the desired temperature. It DOES NOT seem to poll any of the temperature sensors (should it?). The thermostat only works manually now. I’ve tried turning the option to average all the temp sensors on and off. I’ve tried turning off the option to only consider the temperature in a room if motion is detected. I was experimenting with using a master switch to turn processing on and off, but I deactivated that option.

I recently migrated to the V2 Hub, but the app was still working after I reinstalled it. I had been tweaking settings, so I’m not sure if I did something wrong that caused it to fail permanently.

Hi @DreamPunk,

(1) Could you update to the latest version (v.3.1.1) at my github?

(2) Also, according to your requirements that you posted earlier in this thread, please make sure to set the following parameters to ‘true’:

section("Enable temp adjustment based on outdoor temp sensor [optional, default=false]") {
		input (name:"setAdjustmentOutdoorTempFlag", title: "Enable temp adjustment based on outdoor sensor?", type:"Boolean",
			metadata: [values: ["true", "false"]],required:false)
	section("Enable temp adjustment based on indoor temp sensor(s) [optional, default=false]") {
		input (name:"setAdjustmentTempFlag", title: "Enable temp adjustment based on avg temp collected at indoor sensor(s)?", type:"Boolean",
			metadata: [values: ["true", "false"]],required:false)

(3) And, if you are using a master switch, please set it to on (using the IDE or the ST app) or, if not needed anymore, remove the master switch from the following input parameter:

	section("What do I use for the Master on/off switch to enable/disable smartapp processing? [optional]") {
		input (name:"powerSwitch", type:"capability.switch", required: false,description: "Optional")

P.S.I’m currently making a lot of changes to the smartapp in order to better support smart vents as I’m currently beta testing the Keen Home vents.