Ecobee3 - what is the newest way to get this working?

I have done some searching and I am still unsure of what is the newest and best way to setup the Ecobee3.

Is there official support or is there user code that is recommended.


Official support is lacking. There are open source and paid versions of smartapps available here. Below is the link to the open source version.

Tagging @StrykerSKS

We have over 140 people using my code at the moment and growing daily.

I’m actively developing and working with users that have had issues. And have even been working with other projects to identify and fix issues with Thermostat support such as in Rule Machine.

Right now the biggest challenge is around the problems with the Scheduled Events failing which causes the API Tokens to fail. It has been more stable for me the last few days but I did lose connection again this morning. I’ve been adding in a few defensive items to help reduce this from happening. Users can also add Pollster to the mix to help with this as well to keep the connections active.

I am working to add a few other hooks as well that will hopefully help even further.

Overall, though, I think that the released code is quite capable. Check out the linked thread and you will see the engagement and discussions that have been ongoing.

Let me know if you have any questions.



Even with official support coming, there will always be the need for a feature complete integration with all the ecobee thermostats out there (ecobee3, Smart-SI, Smart, EMS).

This is where My Ecobee device can help you. I’ve decided to ask for a minimum contribution
as this involves hundreds of hours of development,testing and support for more than a year now.!store/tc3yr

For more information, refer to

Just as a synopsys, with my device and smartapps, you can do the following:

1) Setting your thermostat to Away or Home based on ST hello modes

See the ecobeeChangeMode smartapp.

2) Resuming your program/climate when you’re back home

See the ecobeeResumeProg smartapp.

3) Setting your thermostat to vacation mode

See the ecobeeManageVacation smartapp.

4) Creating/updating your ecobee climates/schedules

See the ecobeeManageClimate smartapp.

5) Setting your ecobee climate/program at a given time

See the ecobeeSetClimate smartapp.

6) Monitoring and setting your indoor humidity level based on outdoor temperature

See the MonitorAndSetEcobeeHumidity smartapp.

7) Monitoring and setting your setpoints based on outdoor temperature

See the MonitorAndSetEcobeeTemp smartapp.

8) Exposing your ecobee3’s remote sensors to SmartThings for HA scenarios

See the ecobee3RemoteSensorInit smartapp.

9) Controlling your smart vents based on your indoor temp/motion sensors in conjunction with your thermostat’s programs & setpoints

See the ecobeeSetZoneWithSchedule smartapp

10) Controlling your minimum fan time per hour during a climate/schedule run

See the ecobeeSetFanMinOnTime smartapp

11) Generating some ecobee HVAC stats on a daily basis and sending them to groveStreams for data analytics

See the following smartapps: ecobeeGenerateStats & groveStreams smartapps

12) And many more features, you may want to consult the wiki for more details


Until SmartThings gets their act together you will constantly be manually updating code (if using forum shared / purchased) in order to try and keep the connection alive…as the developers try to find ways to “work around” SmartThings / Ecobee integration issues by altering code in ways they shouldn’t have to.

I purchased Yvesracine’s code but I am no longer using it (at least for the interim) because I was tired of constantly copy/pasting code due to SmartThings inadequacy. He does all he can to keep the Swiss cheese integration alive.

I’ve gone back to the stock offerings from SmartThings which it suffers the same issues of integration connection failing. This will be true no matter which app you use.

It’s daily or weekly I am having to re-initialize the connection.

The community apps are wonderfully equipped…lots of features and benefits! Unfortunately, they are all built on unstable foundation.

My experience has been that if you want to set it and forget it than (for now) utilize the stand alone Ecobee presence detection, programming and app.


Hi @Drewbert34,

I agree with you that no matter when developers do, the root of the issues is the ST cloud backend.

I’ve put a lot of defensive coding mechanisms in my code to avoid any issues, but when the ST scheduler quits on us, there is no way to keep the auth tokens alive after a while.

When you have only 1 single thermostat (with or without remote sensors), things are usually going well and you have weeks of uptime. That’s what I have at home and at another location that I monitor closely and there are no issues.

And, if you have multiple ecobee thermostats at your location, you may have to tweak your setup in order to make it work; otherwise, you will get few days of uptime.

Some of my customers have 5-6 ecobee thermostats at one single location and they may have to avoid polling the devices at the same time. This may help you avoiding some ST cloud contention issues (could be DB or connection pool related, who knows?).

In general, if you use pollster or the Service Manager (MyEcobeeInit) to keep the auth tokens alive, then you have to create separate instances for each thermostat and make sure to launch at different times to avoid polling them all at the same time. You do the same thing with ecobee3RemoteSensorInit for each thermostat when you want to expose your ST remote sensors.

@bago, could you talk about your setup at your location (6 ecobee3 thermostats and 12 remote sensors)?


EDIT: According to the latest update from ST, a new scheduler is coming so hopefully some cloud related issues will be fixed soon.

1 Like

@Drewbert34 I have 6 ecobee 3’s and 12 remote sensors. I wrote a parent-child app to refresh the stats. Each stat is setup as a child and given a zone number. Each zone is assigned a minute to start (there can be dups) and a random second (to minimize the issues from the dups). I avoid 0 and 5. With 6 running, it will go for weeks (possibly longer) without an issue (other than ST issues). I have also created a backup plan using a hardware poll when ST fails. My app looks for failures. It allows one and if the errors start to accumulate, it texts me. If that happens (and it’s been weeks), I have found that merely refreshing the stat fixes the issue and it does not loose it auth token. Let me know if you have questions.

EDIT: My setup is extremely reliable - I don’t even think about it anymore.


Just one more thing: overall, I still think that the ecobee users have more features available (more options) and more reliability than the Lyric thermostat users, see this thread:

As soon as the scheduler issues are fixed and some other backend issues (connection pools), I think it can only get better from here.

P.S. I personally recall not worrying about my ecobee integration with ST for months (before all the Devconn changes for the Hub V2).


EDIT: And, usually, when my customers request it, I help them to find the right solution for their specific needs.

1 Like

@yvesracine Have you been able to, or are you thinking about implementing a way to increase the polling frequency of the Eb3’s status? I basically need real-time operation status updates (thermostatOperationState) so that I can have auxiliary fans activate when the HVAC system turns on. Unfortunately with the current polling frequency, the fans toggle long after the system starts/stops, and sometimes not at all if the cycle is shorter than the polling interval. I’ve reached out to Ecobee to see if they have any thoughts on making this work, but have not yet heard back from them. Your thoughts/feedback/help would be much appreciated.

I don’t think we’ll ever get to a “real time” scenario using polling. This would only be feasible if there were a push mechanism from the Ecobee cloud to SmartThings cloud.

This doesn’t seem to be a problem with my implementation. In my implementation I do all API calls from the Service Manager for exactly this reason. With this approach I can control the number of API calls, cache information and avoid unnecessary requests to the cloud. The Ecobee APIs make it very easy to query for multiple thermostats at the same time.

Now the Scheduled Events dying, however, are still a big problem. As you said, even with defensive measures it is likely that at some point the tokens will fail if the scheduler dies since it will only be luck or chance that might bring it back online if the defenses fire at just the right times.

I have attached a multipurpose sensor to pick up the vibrations. Using a smart app that I wrote, I accomplish something similar.

Polling will never be real time. Look at the terms of service on the Ecobee website.

Hi @Alex.b,

If you have any questions, please send them to as I’m not always in the forum.


When you say “re-initialize the connection” what steps are you doing to perform it? Does that mean uninstall and reinstall?

@dalec, it does not mean re-installing. It usually means re-connecting the device to ecobee by doing a re-login with your credentials.


P.S. With the latest DB and scheduler changes, the connection issues are pratically over. If you have any questions about My Ecobee Device, let me know at

See the ST community wiki for more details:

EDIT: New UI Look & Feel, refer to

The scheduler changes have not yet been rolled out by ST’s so let’s not get too far ahead of ourselves. It seems to be much better right now for many people, but there are still quite a few people having scheduler failures.


I tried installing your connect app and I’m getting the error "you are not authorized to perform the requested operation " when I try to enter my creditials to connect to ecobee3. I opened a ticket with support and they said they are aware of the problem and will let me know when it’s fixed. I was wondering if you have seen this before and maybe have a work around?.. I’m using android and have v1 hub.
Thanks for any help you can provide.

Did you enable OAuth for the application when you added it? This is the usual error when you have skipped that step. (Don’t feel bad, I often forget when I reinstall too!)

Omg… I forgot all about doing that. Thank you I will try it when I get home.

Thanks again!

You have more self control than me. I’d be firing up a browser now and going into the IDE ;o)