*** No longer supported *** [RELEASE] Resilient My Ecobee Devices and ecosystem V6- migrated to custom capabilities & automation (presence, comfort settings, and more)!

Yves,

Thanks for the changes. I’ve got it all set up now and tested and it seems to be working correctly.

I have one additional issue now and I’m wondering how folks handle it:

  1. I have one use of the ChangeMode smartapp that is executed when I go to bed that puts the thermostat in “Sleep” mode.

  2. I (now) have another use of ChangeMode that is executed via the switch and puts the thermostat into “Away” mode.

For the first case, I had previously set the preferences for the Ecobees’ “holdType” to “nextTransition” so that the normally scheduled “morning” routine on the Ecobee disables the “Sleep” mode change from the night before.

For the second case, having that same preference setting means the thermostat is in “Away” mode until the next transition, which isn’t really what I want (in that case, I want the holdType to be “Indefinite”)

Is there some way to change the holdType based on an instance of the ChangeMode app? So that the one that changes to Sleep could be “nextTransition” but the one for Away could be “indefinite”?

Not a huge deal since I only have two transitions per day (early morning, late night) and my “Away” in intended for day trips, but if we’re “away” for multiple days, I’d like it to not switching back to the normal schedule at the next transition, if possible.

Thanks,
paul

Hi @phlepper ,

To apply some custom logic, you may want to use Webcore and call different methods exposed by MyEcobee device.

Refer to the ST community wiki for more details about the holdType options:

https://thingsthataresmart.wiki/index.php?title=My_Ecobee_Device#Item_3b.29_Set_up_the_holdType_parameter

  1. For example, you can use the setHoldWithHoldType() method.

Here is the signature and some examples below.

void setHoldWithHoldType(thermostatId, coolingSetPoint, heatingSetPoint, fanMode, holdType, holdHours=null, startDate=null, startTime=null, endDate=null, endTime=null)

// example1: device.setHoldWithHoldType(’’,27.5,17.5,null,‘indefinite’) // to set an indefinite hold with coolingSetpoint=27.5, heatingSetpoint=17.5 on current thermostat
// example2: device.setHoldWithHoldType(’’,27.5,17.5,null,‘holdHours’,2) // to set an holdHours of 2 hours with coolingSetpoint=27.5, heatingSetpoint=17.5 on current thermostat
// example3: device.setHoldWithHoldType(’’,28.5,16.5,null,‘dateTime’, null,‘2018-07-11’,‘16:28:00’) // to set a “dateTime” holdType with coolingSetpoint=28.5, heatingSetpoint=16.5 starting on 2018-07-28 at 16:28 and ending in 2035-01-01

  1. You can also use the setClimateWithHoldType() method to set a given comfort settings with a different holdType of your choice.

Here is the signature and some examples below:

void setClimateWithHoldType(thermostatId, climateName, holdType, holdHours=null, startDate=null, startTime=null, endDate=null, endTime=null)

// example1: device.setClimateWithHoldType(’’,‘Away’,‘indefinite’) // to set an indefinite Away hold on current thermostat
// example2: device.setClimateWithHoldType(’’,‘Away’,‘holdHours’,2) // to set an Away holdHours of 2 hours on current thermostat
// example3: device.setClimateWithHoldType(’’,‘Away’,‘dateTime’, null,‘2018-07-11’,‘16:28:00’) // to set a “dateTime” Away holdType starting on 2018-07-28 at 16:28 and ending in 2035-01-01

By using a custom rule engine like Webcore, the possibilities are endless.

There are more than 90 methods exposed in MyEcobee device for custom logic.

Here is the list of methods, capabilities and attributes:

https://thingsthataresmart.wiki/index.php?title=My_Ecobee_Device#Information

Regards.

I have been using My Ecobee Device for a couple years now and it has been great. I have it change the Ecobee to Home/Away/Sleep mode based on my SmartThings mode. Ex. When ST changes to “Home” so does Ecobee, and same for sleep and away. However in the last 2 days it has stopped working. There are no changes to the Ecobee mode even though ST says it has made the change. I had not made any changes at all to my ST setup before this issue arose. This morning I downloaded the purchased ZIP file again to get the most recent versions of everything. However this did not solve the problem. I re-ran the Ecobee initialize app and still nothing.

What further information can I provide to help me locate the issue? Hoping to get this resolved as quickly as can be.

Thanks!

Hi,

Typically, SmartThings has some platform issues from time to time and we’re not aware of it: it could be the way they manage their pool of connections to ecobee, their scheduling or something else. I don’t have much visibility on how they manage their side of things.

Ecobee servers are also sometimes down from time to time, but we have more visibility by checking status.ecobee.com. They are pretty good at reporting any service issues.

I’d recommend to go under Automation/Smartapps in the ST classic app and click on MyEcobeeInit (Service Manager) to re-login at ecobee using your ecobee credentials (username/password). That should resolve your connection issues.

For more information, refer to the ST community wiki:
https://thingsthataresmart.wiki/index.php?title=My_Ecobee_Device#Issue_.236:_My_Ecobee_device_is_no_longer_authorized_to_send_requests_to_ecobee

At the end of the section in the wiki, it is described how to enable some scheduling watchdogs that could prevent any ST scheduling issues…

Also, another thing: if you had a previous version of MyEcobeeInit before V4 (as you haven’t updated for a while), then you’d need to do more than an update of the code as the ecobee tokens have changed since V4. This is indicated in the release notes: You’d need to restart from scratch and re-create your ecobee devices. To facilitate the migration from the old to the new devices, you can create first the new devices, re-select the new in all your smartapps & routines, and then after, remove the old devices by clicking ‘remove’ in the old MyEcobeeInit instance. Under ST, you cannot delete any devices that are selected in automations.

P.S. If you’re still experiencing some issues after the 2 steps above, then I’d need your logs from the IDE, please refer to

https://thingsthataresmart.wiki/index.php?title=My_Ecobee_Device#Issue_.239:_I_want_to_get_more_tracing_in_the_IDE

And send me some logs at services@maisonsecomatiq.com.

Regards.

Thanks for the information. I had re-run the MyEcobeeInit already, however as the text was blue I did not attempt to re login. I have did that and we appear to be functioning again. Thanks again for the advice and all the hard work.

As indicated in my post below, you may want to set some watchdogs to prevent any ST scheduling issues. Refer to the ST community (link above) for details.

Hi @yvesracine, can you help me troubleshoot the following error?

Thanks for your assistance!

Hi @nmax, I’ve closed the issue as this is not related to my code per se.

As indicated at my github for your issue (and in the installation pdf file included in the zip), you need to follow the instructions in the README at my github (specifically the ones in the prerequisites about installing the code in the right shard, and the “save” & “PUBLISH” instructions). Please use a PC (not a tablet) as it seems that you’re not doing the copy & paste of the code correctly hence the errors.

Also, please note that MyEcobeeInit is a service manager that should be installed under My Smartapps in the IDE, and My Ecobee is a DTH that needs to be saved under My Device Handlers in the IDE.

If it’s the 1st time that you do a custom DTH installation, please refer to the screenshots at the ST community wiki:
https://thingsthataresmart.wiki/index.php?title=My_Ecobee_Init#Troubleshooting

Regards.

Hi @yvesracine, I noticed recently that My Ecobee Device was not connecting to my ecobee account. I went in through MyEcobeeInit in the SmartThings app and it said “ecobee Connection> Required” in red, but when I enter my ecobee credentials I get the following error message:

{“error”:true,“type”:“java.lang.reflect.UndeclaredThrowableException”,“message”:“An unexpected error occurred.”}

This is not the same error message as with the OAuth configuration issue, and OAuth is enabled. I am entering the credentials correctly and I can log in to my ecobee account without issue. Interestingly, despite the error message, “SmartThings” is added to the My Apps list in ecobee whenever I try to re-enter credentials, but when I go back to the MyEcobeeInit app under Marketplace My Apps it still says “ecobee Connection> Required” in red.

I tried updating to the latest versions for My Ecobee Device (5.9.9z) and MyEcobeeInit (4.1c), but still have the same issue. I’ve deleted all of my ecobee devices in SmartThings but that hasn’t helped. I’ve deleted the Ecobee (Connect) SmartApp in case there was a conflict there and that hasn’t helped. I believe I’ve done everything correctly in your setup instructions. Any ideas for solving this issue?

Thanks in advance!

Hello @yvesracine, I am having the same issue @markc1 noted above. I also noticed My Ecobee Device was not refreshing a few days ago, and I have the same errors when trying to authenticate through MyEcobeeInit. It’s happened over the last few days - was able to connect again once, then it wouldn’t refresh again, and now I can’t connect to the account at all.

I’ve also deleted both the smart apps for MyEcobeeInit and ecobeeRemoteSensorInit (everything is set up on the appropriate shard) and tried reinstalling through the classic app, and still can’t seem to connect.

Any guidance would be greatly appreciated!

Hi, this issue is sporadic from user to user. Please report the authorization issue to ecobee support (support@ecobee.com) and potentially to SmartThings support as well (support@SmartThings.com)

For most of my support user account base I have tested, and so far, everything works normally which indicates to me that this a localized issue. If more users report the error, it’s more likely the fix will happen quickly.

However, you’d need to wait till the authorization issue has been fixed between the 2 companies above as the code is not at fault here.

For ecobee users under ST, don’t try to re-login using the APIs at the moment as this is not required if you don’t have any token issue.

P. S. The ecobee app doesn’t use the ecobee APIs hence the fact that you can login with the ecobee app.

Regards

The error is the result of a hidden character that appears in MyEcobeeDevice.txt. The first character in that file is a Zero Width No-Break Space (U+FEFF, a.k.a. Byte-Order-Mark), which the ST Device Handler interface fails to ignore.

Users can circumvent the issue by removing the hidden character with an editor capable of displaying non-printable unicode characters, or by simply deleting the comments at the top of MyEcobeeDevice.txt.

Sorry, but this is not related at all with the authorization issue. This is a global issue related to the cloud to cloud integration between ST and ecobee.

Your specific compilation issue with the extra character is not related in any way to the Auth tokens provided by ecobee.

Yes, @yvesracine the note I made here is is unrelated to any Auth token issue but instead to the MyEcobee device handler code (described here). I do wish threaded replies were possible in this forum.

The Init app authorized just fine for me, and so far has continued to poll on a default interval with 100% success.

Hey again @yvesracine - I have reported the issue to both parties as advised. To your points, I can’t currently connect through Smartthings built-in Smartapp / connector for the Ecobee 3 (my unit) either, so makes sense about a general authorization issue.

Appreciate the help!

Just removed the stock integration and installed Yves’s app and I see the same authentication issue.

Hey all, as also noted in another forum thread, what appears to be happening is that the official SmartThings native Ecobee Connect is failing with a “too many requests error” - visible in live logging. It seems to be limited to users on the graph-na04-useast2 shard (I’m on this one).

I’ve sent a ticket to Samsung and an email to Ecobee as well., and encourage any others experiencing this to do so as well!

Updated - connection issue seems to be fixed for me now (on useast shard).

1 Like

Thank you very much for reporting the problem and posting updates. I had a similar authentication problem that is now fixed.

For some reason I got this notification from Smartthings App:“MonitorAndSetEcobeeTemp>too many exception/errors or unauthorized exception, null (21 errors), may need to re-authenticate at ecobee…”