[DEPRECATED] Ecobee DTH and Helper SmartApps

Great - glad to hear that solved the problem.

Update: I seem to have solved the problem. It looks like I had to login to the ecobee cloud again from the Ecobee (Connect) smartapp in the “Ecobee authorization” section. Is this required periodically?


I have been using this ecobee integration with smartapps for the past 3-4 weeks without problems, but… It suddenly is not syncing properly. When I hit “refresh” in the smartthings app, live logging in the IDE shows the following:

1d0eb675-3443-4f38-a048-8fa74bfeb557 9:51:09 PM: trace No updates…
1d0eb675-3443-4f38-a048-8fa74bfeb557 9:51:09 PM: error Auth_token refresh failed
1d0eb675-3443-4f38-a048-8fa74bfeb557 9:51:08 PM: info generateEventLocalParams() - updating API status
1d0eb675-3443-4f38-a048-8fa74bfeb557 9:51:08 PM: error refreshAuthToken() - HttpResponseException occurred. Exception info: groovyx.net.http.HttpResponseException: Bad Request StatusCode: 400
f5b5d2e8-fe85-4ea6-a5ae-6acb6baf07ea 9:51:08 PM: info refresh() - calling pollChildren
f5b5d2e8-fe85-4ea6-a5ae-6acb6baf07ea 9:51:09 PM: info Updated 1 object (95ms)

I have tried refreshing the oauth secret multiple times, but it doesn’t solve the problem.

I updated from GITHUB to ensure I am on the most recent version. The most recent line in the sourcechange log reads as follows:

  • 1.2.14- Improved handling of locations & zipodes WRT sunrise/sunset calculations

Any assistance would be greatly appreciated!


1 Like

Since you are seeing red “error” in the log, referencing bad auth token, you should try re-logging in to your Ecobee account from Ecobee (Connect). Do this even if it says you are already connected.

Also, make sure you have the latest Ecobee (Connect) and Ecobee Thermostat DTH.

Generally, no - the code almost always recovers from most error situations. But given the flakeyness of the SmartThings Cloud this week (and issues with the Ecobee Cloud last week), it is not surprising that you might need to relogin to the Ecobee cloud from time to time. Try as I may, I haven’t been able to make this 100% self-healing.

Hi Barry, very helpful context – thank you!



Been loving your DH and Smartapps for the past week or so since I’ve installed them. One feature request and one question though.

It’s minor, but I’d love to see the humidity setpoint on the main tile along with the current humidity. I just started letting my Ecobee control the humidifier and I’m trying to keep an eye on what it’s doing.

Now the question. Is there any way to turn the fan on just once for xx amount of time? I used to do this with my zwave stat and Webcore. I had a piston watch for a simulated switch to turn on, turn the fan on, wait 60 minutes and turn it off. But I’m finding when Webcore turns the fan on or off it also changes the Ecobees’s mode to a “Hold”.

Unfortunately, I have been unable to find a way to display the target setpoint in the main multiAttributeTile. I will see if I can display it somewhere in one of the smaller tiles somewhere.

This is the way that the Ecobee thermostat works - if you change anything (fan mode, thermostat mode, setpoints, etc.) the Ecobee will always set a hold. What you can do, though, is instead of calling fanOff() you can call resumeProgram() - this will return everything the scheduled program.

You can also try calling setThermostatFanMode( ‘on’, ‘holdHours’, 1) thus allowing the thermostat to handle the timing of the hold.

I’ll give that a shot!


I forgot to mention that the target humidity is recorded in the “Recently” tab of the device - any time the humidity or humidity setpoint changes, you will see a “Humidity is xx% (setpoint: yy%)” entry logged.

I’m still looking to see if/how/where to display the setpoint on the Tiles…

I’ve been looking at it in the Recently tab so far.

I finally played with my webcore piston. The “resumeProgram()” works, but I can’t figure out how to do the SetThermostatFanMode. There’s a dropdown for fan mode, but it’s either auto, on, or off. I’m just good enough to be dangerous with the new webcore. :slight_smile:

I have not used this in a while. I just went into use it and noticed that the value that sits between the up an down arrow is 0. Any idea why it is not displaying the value that you are heating or cooling to?

Android bug. In that release, I tried to hide the value altogether (didn’t used to show at all until a recent ST update). On iOS, it shows nothing, but Android insists on displaying the “0” instead .

I have a release in final stages of test that fixes this…please be patient, I should get it released over the weekend…

1 Like

I can’t figure out if the app is able to set my ecobee to vacation mode/hold when my ST goes into vacation mode? It’d be cool if we could do that since I have ST go into vacation mode automatically when I have been away for a certain amount of time. And even cooler would be to set up Stringify to check my calendar for when I would get back (using a Vacation keyword or something) and resume programming before then to get the house ready for my return. Just a pie in the sky idea. Thanks a lot for this great app!

Easy-peasy. Just be sure you are running version 1.2.9* or 1.4.*

For Vacation: Create a new Mode/Routines/Program helper. Select your Thermostat. Use type “Ecobee Program”, then select “Vacation” from the list of Ecobee programs on your thermostat. Then select the Routine or Mode you want SmartThings to run (I use a routine “Gone Fishin’” that sets the mode to Vacation and makes sure all the things I want off or locked are set so).

For the return, you could write an app that cancels the vacation (using SmartThings, WebCoRE or Stringify) - you just need to call “.cancelVacation()”. This will cancel the currently running vacation (if any), and your thermostat will return to normally scheduled programs. I use a different approach: I have an IFTTT applet that turns on a virtual switch when I get about 5 miles from home, and a Routine that runs when that switch is turned on (“Almost Home!”). Then a Routine Helper App that cancels the vacation and sets the thermostat to Home (leaving ST Mode alone - that gets changed once I actually get home).

Lots of flexibility, as this was my original motivator to extend this Free, Open Sourse Suite in the first place.


1 Like

Actually, I was wanting to do the opposite. Have the ST mode cause the ecobee to go into a vacation hold with a certain temperature setting. That sounds like you are having the ecobee hold cause a ST routine to run.

Try it out - the Routines/Modes/Programs handler can work both ways…the thermostat can drive SmartThings, or SmartThings can drive the thermostat.

I ended up creating an Ecobee “Vacation” Comfort Setting that I switch to when SmartThings goes into Vacation mode. I understand the app works by creating a Hold at that setting. So it ends up being a standard Hold at a “Vacation” comfort setting. It’s not a true Vacation Hold as Ecobee calls it since it doesnt have a start and end date (I think a new Vacation Hold type would have to be added to the “Hold Type” setting in the SmartApp). But that’s understandable without a way to tell it those dates. Anyway, this will work just fine. Thanks!

Also, FYI I wrote another helper SmartApp that automatically sets the themostat mode (heal, cool, auto) based on adjustable outside temperature thresholds. Working well. Thanks for this DTH and other helper apps.

1 Like

I just noticed you got this in the latest version! TY!

1 Like

So I had an issue yesterday that some weird things were happening so I tried deleting and reinstalling the device handler/smart app. When i reinstalled it wouldn’t reconnect to ecobee…after a lot of digging it turned out there was an issue on the smartthings end as it was affecting ecobee connect etc too. Today I managed to reconnect to ecobee but I am unable to set up a circulation program. When i click the thermostat to use it briefly flashes up with “done” or “save” in the top right, then the screen goes blank. This does not happen with any other handler just the circulations one…any ideas?

Please be sure you are using the latest version, as the one discussed here is no longer being supported. You can find the new one here, and if you still have problems, please report them in this thread: [RELEASE] Updated Ecobee Suite, v1.4.0 (Free)