My new Ecobee Device (disconnection issues are resolved)

Yves,

I am happy to report that the last batch of code you sent me has reached a milestone for me, I am getting close to 48 hours without a token loss, so I think you might be on to something with your last line of reasoning. I think it is a matter of finding a happy medium for those of us on cruddy servers vs. maximum feature set for those on good ones. (I don’t want to jinx it so I am knocking on wood here!) I am still only polling with pollster once per hour. Perhaps tomorrow I will increase frequency to stress things a bit if you would like.

Speaking of pollster, there’s another donation I need to go and make since I foresee myself using it in the future.

@CheezWiz, I’m slowly making some progress with the version 3.8.4 that I want to distribute to all as soon as I get some positive feedback from my beta tester with 6 ecobee3 at his home.

The main problem is that it’s like walking in a dark room without any lights, you have to make slow moves and one direction can be towards light or total darkness.

I need more time to test it at different locations… I want to add the remote sensors code as well as soon as I can. In fact, at one location, it is already running with good results, but I want to be certain that it works well before sending my mass email to all contributors.

In any cases, my code won’t be perfect without some ST-ecobee changes in the backend, but I want to provide several days (or even weeks hopefully one day) without connection issues ultimately.

I want to thank John C, Greg W, and Justin J. (I didn’t get their permissions to reveal their full names at this point), they have been very good beta testers; very patient during all these countless days of beta testing.

Regards.

3 Likes

Upon further reflection I feel like my own contributions to this thread haven’t exactly been helpful. I really do think you’ve done a service to the community here, and I don’t want to make it sound like charging for your time is a bad idea. I also think $15 is a reasonable price, so instead of complaining I’ve instead bought the software, comfortable in the knowledge that you’re working with ST to resolve outstanding issues with the device.

I would ask one thing in return: take it easy on the dissenters. They have a voice here too, and if things get toxic the mods can deal with it. When it’s a free and open source SmartApp, community complaints ring a little hollow and they don’t add much to the conversation. However you’ve now stepped into the world of commercial software, and along with that comes higher expectations (some reasonable, some not). Either way people need a voice, this is the thread where they get to express it, and as you well know you can’t please everyone every time.

Thanks again for your hard work @yvesracine and I’m looking forward to deploying this device once it’s working.

1 Like

So, youre just using Pollster to poll the ecobee every 60 minutes? Thats it? No other configuration or app?

If youre on a 48hr stretch with the latest code from @yvesracine, using Pollster to poll the Ecobee3 every 60 minutes, This may be feasible for me at this time.

I bought the code a couple hours ago and set everything up, to get the wife off my sack about all the exceptions she gets notified about, on her phone.

I turned all notifications off. But yes, that is currently how I am configured. Currently I only control fan run time based on comfort profile. So rapid polling is not really needed by me unless there is another advantage to it.

The stock ST device had several issues, but the problem was not one of connection “issues” from what I’ve seen. Some of the problems with the stock ST device (that might impact others):

  • There was a bug causing the atomicState to not be updated swapping in the new token. I’ve worked around this in the version that I’m updating.

  • The refresh timer in the driver was using 2 hours as the assumption, however, if you actually parse the returned expiry time from Ecobee you will see that they are expiring the tokens every hour. I have made updates to correct for this

  • The ST Stock device was calling the API multiple times in a row retrieving the same data (within 0.003 minutes of each other). This is also being optimized right now.

  • If even a single “runEveryX” cycle was missed then the token would expire, game over. I’ve put in enough buffer that at least one cycle can be missed and in most cases 2. (And I do it in a way that minimizes the calls to the Ecobee API so as to avoid any possible rate limiting.)

By addressing the above, I have so far avoided getting any exceptions related to the expiration of the authorization tokens.

So far I am not seeing any direct evidence that there are “connection issues” between the two platforms (that does NOT mean that such issues don’t actually exist, just that I haven’t seen it).

There is nothing in the Change Log you point to that indicates any changes to the authorization mechanisms. They mention a change to documentation but that should have no impact on the behavior.

Regarding rate limits, the allowances for the API are clearly spelled out in the end user agreement (see Appendix A): https://www.ecobee.com/home/developer/api/documentation/v1/licensing-agreement.shtml

So there may be more than one way to skin this cat and resolve the exceptions.

Regards,
Sean

5 Likes

Hi,Sean,

This is nice,but like I said earlier, the thread that I created here is about My Ecobee Device and not
the stock ST device.

You should create your own thread, so that people interested in your solution follows your progress.

Please don’t try again to hijack my thread… I will report you to the ST community manager next time.

I’m also in contact with ST about the stock ST device, and they confirmed to me that they have the same connection and rate limiting issues (on the ecobee authorization servers).

I’ve been using version 3.7.9 of the code with good results. The only downside is that I get “Verbose Trace Is Istokenexpired” message in my Recently logs for the ecobee. Since it works, I just ignore the logs. Just wanted to say Bonne année and wanted to ask how do I got about using the polling feature so I can have the app refresh every 30 minutes. Thank you in advance!

Hi, as I said earlier, I will send an updated version of the device soon.

For the moment, you can pollster as indicated in the instructions provided with the package (step 11).

Regards.

@yvesracine, this was a direct reply to your comment #106 where you were the one that referenced the stock ST device type. So I was providing some anecdotal information directly related to your statements regarding those devices. I’m still getting used to this forum and it’s threading models (or lack thereof in some cases) so it might not have been obvious that this was related to that specific item.

I also realize that by “stock” we are probably referring to two completely different device types. I am referring to the one available in the SmartThingsPublic repository, and you are likely referring to the one found directly in the menu on the mobile app. While I believe these are one and the same, there is a possibility that they have differences on the backend that aren’t in the public repository.

Feel free to report me to the ST community manager if you wish but I do not feel that I’ve done anything wrong or inappropriate. I did not try to hijack your thread, I tried to provide information that everyone (even you) should find helpful and possibly you could use to make progress on your own device.

As can be seen from the thread as a whole, I’ve pretty much kept my mouth shut during the bulk of the discussions specifically to appease your request.

5 Likes

@yvesracine So now that Im using this new device type, how do I delete the Ecobeeinit smart app?

Theres nothing “using” it but in IDE, it says that “This SmartApp can’t be deleted at this time because it is installed by one or more users”

Hi,

  1. Go under https://graph.api.smartthings.com/device/list, click on the device,and then scroll down at the bottom and see which smartapps use your device (under In Use By).

or

Click on smartapps under the ST app after selecting the device that you want to remove

  1. Unselect (and eventually replace with your new device) the old device from all the smartapps which use the old device.

  2. Delete the old device (using the ST app or the IDE) by removing the MyEcobeeInit smartapp.

Regards.

So in order to remove the app, I have to delete the device, then readd the device and any apps I want the device to use?

Yes, like any ST connected device, you need first to unselect/remove the use of the device in all smartapps, and then, only after, you can remove the MyEcobeeInit smartapp (which will delete the device itself).

Ive done that and now I cant get Ecobee3 to show up for ST…

Not sure what happened.

Hi, I’m not sure what you mean… If you have trouble setting up
the new device, I can send you the new Service Manager as it seems to
be working fine now with my latest release (the one I will distribute in the next couple of days).

This way, it will be simpler to set it up.

Let me know.

I was able to get it working but send the new service manager over if you want to. Otherwise Ill wait until you release to everyone.

I don’t think you’ve done anything wrong, @yvesracine has posted information many times in the official ecobee thread about his device type.

This is a community, these are all relevant posts to the original topic.

The mods Shouldn’t care about these posts imo.

3 Likes

For those that have been waiting for me to release some code (e.g. put up or shutup). I finally have the repository synced up, directions written and a separate thread for discussion.

Head on over to the post linked below to participate in the discussions and get the links to the code:

Best Regards,
Sean

5 Likes

Hi,

As promised, I’ve delivered a workaround to the ST-ecobee backend issues that
were affecting MyEcobeeDevice since December. The issues are not gone, but I found
a way to get around them without affecting MyEcobee device.

To all who wish to enjoy (now) all the benefits of the full ecobee API capabilities in ST, amongst others:

1) Setting your thermostat to Away or Home based on ST hello modes

See the ecobeeChangeMode smartapp.

2) Resuming your program/climate when you’re back home

See the ecobeeResumeProg smartapp.

3) Setting your thermostat to vacation mode

See the ecobeeManageVacation smartapp.

4) Creating/updating your ecobee climates/schedules

See the ecobeeManageClimate smartapp.

5) Setting your ecobee climate/program at a given time

See the ecobeeSetClimate smartapp.

6) Monitoring and setting your indoor humidity level based on outdoor temperature

See the MonitorAndSetEcobeeHumidity smartapp.

7) Monitoring and setting your setpoints based on outdoor temperature

See the MonitorAndSetEcobeeTemp smartapp.

8) Exposing your ecobee3’s remote sensors to SmartThings for HA scenarios

See the ecobee3RemoteSensorInit smartapp.

9) Controlling your smart vents based on your indoor temp/motion sensors in conjunction with your thermostat’s programs & setpoints

See the ecobeeSetZoneWithSchedule smartapp

10) Controlling your minimum fan time per hour during a climate/schedule run

See the ecobeeSetFanMinOnTime smartapp

11) Generating some ecobee HVAC stats on a daily basis and sending them to groveStreams for data analytics

See the following smartapps: ecobeeGenerateStats & groveStreams smartapps

12) And many more features, you may want to consult the wiki for more details

http://thingsthataresmart.wiki/index.php?title=My_Ecobee_Device

http://thingsthataresmart.wiki/index.php?title=Category:Unpublished_SmartApps

- MyEcobee device’s code is now fully functional and available now at my store:

www.ecomatiqhomes.com/#!store/tc3yr

- All my smartapps (which only work with MyEcobee device and represent several hundreds of hours of development work and testing) are either available for free at my github:

or

for a modest contribution at my store.

- As indicated by email yesterday, all existing contributors (several hundreds now and counting) will receive the updated version tonight.

Thnx for your contribution and your patience.

Regards.

3 Likes