[RELEASE] Initial Setup for Ecobee3 & 4, Smart-SI, EMS, Smart-02 thermostats - My Ecobee Device

Thanks for your response. I completely missed those instructions somehow.

I have one ecobee 3 working great. What are steps to add a second ecoobee 3?

Hello @jdolan01, you just need to execute MyEcobeeInit and add the 2nd thermostat.

For the remote sensors, if you want to expose them to ST, you need to instantiate another ecobeeRemoteSensorInit smartapp by renaming it on the last screen.

Bye for now

Hi Yves -

Love the Ecobee3 integration! I have everything working fine, however now I’m getting an error from the Ecobee3RemoteSensorInit smart app :
MyEcobeeInit>too many exceptions/errors or unauthroized exception, api>error: unauthorized exception, not able to renew the refresh token, need to re-authenticate with ecobee, run MyEcobeeInit, press on ecobee and re-login.

So far, I’ve made sure that i’ve saved and re-published my device types and smart apps, and I’ve re-authenticated in the Ecobee Init smart app.

When I try to re-save all my settings in the Remote Sensor Init app I get “Failed to save page: Notifications”

I was able to uninstall the Remote Sensor Init app, but I get an “Unexpected Error Occurred” error when I try to uninstall the Ecobee Init app.

Any thoughts?


Hi @bostonalex,

Please follow these instructions to get more information about your issue.

  1. Get the latest version from github

My Ecobee Device type
My Ecobee Init with new notification page.

(2) Please activate live logging in the IDE, so that I can better support you.

To get all the tracing I need to correct the issue, please do the following

a) Go to https://graph.api.smartthings.com/device/list,
b) Click on My Ecobee device,
c) Edit the preferences (middle of the page)
d) Set verboseTrace to true (as long as there is a value)
e) Click Save at the bottom of the page
f) Click on https://graph.api.smartthings.com/ide/logs

(3) PM me the logs of any errors related to MyEcobeeInit, My Ecobee Device and ecobee3RemoteSensorInit (only those 3 please!)

P.S. Also, please verify that you have at least firmware v3.6 at your physical thermostat as motion sensors are not updated properly before that version. Check also that you get updated information about your motion sensors (occupied or not) at the physical thermostat or at the ecobee portal before using the smartapp.

P.S.2 You won’t be able to uninstall MyEcobeeInit if your ecobee thermostat is used in other smartapps. You need to remove your ecobee thermostat from any other smartapps before being able to uninstall MyEcobeeInit.

BTW,I don’t recommend to unstall MyEcobeeInit unless there is a major issue within your environment.


Ok, will do, I’ll have some time later this evening to continue troubleshooting.

BTW, I assume you mean to get the latest greatest at https://github.com/yracine/device-type.myecobee and not https://github.com/yracine/device-type.myecobee2?

@bostonalex,yes, the link has been corrected (bad copy and paste). Thnx.

Ok, here we go…

My Ecobee Device - Version 2.1.7

I just updated to Ecobee Init 2.0.1, I had downloaded the previous version on Saturday.

Basically what appears to be happening is that I get authenticated to Ecobee and I see my thermostat. Some time later, the App still thinks I’m logged in, but when I open the Init app and try to see my thermostat, I see the long serial number type code and not the name of my thermostat.

Confirmed running Sensor 1.1.8.

I can see both the Ecobee3 onboard sensor as well as the remote sensor from the Ecobee portal.

Ok, I wasn’t sure what you wanted trace wise, so I did a find and replace on “verboseTrace”, value: and replaced all with “verboseTrace”, true:

I’ll PM logs for Init, Sensors and my Ecobee (2ndFL Ecobee3)

I went ahead and re-authenticated to Ecobee in the Init app. When it goes away again, I’ll PM over the logs.

Sit tight…

I am having the same issue. Please let me know what you end up finding out.

@Adam_Martin, Please follow the instructions that I posted above and PM me the logs.

I haven’t received anything from bostonalex, so I assume that his ecobee issue is solved.

FYI, ST has acknowledged that there are some connection issues with their cloud-to-cloud connection to ecobee in this post:

But, there is no ETA from ST to solve this connection issue for the moment. So, you may want to try to reconnect to ecobee (re-login even if it’s said that you’re connected) from time to time using MyEcobeeInit to reset the connection between the 2 platforms.


Would this explain why I am getting random exceptions when I look at my thermostat activity feed.

I am seeing
Verbose Trace is Dorequest>Exception Java.Util.Concurrent.Timeoutexception: Execution Time Exceeded 20 App Execution Seconds

@nvanallen, you’d need to PM me more details.

How many ecobee thermostats do you have at your home? Do you have remote sensors (ecobee3) exposed to ST? Which smartapps are you using to interact with My Ecobee Device? Where is your poll interval in My EcobeeInit and ecobee3RemoteSensor if used?

This exception is related to the rate limiting set in ST. It may indicate that some smartapps are polling MyEcobee Device too often.
Bye for now.

I have two ecobee thermostats. They are the ecobee si. So no remote sensors. The smart app I am using is the Changemode smart app. I have the default polling time set up. So I guess 10 minutes. The strange thing is that everything seemed to work ok untill I updated the code for the you released for ecobee int and the ecobee device type.

I can’t remember the version i was using though :confused:
I also think ecobee is having some issues of their own. I notice in my ecobee app that one of my thermostats will go offline randomly. I do nothing and it will eventually reconnect. I have a support ticket for that. That only started happening recently too.

@nvanallen, if you updated the code recently, I’d doubt that this issue is related to the My Ecobee’s code per se, as my latest changes were made for better exception handling when connection issues arise.

Please make sure that you have the latest version of My Ecobee Device (2.1.8) & MyEcobeeInit (v2.0.1) as the smartapp will send you notifications if there are too many errors or unauthorized exceptions in the logs.


I’m also having this issue—just got my Ecobee3 and setup using Yves’ apps, etc. What’s the implications of just ignoring this error? I want to comment out the send msg code because they’re quite annoying and frequent. Just don’t know what I’ll “lose” in not re-authorizing.


If you do not want any notifications, just answer ‘no’ to the following input parameter on the last page
of MyEcobeeInit:

  • Send a push notification [y,n]

However, you won’t have any clue if your thermostat is up and running at a given time.

If you receive these notifications, I’d recommend to contact ST support as this indicates that your cloud-to-cloud connection to ecobee is not reliable, it needs to be reset.


@jk12, if you do not want to wait for ST support, I’d recommend to uninstall everything and start over from scratch.

In order to remove any device and device type, you’d need first to uninstall the smartapps (ecobeeChangeMode) and any other smartapps where you ecobee thermostat is used.


Yves- Thanks for all of your great work on Ecobee and SmartThings…

I’ve been looking into the ecobeeChangeMode SmartApp and there seems to be a problem using my Ecobee 3… Home seems to switch to Home fine, but Away has issues (when I select 2 modes) and Night mode won’t switch to the Sleep program… here are some example logs:

2f2c4167-758f-4fdd-8419-f4fc6b98647f 10:17:25 PM: debug programs: [Sleep, Home, Away]
2f2c4167-758f-4fdd-8419-f4fc6b98647f 10:16:46 PM: debug changeMode>location.mode= Home, newMode=[Away, Vacation],foundMode=false, not doing anything
0ecf0bc3-5cc7-4023-a643-49a2574037a8 10:16:38 PM: debug changeMode>location.mode= Home, newMode=[Night],foundMode=false, not doing anything
05b4d019-884b-475f-8346-16e8f269918f 10:16:32 PM: debug ecobeeChangeMode>setting the thermostat(s) to Home…
05b4d019-884b-475f-8346-16e8f269918f 10:16:31 PM: debug sending push message

And, if I could slip in a couple of feature requests:

  • it would be great if this same SmartApp could have an option to just Resume Program… the ecobeeResumeProg SmartApp doesn’t trigger based on modes, like this one does
  • generally speaking, I like using the holdType of nextTransition so the Ecobee can still maintain some control, but I’d like to be able to use Vacation mode to put it into the vacation program, which doesn’t simplistically exist in Ecobee, so at least put it into Away mode and override holdType to be indefinite in this case… (is it possible to override the holdType device preference from the SmartApp?)

I realize that my ‘feature requests’ start to look like more of an Ecobee Mode Director app, but that’s kind of what I’m trying to do with your code… thoughts?

Thanks again for all of the work you are contributing to the SmartThings community.

Hi @bgadam,

  1. Just to be sure that we’re on the same page, about the ecobeeChangeMode smartapp, please read the following (as specified in my initial post in the thread):

This smartapp sets the ecobee thermostat to ‘Away’/‘Home’ mode according to the corresponding ST hello mode changes.

So, you can define two instances of the same smartapp: one for the ‘home’ ST Hello mode that will set your ecobee thermostat to ‘Home’ when you’re back from work for example, and another one for ‘Away’ for the ‘Away’ ST hello mode when you leave your home (you’d need to rename the smartapp at the last screen).

So, basically, you need 2 instances of the same smartapp: one for ST hello Away mode and another one for the ST Hello Home mode to switch the ecobee thermostat to Home and Away…You cannot use the same smartapp instance for both ecobee program changes.

It was not designed to handle 2 ecobee program changes in the same instance. The smartapp was designed to handle a single ecobee program change (you can press the arrow on the smartapp to execute it manually anytime that way).

  1. EcobeeResumeProg can resume the ecobee schedule based on a hello mode change, see this input parameter:

    section(“Or when SmartThings’ hello home mode changes to (ex.‘Home’)[optional]”) {
    input “newMode”, “enum”, options: enumModes, multiple:true, required: false

  2. For your use case, you may want to create your own smartapp and call MyEcobeeDevice using the following syntax:

ecobee.setClimate("", “Away”, [holdType: ‘indefine’])

Or any holdType you want based on the following ecobee documentation:


Just add the right parameters in the map.

  1. By the way, if you want even more control over your ecobee thermostat in one smartapp, you should use the following smartapp:


This smartapp is a complete cooling/heating zoned solution for your home. It enables a room by room heating/cooling control and combines all the logic of ecobeeChangeMode and ecobeeResumeProg in a single smartapp (and much more!). This would probably be the ‘director’ kind of smartapp you’re looking for.

P.S. The debug trace is coherent with the behavior of the ecobeeChangeMode smartapp:

2f2c4167-758f-4fdd-8419-f4fc6b98647f 10:16:46 PM: debug changeMode>location.mode= Home, newMode=[Away, Vacation],foundMode=false, not doing anything

=> Your current ST hello mode is Home, and you want to switch to the new ecobee program only when the ST hello modes are either ‘Away’ or ‘Vacation’ (which is a custom mode that you created I suppose). So, in this case, the smartapp will not apply the ecobee program that you’ve set.

0ecf0bc3-5cc7-4023-a643-49a2574037a8 10:16:38 PM: debug changeMode>location.mode= Home, newMode=[Night],foundMode=false, not doing anything

Same rationale here.


Thanks so much for your reply @yvesracine… very helpful…

Yes, I do have multiple instances of the ecobeeChangeMode app installed… the debugging output was from running each of them manually… I did misinterpret what I was seeing… it appears that if you have the SmartApp configured with modes, that you cannot override that behavior manually by ‘pressing play’ in the SmartApp tile… it will still check that the home is in the defined mode before changing the ecobee program… I would think you’d want to allow this manual override (without checking home mode), but, no big deal… I do believe that it has been working as intended during normal operation…

I did try the EcobeeResumeProg app… I actually didn’t get to the Mode option because it was on page following the required input of a presence sensor (which I don’t prefer to use) (though using the presence from the Ecobee might be useful)… can we disable this required parameter (or will that break other logic) and move the mode option to the first page?

I will also try the ecobeeSetZoneWithSchedule app to see how it might fit my use case…

Thank you again for all of your contributions and help here… hopefully I will have a few cycles to look into this again this evening. -bA