Official Ecobee 3 Integration

I’ll email ST support later today as I’m having the same issue. I’ve already had to re-authenticate 3 times this morning. In the mean time, I’ll also try your beta device and updated smartapps Yves. Thanks for all your hard work.

Also, I noticed in the live logging that my harmony connect smartapp was attempting the action below every second. I deleted that smartapp then re-added it to take care of that problem. I don’t know if this has any bearing on the ecobee re-authentication problem but those who are have problems may what to check their live logging and report.

debug	Adding subscription	
debug	Adding callbackUrl: http://XXX.XXX.XXX:XXXX/api/harmony.automation?smartthingscb
debug	addSubscription, params: [appId:XXXXXXXX, param1:subscriptions, action: GET:executeSmartAppGet, POST:executeSmartAppPost, PUT:executeSmartAppPut, DELETE:executeSmartAppDelete, OPTIONS:executeSmartAppOptions], controller:smartAppApi], request: [attributeName:heatingSetpoint, callbackUrl:http://XXX.XXX.XXX:XXXX/api/harmony.automation?smartthingscb, deviceId:2a08f94f-fda4-42c6-9079-93ce1bc08a63]

Hi Yves, great work with the Ecobee3 integration with SmartThings.

I have one difficulty I would like your input on. I am using the ‘ecobeeChangeMode’ SmartApp to change the Ecobee3 to ‘Away’ when SmartThings changes to ‘Away’. The problem I have is that when I return home, the Ecobee3 does not return to ‘Home’ automatically when it senses motion, like it would if it had set itself into ‘Away’. I have to manually press the circled ‘x’ on the Ecobee3 to go back to ‘Home’.

I know I could use another ‘ecobeeChangeMode’ SmartApp to change the Ecobee3 to ‘Home’ when SmartThings changes to ‘Home’, but I’ve found that SmartThings can lose track of our phones even if we are home, and can cause the SmartThings mode to change to ‘Away’ then back ‘Home’, which could make the Ecobee3 go to ‘Home’ even if it should be in ‘Sleep’.

Thanks again.

HI @Bobby,

For your use case, please look into the monitorEcobeeTemp or ecobeeSetZoneWithSchedule smartapps at the ST community wiki:

Those 2 smartapps will ‘resume’ your scheduled climate at the ecobee portal based on indoor motion sensors. Otherwise, you can do it with another ecobeeChangeMode, but this will create a HOLD at your thermostat.


EDIT: This is also ecobeeResumeProg that can be used to ‘resume’ your scheduled ecobee program (i.e. Home) when you’re back home.

Please look at the configuration section under the ST community wiki:

Hi @macattack, I can confirm that the above trace is not related to my Ecobee device or smartapps code…

Thank you, yvesracine.
I updated the device type, and MyEcobeeInit smartapp to the beta versions. I hope this will work.

Thank you so much for the hard work. I really hope Samsung/ST or Ecobee buy your code

1 Like

I am just delving into the home automation arena and installed my first ST hub and a couple of z-wave outlets last week. I am slowly adding in a few components to learn how it works. Over the weekend I started to incorporate some User supported devices, a MyQ hub with two door sensors and my ecobee3 with three remote sensors (using @yvesracine device and apps). Everything installed fine and I have implemented a couple of basic rules to see how things work. I do have one nagging issue though with the ecobee3. Every few hours I am start receiving the following message, with varying number of errors:

“MyEcobeeInit> too many exceptions/errors or unauthorized exception, doRequest>exception Internal Server Error for null (8 errors), press on ‘ecobee’ and re-login.”

If I go back into the MyEcobeeInit app the login credentials are missing. After I re-login it will work again for somewhere between 1 and 12 hours before I start seeing the error messages again. I there something I can try adjusting in the configuration? Or is this just a ST/ecobee server issue?

I am seeing this behavior too. I just implemented this yesterday. However, whenever I go to the init program, it shows that I am still connected. Do we really need to reenter our creds at that point? It looks like it is still talking, but just hitting some intermittent comms interruptions?

As a matter of fact, I just got the exception two more times and opened the smartthings app and looked at the ecobee and it said my fan was running, so I opened the ecobee app and sure enough everything is the same. So I do not think it is required to keep logging in every time that exception is thrown.

Wow, Now I am getting them every few minutes… Have to turn that off for sure!

I let it go awhile this afternoon and it wouldn’t right itself. If I don’t re-login I get 2 error messages every 10 min like clockwork until I do re-login. After I logged in it was happy again.

Hi @sn0wL, @rda2w, @CheezWiz, @shellprompt,

FYI, after some testing on my end, I have observed the following facts:

(1) Before the peak of connection issues that we’re all experiencing with my custom Ecobee Device now, I had been able to correct any connection issues by re-authenticating with ecobee, and this action would “reset” the connection and any connection issues would disappear after.

(2) Now, even if I try to “reset” the connection by re-authenticating with ecobee, the connection issues stick. The only way is to uninstall the Service Manager and delete the device to create another one.

Also, since yesterday, somebody has pointed out to me that the ecobee’s access token expiration time is now expressed in seconds (not in minutes like before)…

This is a recent change that was implemented just yesterday:

The change does not explain all the connection issues in the last week, but it explains the fact that I can no longer ‘reset’ the connection with ecobee since yesterday.

There may be also more rate limiting done either on the ST or the ecobee side that I’m not aware of.

I implemented more defensive coding into My Ecobee Device, MyEcobeeInit and ecobee3RemoteSensorInit to avoid connection issues in the future.

MyEcobee device at home has been now stable for a while, and hopefully it will work also for anybody
who uses it.

Please let me know of any issues, especially with ecobee3RemoteSensorInit as I cannot test
it at home (I do not have any ecobee3’s remote sensors).

So, in order to correct their current connection issues, ST users need to

(1) Remove My Ecobee device and any ecobee3’s remote sensors from all smartapps

(2) Uninstall MyEcobeeInit, ecobee3RemoteSensorInit

(3) Get the latest MyEcobeeDevice, MyEcobeeInit and ecobee3RemoteSensorInit code at my main branch:

(4) Re-execute MyEcobeeInit and ecobee3RemoteSensorInit


Hi Yves,
Thank you for the response. I tried the ecobeeResumeProg, but it didn’t work as expected. I set the smart app to resume program when SmartThings’ hello home mode changes to ‘Home’. When my wife got home today, I saw in my notifications that the smart app had told the Ecobee3 to resume program. But when I got home, the Ecobee3 was still on hold from when it was put into ‘Away’ this morning with the ecobeeChangeMode smart app.

I looked through the Events List for the Ecobee device, and verified that the ecobeeResumeProg did run. Is there something I should be looking for as far as an error in the event list?

@Bobby, make sure to have the latest version of my code at the github as there were
some API changes on the ecobee side.

And, follow the troubleshooting’s instructions at the ST community wiki, item no 9:

P.S. I doubt that ecobeeResumeProg is the issue here, as I’ve been using it for a while (and many
other ST users). It could also be that the ST hello mode was not changed to ‘Home’ as the ST platform is sometimes flaky.

1 Like

I removed the sensors and device from the apps and uninstalled both the init apps. I was able to reinstall the My Ecobee device and run MyEcobeeInit OK. All the fields populate. However, I am unable to get the remote sensors reinstalled. I recreated the sensor types and reinstalled the new ecobee3RemoteSensorInit app. When I run it I get error after selecting my ecobee device and hitting Next. I get a blank page and the log shows:

fdf138d0-70aa-4ae1-84f9-64f77412f2ee 11:37:59 PM EST: error java.lang.ArrayIndexOutOfBoundsException: 1 @ line 95
fdf138d0-70aa-4ae1-84f9-64f77412f2ee 11:37:59 PM EST: debug selectMotionSensors>ecobeeSensors= [null]
3dd5bb93-9e3b-4a54-87e1-b14bf374fc5e 11:37:58 PM EST: error groovy.lang.MissingPropertyException: No such property: ecobeeType for class: script1449030080176665386345 @ line 2886

11:35:55 PM EST: info Waiting on events…
11:35:55 PM EST: info For past logs for individual things go to the My Devices section, find the device and click on the Events link on the device information page.
11:35:55 PM EST: info This console provides live logging of your SmartThings.

Hi @rda2w,

Please resync with the latest MyEcobee device type version at github.

Just copy&paste, save and publish.


Thanks @yvesracine everything is working again.

Hi Yves,
Thanks again for responding. I have done as you suggested, and updated the device and the code. To be safe, I deleted the device and the smart apps and have started again.

I just tested both smart apps by manually setting SmartThings to ‘Away’ then to ‘Home’. The Ecobee3 went to ‘Away’ (with hold) and then resumed program; so it seems everything is working now. I will monitor for the next few days and let you know how it works.

One side question: Is there any way for your smart app to set the Ecobee3 to ‘Away’ but not hold? It seems that would be a useful option, and would alleviate the issue I was seeing.

Thank you.

P.S. I have also been experiencing a lot of exceptions in the past 2 days.


Changing the ecobee climate will always create a Hold in all cases; this is the behavior of the thermostat, not my code.


I’m fairly sure that when the Ecobee3 uses ‘smart away’, the ‘Away’ mode is not held and resumes normal programming when motion is sensed (‘smart home’). There is no way to replicate this with a smart app?

Hi @Bobby, no there is no way to do it through the ecobee APIs that I use.


I just recently got my ST Hub v2 from the Black Friday specials and have been slowly learning more about increasing its functionality. Let me start out saying it has been so impressive to see the depth and quality of the ST development community and yours being my first I think is going to spoil me ;-). I just started the process of following your excellent step-by-step instructions and I didn’t get very far. After adding the device type and clicking on the Create button I get the following error message:

Org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: script1449203345654931363576.groovy: 28: expecting ‘)’, found ‘The serial number of your thermostat (no spaces)’ @ line 28, column 6. 26 “The serial number of your thermostat (no spaces)”) ^ 1 error

I thought maybe if I replaced the (no spaces) with my actual ecobee serial number might fix it but it didn’t. The error message now just included my serial number.

Any help would be appreciated.