[RELEASE] Universal Ecobee Suite, version 1.7.**



I am pleased to announce the General Availability of my Universal Ecobee Suite, version 1.7.**,

The latest updates were posted on 2 August 2019 at 11:10am EDT Click here for info on this update.

Now supporting demandResponse events!

What makes it "Universal" you ask?

Well, to my knowledge, this is the first and only Ecobee integration that runs on both Hubitat and SmartThings! I've managed to create a single code base that delivers near 100% identical capabilities for both hub platforms!

Beginning with this release, I'm not going to try to cover all the new features and capabilities here in the Community. Instead I'll ask that you visit my GitHuB repository and find the What's New section of the updated README.md that you'll find there.

But just as a teaser, release 1.7.00 brings some neat new capabilities, including:

  • New Thermal Comfort Helper that will actively adjust your setpoints based on the scientific concept of optimizing your environment's temperature based on humidity, clothing, activity and personal preference. Thanks to @richardpeng for this one...
  • New Working From Home Helper that will automatically override your "Away" program if anyone is still home after a specified time of day;
  • Updated Smart Modes/Routines/Switches/Programs Helper, that now supports initiating actions based on a (virtual) switch, and/or adds the ability to turn on/off switches as part of the Actions;
  • New Notifications features, fully integrated with Hubitat's extensible notifications capability
  • Code-based authentication, doesn't require the cumbersome user-PIN of the prior (third party) port

For the rest of the details, please visit my updated repository at:

[BETA COMPLETE] Universal Ecobee Suite for Hubitat & SmartThings (Free)
Why does Ecobee Integration app keep losing its authentication in Hubitat?
Ecobee - Anyone actually using it?
Migrating from Wink Hub 2 to Hubitat
Ecobee - Anyone actually using it?
[BETA COMPLETE] Universal Ecobee Suite for Hubitat & SmartThings (Free)
Moving on From Wink 2 to Smaller and Better Hubitat
Ecobee Integration
[BETA COMPLETE] Universal Ecobee Suite for Hubitat & SmartThings (Free)

ecobee-suite-routines.groovy updated to 1.7.01



Are you sure you pushed? All my versions still say 1.7.00


i'm getting lots of groovy errors. this happened when I switched to away mode.


You need to switch over to the master - you're probably still linked to the universal-dev fork.


I need to know what app is generating which errors.

What are

  • app: 162
  • app: 293
  • app: 301
  • app: 295


i copied all the links from the readme in the hubitat section.

162 is hubconnect/homebridge, which is also being flakey.

the other 3 are all ecobee suite mode/switches/program helper apps.


Ok. On the latest version. Left the house.

[app:3534]( 01:12:55.585 pm[error]( No signature of method: java.util.ArrayList.toLowerCase() is applicable for argument types: () values: [] on line 504 (changeProgramHandler)

[app:3534]( 01:12:55.395 pm[debug]( name received (in lowercase): away and current expected: [Away]

[app:3534]( 01:12:55.093 pm[debug]( entered with evt: mode: Away


Can you please:

  1. Start Live Logging, watching Ecobee Suite Manager
  2. Re-authenticate using Ecobee Suite Manager
  3. Re-select your thermostats and sensors in Ecobee Suite Manager
  4. PM to me the Ecobee Suite Manager Live Log



It’s getting worse I’m getting an error when I try to re-authenticate now. So I remove the entire app altogether reinstalled it and this is what I get when I type in my username and password after hitting accept.


It looks like something really got hosed with your installation, as it appears to me that other users have been able to complete the installation since this morning.

Where are you located? Are you sure that the Ecobee Servers your thermostat(s) connect to are running - can you access the thermostats from the Ecobee Web Portal?

Can you please try:

  1. Remove Ecobee Suite Manager (from within the app)
  2. Delete ALL the Ecobee Suite applications and drivers from their respective pages
  3. Reboot your Hubitat
  4. Redo the installation from the top


I haven't forgotten about you @JDogg016 - the error you found has exposed a rather complex issue that I'm working to resolve...


Nope. I did everything you said. I even removed the Code from the Drivers and the Apps Sections. Reinstalled them, rebooted and I still receive the same response.


Here are the logs:

 app:36822019-05-18 06:19:56.541 pm traceauthPage() --> Valid OAuth token (biQYM8rmNaFG1iuaeJGTUclo0H8iekcR)
app:36822019-05-18 06:19:56.524 pm debugoauthInitUrl -  location: https://api.ecobee.com/authorize?client_id=NOpc6i5ooiLLi1VPtVlJ0uv9Nh5cCfcc&redirect_uri=https%3A%2F%2Fcloud.hubitat.com%2Foauth%2Fstateredirect&response_type=code&scope=smartRead%2CsmartWrite%2Cems&state=b75fcdcc-9dfb-4b73-9e88-3ff03aca524e%2Fapps%2F3682%2Fcallback%3Faccess_token%3Da7777194-4c12-4c31-820e-8ef15476c94d
app:36822019-05-18 06:19:56.444 pm debugoauthInitUrl with callback: https://cloud.hubitat.com/oauth/stateredirect
app:36822019-05-18 06:19:56.348 pm debugaccessToken: a7777194-4c12-4c31-820e-8ef15476c94d, a7777194-4c12-4c31-820e-8ef15476c94d
app:36822019-05-18 06:19:56.333 pm traceauthPage() --> Begin
app:36822019-05-18 06:19:24.003 pm debugswapped token: [access_token:biQYM8rmNaFG1iuaeJGTUclo0H8iekcR, token_type:Bearer, expires_in:3599, refresh_token:onrq3o1U9ZOMZPM45QJBAT42GBL4FDY4, scope:smartRead,smartWrite,ems]; atomicState.refreshToken: onrq3o1U9ZOMZPM45QJBAT42GBL4FDY4; atomicState.authToken: biQYM8rmNaFG1iuaeJGTUclo0H8iekcR
app:36822019-05-18 06:19:23.912 pm debugExpires in 3599 seconds
app:36822019-05-18 06:19:23.035 pm debugcallback()-->tokenURL: https://api.ecobee.com/token?client_id=NOpc6i5ooiLLi1VPtVlJ0uv9Nh5cCfcc&code=e69AMPpyxzBNTFLzx7N2o30GDT654SEX&grant_type=authorization_code&redirect_uri=https%3A%2F%2Fcloud.hubitat.com%2Foauth%2Fstateredirect&state=b75fcdcc-9dfb-4b73-9e88-3ff03aca524e%2Fapps%2F3682%2Fcallback%3Faccess_token%3Da7777194-4c12-4c31-820e-8ef15476c94d
app:36822019-05-18 06:19:22.974 pm debugcallback() --> States matched!
app:36822019-05-18 06:19:22.969 pm debugcallback()>> params: [access_token:a7777194-4c12-4c31-820e-8ef15476c94d, code:e69AMPpyxzBNTFLzx7N2o30GDT654SEX, state:b75fcdcc-9dfb-4b73-9e88-3ff03aca524e/apps/3682/callback?access_token=a7777194-4c12-4c31-820e-8ef15476c94d], params.code e69AMPpyxzBNTFLzx7N2o30GDT654SEX, params.state b75fcdcc-9dfb-4b73-9e88-3ff03aca524e/apps/3682/callback?access_token=a7777194-4c12-4c31-820e-8ef15476c94d, atomicState.oauthInitState b75fcdcc-9dfb-4b73-9e88-3ff03aca524e/apps/3682/callback?access_token=a7777194-4c12-4c31-820e-8ef15476c94d
app:36822019-05-18 06:19:03.756 pm infoauthPage() --> RedirectUrl = https://api.ecobee.com/authorize?client_id=NOpc6i5ooiLLi1VPtVlJ0uv9Nh5cCfcc&redirect_uri=https%3A%2F%2Fcloud.hubitat.com%2Foauth%2Fstateredirect&response_type=code&scope=smartRead%2CsmartWrite%2Cems&state=b75fcdcc-9dfb-4b73-9e88-3ff03aca524e%2Fapps%2F3682%2Fcallback%3Faccess_token%3Da7777194-4c12-4c31-820e-8ef15476c94d
app:36822019-05-18 06:19:03.745 pm traceauthPage() --> Valid HE OAuth Access token (a7777194-4c12-4c31-820e-8ef15476c94d), need Ecobee OAuth token
app:36822019-05-18 06:19:03.719 pm debugoauthInitUrl -  location: https://api.ecobee.com/authorize?client_id=NOpc6i5ooiLLi1VPtVlJ0uv9Nh5cCfcc&redirect_uri=https%3A%2F%2Fcloud.hubitat.com%2Foauth%2Fstateredirect&response_type=code&scope=smartRead%2CsmartWrite%2Cems&state=b75fcdcc-9dfb-4b73-9e88-3ff03aca524e%2Fapps%2F3682%2Fcallback%3Faccess_token%3Da7777194-4c12-4c31-820e-8ef15476c94d
app:36822019-05-18 06:19:03.483 pm debugoauthInitUrl with callback: https://cloud.hubitat.com/oauth/stateredirect
app:36822019-05-18 06:19:03.319 pm debugaccessToken: null, null
app:36822019-05-18 06:19:03.309 pm traceauthPage() --> Begin
app:36822019-05-18 06:18:59.813 pm debugdevice handlers = true
app:36822019-05-18 06:18:30.357 pm debugtesting for device handlers


Yes - you're broken until I post new code. The uninstall/reinstall was for intended for @jrau272 - I messed up my responses.

Hang tight - almost there (I think).


i’m actually getting the same error on authentication as @JDogg016. it happened the first time I signed in too now that I think about it, but then everything seemed to work anyway. I just tried to re-auth and that 500 error came up.


Yes, I am able to select my thermostats and control them so I think the β€˜500’ error is a bit of a red herring.


Everybody hang tight - I'll be posting updates to a lot of files soon to clean up MOST of the reported errors. I just have to finish coding around the fact that Hubitat reads currentValue from a cache and thus misses updates. Fortunately the fix is simple: (device.currentValue(attributeName, **true**), I just have to add a mountain of isST/isHE checks...


Universal Ecobee Suite Updates posted 19 May 2019 at 3:45pm

Spent a lot of time squashing bugs across the Suite, mostly related to data type handling in the Thermostat device. In the process, learned that Hubitat caches sendEvent data where SmartThings always returns the latest value. Fortunately, the fix is straightfoward, but it was tedious to catch all the possible escapes.

I also optimized the way data is being written to atomicState variables, which should both significantly reduce the writes sent to the backing store (state/atomicState). This will improve both performance and the longevity of the Flash storage on Hubitat.

Most (but not all) of the files where updated, so I advise just re-importing everything from the master repository at GitHub - SANdood/Ecobee-Suite: Universal Suite for integrating Ecobee thermostats & sensors with Hubitat and SmartThings home automation platforms (Free!).


@jrau272 & @JDogg016

I'm not quite sure what has been causing your login/authentication issues. I just posted an update that might help, but I can't be sure.

I have tried to recreate your problems, but I am able to re-authenticate without issue. There may be a big of confusion when you get to the page that says you're connected - I think it says "close this page and Click Done". For me, once I closed the page, I had to get back to the Hubitat Console page, and then re-run Ecobee Suite Manager. Clicked on "Ecobee API Authorization", then clicked "Next" and then finally "Done". Then when I re-enter Ecobee Suite Manager, everything works as it is supposed to.

Now that I'm done bug-killing, I'll be more readily available to work with both of you to get things running...my apologies for the delay and the frustration I am sure you have been experiencing.