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

I started having an issue with the app receiving temperature updates from the thermostats although the app indicated it was connected to the Ecobee servers. Now I can not add the thermostats back (see the error below). I am not sure if it is related to the recent platform update of the app update. I'm on the latest announced version of the Ecobee Suite apps and version 2.1.3.120 of the Hubitat software. When I go through the process to reinitialize the connection with Ecobee if gives me the screen to choose thermostats but it doesn't display any and eventually gives me the error shown in the screenshot. Any thoughts?

Here's a bit of the log file:

app:1612019-07-27 17:47:06.661 errorjava.lang.NullPointerException: Cannot invoke method size() on null object on line 5713 (refreshAuthToken)

app:1612019-07-27 17:47:06.415 errorapiLost() - Too many retries (5) for token refresh.: Lost connection with APIs. unscheduling Polling and refreshAuthToken. User MUST reintialize the connection with Ecobee by running Ecobee Suite Manager App and logging in again

app:1612019-07-27 17:47:06.249 errorrefreshAuthToken() - HttpResponseException occurred. Exception info: groovyx.net.http.HttpResponseException: Bad Request StatusCode: 400

app:1612019-07-27 17:46:50.740 infoUpdating API status with [apiConnected:full, lastPoll:Succeeded]

app:1612019-07-27 17:46:50.545 errorrefreshAuthToken() - HttpResponseException occurred. Exception info: groovyx.net.http.HttpResponseException: Bad Request StatusCode: 400

app:1612019-07-27 17:46:35.047 infoUpdating API status with [apiConnected:full, lastPoll:Succeeded]

app:1612019-07-27 17:46:34.802 errorrefreshAuthToken() - HttpResponseException occurred. Exception info: groovyx.net.http.HttpResponseException: Bad Request StatusCode: 400

app:1612019-07-27 17:46:19.146 infoUpdating API status with [apiConnected:full, lastPoll:Succeeded]

app:1612019-07-27 17:46:18.924 errorrefreshAuthToken() - HttpResponseException occurred. Exception info: groovyx.net.http.HttpResponseException: Bad Request StatusCode: 400

app:1612019-07-27 17:46:09.751 debugEcobee Suite Manager, version 1.7.29 on Hubitat - initialization complete

app:1612019-07-27 17:46:07.788 warnReady to delete these devices: [EcobeeSensor: null, EcobeeSensor: null, EcobeeSensor: null, EcobeeSensor: null, EcobeeSensor: null, EcobeeSensor: null]

app:1612019-07-27 17:46:03.115 infoUpdating API status with [apiConnected:full, lastPoll:Succeeded]

app:1612019-07-27 17:46:02.893 errorrefreshAuthToken() - HttpResponseException occurred. Exception info: groovyx.net.http.HttpResponseException: Bad Request StatusCode: 400

app:1612019-07-27 17:46:02.343 error___exception getEcobeeThermostats(): groovyx.net.http.HttpResponseException: Internal Server Error

app:1612019-07-27 17:46:01.972 trace====> getEcobeeThermostats() entered

app:1612019-07-27 17:46:01.862 infoUpdating API status with [apiConnected:full, lastPoll:Succeeded]

app:1612019-07-27 17:46:01.593 errorrefreshAuthToken() - HttpResponseException occurred. Exception info: groovyx.net.http.HttpResponseException: Bad Request StatusCode: 400

app:1612019-07-27 17:46:00.860 error___exception getEcobeeThermostats(): groovyx.net.http.HttpResponseException: Internal Server Error

app:1612019-07-27 17:45:59.752 trace====> getEcobeeThermostats() entered

app:1612019-07-27 17:45:59.428 infoGot valid sunrise/set data: [sunrise:Sat Jul 27 05:52:00 CDT 2019, sunset:Sat Jul 27 20:41:00 CDT 2019]

app:1612019-07-27 17:45:59.401 infoTrying to get sunrise/set using postal code '55992'

app:1612019-07-27 17:45:58.009 warnpollChildren() - Nothing to poll as there are no thermostats currently selected

Not sure what you did to get rid of your thermostats, but it looks like you will need to completely uninstall and then re-install Ecobee Suite Manager...

EDIT: it's fixed now, all I had to do was remove and reinstall it from apps, I didn't need to do anything with the files. I have learned a lesson that I am sure others have learned already and have ordered a Zigbee temp/humidity sensor to use with the rules that were tied to temperature changes of the Ecobee's. That way those readings are kept local and I'm not dependent on a cloud connection. Thanks for the help!


Thanks for the reply, it's weird. So for a complete uninstall do I remove it from Apps and then delete the app and driver code and reinstall it from scratch? I just want to make sure I do it correctly.

I am not sure if this is related or is a contributor to your issues, but Ecobee's servers were down yesterday and some the day before. I noticed that my 5 sensors were not reporting correctly on Hubitat. Also Hubitat couldn't see my thermostat state or values. I went to the Ecobee app on my iPhone and it could not reach the servers either. There were many people around the country reporting Ecobee outages on downdetector. Since the Ecobee cloud servers were down, Hubitat's values for those devices were "stuck". It appeared to clear up yesterday afternoon. I had an A/C guy here working on my unit and it drove me crazy not being able to monitor the temps correctly. Just another premise for locally controlled devices.

1 Like

Thanks, that may have been it - along with bad timing for me updating the system. I agree, a good reminder as to why I switched to Hubitat, local control.

No, for a complete uninstall, I wouldn't remove the files in Apps Code or Driver's code - just get rid of all the actual devices (first), the delete any Helper apps you may have instantiated, then finally delte Ecobee Suite Manager. Then create a new ESM, and rebuild from there.

Ecobee weather is very flakey, and generally the data is from miles away from your location. Best bet is a separate temp/humidity sensor placed outdoors - if you're not interested in setting up your own local weather station (:slight_smile: ).

Looks like you're all back in business....

2 Likes

Yep, it's working now. I am using it for the interior temp readings to control an outlet for a window AC unit and that works well when the Ecobee's are talking but I've learned my lesson, I'm getting a Zigbee multi-sensor for the temperature readings for that rule.

See the link below if anyone is interested:

I'm excited to be moving this last piece from ST to my HE. Thanks for your continued work on this excellent suite!

I noticed a bug that I'd like to report:
Thermal Comfort 1.7.13: The notification configuration doesn't show up. This bug actually broke my configured helpers in ST as well, preventing me from accessing their configuration screens.

Fix posted (for both platforms) - formal announcement momentarily...

1 Like

Ecobee Suite Updates posted on 2 August 2019 at 11:10am EDT

Two fixes posted:

  • Ecobee Suite Smart Mode, version 1.7.17
    • On SmartThings only, wasn't properly updating the appLabel (wasn't clearing old context when it wasn't (paused)
  • Ecobee Suite Thermal Comfort, version 1.7.14
    • Wasn't displaying Notifications options for new or existing instances

These fixes are highly recommended for all users of these two Helpers

3 Likes

Been running for two weeks with the Ecobee Suite and then today I got the following messages in my log:

I wonder if the folks at Ecobee are doing something strange on their end?

If this persists, and if you can still control the stat using the Ecobee web app, then you should try logging in from Ecobee Suite Manager again.

It only happened twice yesterday. Been clear since about 1;00 pm CDT. I don't try to control the Ecobee from Hubitat I use Ecobee as a source for rules for occupancy, modes, etc. Thanks Barry.

If it only happens occasionally, then it's no big deal - sometime things time out in the Internet and return no data. Usually, ES will recover from these within a few cycles - you won't notice unless you are watching Live Logging...

Thanks very much for creating this! New to the hubitat game and had no difficulty setting things up.

One unsolicited request for further development would be a much shorter polling time for switch+ on/off states if possible. I'm hoping to use the switch+ to control an overhead light via a Bond Home bridge with relative speed. This works through current polling options in the app or ifttt, but at speeds which aren't feasible for everyday application.

I could be missing something here and such a thing may or may not be viable, but it would certainly be a big improvement for me if so.

Ecobee generally limits polling time to once every 3 minutes, but the techniques used in Ecobee Suite are able to get this down to once every 60 seconds. There is no way to poll Ecobee any faster without them actually blocking you outright, so you will need to look for some other alternative than Ecobee thermostats if you need a faster response time.

You might be able to get faster reaction times using Apple Homekit’s Ecobee support - rumor is that a HomeKit server has direct local access to the thermostat, via an api not made public (at least not yet).

If you find something that work, please let us know - it is probably the most requested feature.

I really wish they would extend the API to the physical thermostat in addition their web API. I have requested that feature from them before. Since the thermostat already has the information it would lighten the load on the Ecobee API servers in the cloud for people that have local hubs and automation.

Even better would be allowing Ecobee events to be streamed to the local hub like they stream to their servers. But one can wish.

There's a typo in the current version of Open Contacts. On line 427 it is 'tmpThermSaveState', when it should be 'tmpThermSavedState'

It also looks like there's an unconditional log message in Open Contacts on line 1,034

Thanks, @morse.caleb - good catch on the typo.

The second item you report is in fact intentional - that's where the actual logging happens when LOG() is called...

Fix coming momentarily...