Ecobee Thermostat - Setting Programs


A bunch of people were wondering how to set a program for the Ecobee thermostat in WebCore. I took some time the other day to figure it out so I put together an example. The key is to add 3 string parameters after selecting the command. Just one parameter doesn’t work. You also have to have the capitalization EXACT.

Obviously if you have more modes created you can use those as well.


I’ve had good success with just this format. You can also use
for custom named settings.

I will say I am using a custom DTH for ecobee.


I have just installed the ecobee3 lite and I am trying to understand how to use Webcore to set the thermostat to Away when we all leave the house. What happens if there is a schedule set in the ecobee to lower the temperature at say 9:00 am but everyone leaves before that. Can I have the ecobee change to Away and lower the temperature and then continue with the next part of the schedule?


Yes, look at the last example. You want to use the command setThermostatprogram. Then add 3 string parameters. The first will be ‘Away’ the second ‘nextTransition’ and leave the third blank.


Which custom dth, would you mind sharing?


Hi Ryan780,
Thank you very much to share the knowledge.

I have some comfort settings in my ecobee that sets to use different sensors to measure the temperature. I use the way you explained to override the schedule with those comfort settings. This works good that webCore can set hold the temperature defined in the comfort settings. However, it seems like it does not pick up the sensors I assigned for those comfort settings.

Do you have any idea or a way that I can use the sensors I assigned?
My use case is

A sensor is in a room that I have a space heater. I want to exclude the sensor from the temperature measurement when it’s 72º. Once it goes to the number, webCore setThermostatProgram to the comfort setting I defined to only use a set of sensors.

Thank you very much.


You have assigned them to that comfort setting in the Ecobee app? You can’t control which sensors are used from the API, only what comfort setting to use.


Hi Ryan780,
Yes I have the sensors assigned to the comfort setting in my ecobee. After I switch to this comfort settings by webcore, I still see other sensors that are not assigned in this comfort setting are used for calculate the temperature.

Let’s say current schedule is Home that sets to 68º with sensor A, B and C. Use webcore to override the schedule with “Home Adjust” comfort setting. This setting sets temperature to 68º also but only use sensor A and B. In ecobee, I can see it shows 68 and holding. In the sensors page, I see all these A, B, C sensors are in solid white which means they are in use.


Hi Ryan780,
I have checked ST to make sure the comfort setting is used which is correct. For the comfort setting, it looks like even the icons which are not assigned are indicated as in use, but ecobee actually does not use them for the temperature calculation. I am not 100% sure but I guess that’s it. Thank you.


Any help would be appreciated, I’m not sure what I’m missing here. I’m trying to set up some really basic rules around my Ecobee but setThermostatProgram() isn’t an option in webCoRE for me. Ideally, I’d like to set my ecobee to away when I leave and run resumeProgram() when I return from away, the best I’ve been able to do so far is have it set cooling point to 80 and set heating point to 60 when switching to away and then resumeProgram() on return. This hasn’t been reliable though.


I’ve also been working on this since yesterday. I think I’ve gone through all the options and don’t see anything with modes. I use the default modes on a schedule. I’ve been sending the different options as push notifications to my phone and “schedule” is the only one that doesn’t work. I’m sure there’s a better way to test this but I’m brand new. I was hoping the schedule would return Home or Away but I get nothing. I’m out of options at this point.


After further testing, I found that the resumeProgram() function wasn’t properly firing at all. I ended up removing the default Ecobee SmartApp from SmartThings and installing SANDood’s Ecobee Suite instead. This gave me all the control I needed and then some (without using webCoRE at all)