[RELEASE] Best Zoned Heating/Cooling smartapps

I just got my setup up and running with smartthings, ecobee3, keen vents and ecobeeSetZoneWithSchedule. It’s all working pretty well. I still need to play with it some more but the vents seem to open and close appropriately based on the room temps. Thanks yvesracine for this great smart app!

1 Like

I look forward to trying the new version. I just got two new keen vents - one for the nursery and one for the master bedroom. Using ScheduleRoomTempControl has stabilized the temperatures in the nursery which previously was always colder than master bedroom. Great improvement and my wife is finally happy about the temp in the nursery.

1 Like

Current Configuration.

Ecobee Thermostat that has 3 comfort settings - Home, Away, Sleep
I have these 3 comfort settings set up in a schedule that I defined in the Ecobee Software.
2 Keen Smart Vents (1 per bedroom)
1 zone - Main Floor

While going through the setup process everything is working fine until I get to the Schedules piece. When I click on schedules I only have one option; Null. I have read your wiki and this thread multiple times. I have made sure I’m not clicking back or anything outside of the app specific buttons. I’m confused on this piece.

I have a 2 bedroom house; 1 keen vent in each bedroom, Living room has 2 regular registers (not keen vents). 4 registers total. I think it should be 1 zone, 3 rooms. At least that is how I have tried.

Any idea where I am making mistakes along the setup process?

Thanks ahead of time!

Hi, I don’t have any logs, but based on your input, you’re probably using my smartapp with the ST stock device which is not compatible with any of smartapps.

You need to remove any other ecobee implementation from your ST account as this is confusing for you and use My ecobee Device.

P.S. If you have any other questions, please send them to services@maisonsecomatiq.com as it’s easier for me to keep track of your questions in gmail conversations.

I have had your app since Nov 2017, and have to say it has made a great improvement in the heating in our home.

1 Like

New NEST devices for my zoned heating/cooling solutions!!:

The code can be downloaded at:


Great work! I upgrade from an older version of ecobeeSetZoneWithSchedule, to the new V8.1.4. Lot’s of changes, and new functionalality, easy upgrade and works great. I have 20 keen vents all being driven by two ecobee’s and being controlled by your app. Very cool! THX

1 Like


Just to let my contributors know, I have new versions of my zoned Heating/Cooling smartapps available at my store: ecobeeSetZoneWithSchedule (v8.2.1) and ScheduleTstatZones (v8.2) which correct some delta temp issues when applied to the zone’s setpoints.

You can download the new versions at my store using the original selffy link.

The new code is available at my store.

1 Like


Just to let my contributors know, I have new versions (v8.2.5) of my zoned Heating/Cooling smartapps available at my store :

  • ecobeeSetZoneWithSchedule and ScheduleTstatZones which now send the required on() command for some portable heaters/coolers/splits (as room thermostats) when they are part of the scheduled zones.

You can download the new versions at my store using the original sellfy link.

The new code is available at my store.


ScheduleTstatZones is awesome and thanks for putting it together. I have a question, or maybe a feature request? I’m not sure. Currently I run a Mitsu heat pump and am having one issue because of it being a Hyper-Heat inverter series and the mitsu tstat trying to manage the temp beyond just what the setpoint is. It will stay running at a low speed to try and maintain the setpoint.

I have looked high and low for a place to disable this feature and no matter what installer settings I play with, it doesn’t change. This causes issues for me because it will overheat a zone (and overcool I assume) due to the heat pump continuously running even though the temp reading and the setpoint are equal on the tstat and it reporting to smartthings the unit is off. I have noticed that if the setpoint is a degree or two below the current temp reading on the tstat it will shut the unit off completely.

Is there a way an option can be added that when a zone reaches the set temperature that it drops the setpoint of the tstat below or above a couple of degrees until it needs to heat or cool again?

Again thanks for all your hard work. I appreciate it!


I’d recommend to check in your manufacturer’s manual or call its support line before making attempts to correct this behavior thru automations. The reason is that you should not override any critical settings that can be natively corrected by the firmware embedded with the equipment.

My smartapp was designed to work with any ST connected thermostats as long as they follow the standard capabilities (thermostatOperatingState, thermostatMode, heatingSetpoint, coolingSetpoint, etc.).

I don’t want to start customizing it for each combination of HVAC/thermostat as there are too many out there (just for the room thermostats, I already support more than 200 model/brand variations thru My HVAC Unit DTH with Flair)…

If you still want to do this kind of automation, please refer to a smart rule engine like CoRE/WebCore/SmartRules…

Their support was no help, but I figured out how to do some stuff with webcore. Thanks for the idea!

I just installed scheduleTStatZones and I am bit confused about how to do what I want to do which seems pretty simple:

  1. Maintain manual control of Nest setpoint from the Nest app/NST Manager
  2. Adjust Keen vents in various rooms around that setpoint during heating or cooling

Basically I don’t actually really want any schedules… I just want the vents to be adjusted appropriately for comfort in the rooms where I have smart vents.

Hi @David_van_der_Bokke,

The smartapp has been designed so that you can configure your rooms/zones/schedules: you’d need to define at least 1 schedule (24h) for your thermostat’s setpoints.

I’d recommend to look into the concept of zones and schedules a little bit deeper as usually people want to set up different combinations of zones/schedules at their home (ex. only heat/cool the upstairs bedrooms at night, and direct more airflow towards the ground floor rooms during the day).

As indicated in the zip file, please refer to the ST community wiki for more details on how to configure the smartapp. All use cases have been documented here:


For your vent settings, please refer to use case #4:


If you have any further question, please email me at services@maisonsecomatiq.com.

Hi yvesracine, so I’m having an issue I’m not sure how to resolve. It seems like the app always wants to keep the temperature at 71 degrees during one of my schedules and I don’t know why. This is what the running config looks like…

I haven’t been manually adjusting the thermostat at all. Any ideas?

Hi @Hollajandro,

If you want to set your thermostat to some specific setpoints (cooling 67F, heating 65F) in auto mode and stick with them, you should not set the following flag to true in GeneralSetup:


as this flag allows the smartapp to make adjustment to your setpoints based on the average of all your temp sensors in your zoned rooms. A positive delta can then be applied (ex. + 4F) to your setpoints as your zoned rooms are probably cooler/hotter than your thermostat’s ambient temperature (and the smartapps tries to compensate for cooler or hotter rooms in heating/cooling mode).

If you still want to adjust your setpoints at your main thermostat, be aware that you can also set a maximum temp adjustment in each schedule (ex. 1F instead of 5F by default).

Of course, it’s hard for me to tell you what’s going on without any logs. You’d need to send me some logs at services@maisonsecomatiq.com in order to get the complete picture here.

To get detailed logging, refer to


And you need to filter the logs by clicking on the name of the smartapp at the top of the IDE.

I’m pretty sure that’s the reason for this target temperature of 71F. You should also check out your routines (good morning, goodbye, I’m back home, etc) and other smartapps to make sure that there is no conflict.


I’ve been using ecobeeSetZoneWithSchedule for a while now and it’s great. But I’m finally getting into settings schedules and I just don’t get it. How are the schedules in the SmartApp run? Are they based on the ST Hello Mode? The EcobeeClimateSet? EcobeeProgramSet?

I tried using ST Routines but they don’t actually change the EcobeeClimateSet or EcobeeProgramSet. It works fine if I set a temperature change in the ST Routine, but specific fan run times act weird and don’t always change.

I tried using Ecobee Schedules, but Home/Away are variable and I don’t use Ecobee Sensors. I’ve allowed EcobeeSetZoneWithSchedule to change Ecobee from Home/Away, but I don’t know how it’s triggered as I see no “Inactive for XXX minutes” settings in the app.

Basically I just want to know what everyone else is using for the schedule workflow.

My basic schedule is:

Night - 11pm to 7am, Fan 0 Minutes, 19C.
Morning - 7am to 8am, Fan 5 minutes, 20.5C
Home - When Sensors active within 30 minutes, Fan 5 Minutes, 22C.
Away - When Sensors not active within 30 minutes, Fan 20 minutes, 20C


As indicated at the ST community wiki under the configuration section, ESZWS uses the ecobee climates (or comfort settings) for triggering the schedules in the smartapp. So, the schedules are run based on the ecobee scheduling. For every climate set at ecobee, you may associate 1 schedule in the smartapp.

The ST location modes are just secondary triggers for the smartapp.

Refer to the ST community for configuration & troubleshooting tips:


P.S. ESZWS will not be able to trigger your fan for 5 or 20 minutes when you sensors are active or not active, those are custom rules that you can set in Core/WebCore or any other rule engine.

However, ESZWS can trigger your fan when the temp differential in the zone (between all your room sensors) has reached a threshold set in your schedule. Or, you can change the ecobee’s fanMinRunTime (which is the minimum fan time in an hour) in every schedule…


Thanks for the reply. I’ve read through the documents and am still a bit confused.

In the ESZWS, I have 'Set Main Thermostat (away,present)? set to TRUE, but it doesn’t seem to do anything. The EcobeeClimate/Program remain at the last run Ecobee schedule. In the SCHEDULE settings, I have the ‘Which Ecobee Climate’ and ‘Choose Mode’ set to whatever (Home/Home for HOME Schedule). I don’t know if this is correct because I don’t know what Mode is referring to (Ecobee Mode? ST Mode? ESZWS Schedule?)

I can’t use the Ecobee Home/Away because none of my sensors are Ecobee. Do I need to use WebCore to change Ecobee to Home/Away, which will change the ESZWS ‘Last Running Schedule’ to whatever the EcobeeProgram is?

Basically my ESZWS dashboard reads:

ST hello mode: Home
Last Running Schedule: Null
EcobeeClimateSet: Morning
EcobeeProgramSet: Morning

Hi, you can use any room’s motion sensors (as long as they are connected to ST) to set your thermostat to Away or Home. The switch to the ecobee’s Home or Away mode is done only based on the motion sensors configured in the smartapp.

If no motion is detected in all your rooms (according to the occupied threshold in each of your rooms), then your main thermostat is set to ecobee’s Away mode.

And, the mode inputted in the Schedule setup is the location mode set for your ST hub. As I wrote to you earlier, the ST mode is a secondary trigger (ex. you may want to run the schedule associated to your ecobee’s Morning climate only when your ST location mode is set to Home). This is an optional, by default the schedule will run in all ST modes.

I strongly recommend to read the use cases documented at the wiki.

If you need further assistance for the configuration, please contribute to the support packages at my store. I can configure it for you provided that you give me access to your ST account.

P.S. The dashboard will display the last running schedule as defined in the smartapp.