Official Ecobee 3 Integration

@sn0wL , @jaypeecee

According to some feedback from several users, my code is now working with the
workaround that I implemented about the connection issues.

My Ecbee Device, Ecobee3RemoteSensorInit need to be resync first (at the main branch):

You may need to un-install and re-install the smartapps if some recurrent exceptions reappear.

Regards.

P.S. My code now ignores some exceptions that are thrown by the ST cloud backend (i.e. groovyx.net.http.HttpResponseException ) for some users.

Please support the developer :grinning:

Hi, I installed the new Ecobee3RemoteSensorInit code and now when I go to update the app via the ST app I get a blank screen where it would normally ask to select my motion sensors.

Then I get an error when I click "Done"

Hi @Automatic00,

Please refer to the ST community wiki for Troubleshooting:

http://thingsthataresmart.wiki/index.php?title=Ecobee3RemoteSensorInit#Troubleshooting

Also, please take note of the following issues at the moment with My Ecobee Device:

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

I know that ST is working on improving their Cloud-To-Cloud integration as specified here, but there is no ETA.

See below:

Continuing the discussion from Initial Setup for Ecobee3, Smart-SI, EMS, Smart-02 thermostats - My custom Ecobee Device:

Continuing the discussion from Initial Setup for Ecobee3, Smart-SI, EMS, Smart-02 thermostats - My custom Ecobee Device:

[quote=“slagle, post:115, topic:17260, full:true”]
We are working on improving our end of Cloud and Lan connected devices. We can only control what we can control.

Aside from that, the only recommendation I can recommend is to reduce polling intervals. This will rule out your connection being limited by the external API. I know MyQ and Ecobee are very specific about their polling intervals. I have read on their forums they recommend not polling more than every 30 seconds (maybe 10 seconds? I found both numbers but 30 second intervals show up more).

I’d find it unlikely that you are hitting this limit, but I have also read on their forums something along the lines of “Our servers ensure that your thermostat is protected from attacks against it.” I wonder if you are hitting that “wall” so to speak.

I say all this not to say it isn’t on our end at all, but it may not be all on our end. Try reducing polling intervals and see if that resolves these timeout connection issues. :smile: I’d be interested to know. Maybe start by doubling your currently polling intervals.

Most of the other threads @yvesracine mentioned (with the exception of MyQ) are not related to this and are either related to a platform outage or DHCP issues. (We have a fix for wemo coming out in a little while that allows us to see and change the IP when the wemo Ip changes locally)
[/quote

Regards.

This seems to be as close to the official Ecobee thread as there is, so I just want to take a minute to gush about this product. I have had a Nest gen 2 for close to 2 years now. I grew to hate the thing. The house cycles between too hot and too cold because the deadband is enormous. Thermostats get placed at the most temperature stable place in the house near the air return, a large deadband here is amplified everywhere else and despite complaints Nest doesn’t allow people to change this value.

I’ve had the Ecobee one week and no more waking up at night freezing/sweating adjusting the thermostat. The remote sensors ROCK and are sufficient enough to keep me comfortable in my house despite hot spots without a multizone system. The information it provides through the web interface with SystemIQ is so cool. Nest’s monthly email is child’s play telling me how many leafs I earned. Despite not wanting to spend a few hundred dollars on another smart thermostat, I am so glad that I did. I wasn’t positive it would help in my house, but it has exceeded all my expectations.

Anyone considering a smart thermostat skip the Nest and go straight for the Ecobee. It is so much better, and it feels so great to be rid of my Nest because I grew to hate it SO MUCH.

Anyone want to buy a used Nest?

I’m going to try out the SmartThings app for ecobee3 and see how it does for a bit. I had the @yvesracine version installed but was going crazy with exception errors that I finally had to remove it so I could get some sleep :wink: I didn’t see how the ST version displays the remote sensor though?

To whom it may concern,

Also, please note of the following new thread:

Regards.

@dalec, what ST version are you talking about?

Did you install the one here? https://github.com/SmartThingsCommunity/SmartThingsPublic

Do you know if it works for the Ecobee 3? or did you install the built-in one : Ecobee Smart Thermostat? I don’t think this one is designed for the Ecobee 3.

Just posting an update. I’ve confirmed that the SmartThingsCommunity template available on GitHub does work with Ecobee3. The Ecobee thermostat and sensors there also work. I’ve tried updating the wiki to help us newbies get the code working. It takes a bit of tinkering but it’s doable.

I think Ecobee’s API is similar for their thermostats and the basic functionality will work across them. (The built in ones from the Smart SI for example as pointed out by @jnowland and @Bugsy also work.)

I’d like to make everyone aware of two other ecobee devices that you can consider. I’d also like to encourage future developers to work together and update one single code.

First, there’s a code by @StrykerSKS:

This is a brand new code based off of the openly available template produced by SmartThings.

.

Second, a branch was branched off of @yvesracine from the most up to date version that was still open source. It’s being worked on by @disconn3ct. (not a user on the SmartThings community site that I can see.)

I can’t speak to the legality of this second option (I’m not a lawyer), and since it’s a branch you can’t communicate directly with @disconn3ct which is a pain. But it should have more functionality (Although it may also have more bugs right now) than the first option.

I would recommend that @yvesracine says that he’s solved the issues with his code. If that’s true, then this is a great app. It’s worth the $15, even though it isn’t open source.

But if you want open-source, I suggest chatting with @disconn3ct or @StrykerSKS and helping them develop their code, or possibly donating to them. If you want things to stay open source, then it would be wise to contribute in one of these ways.

If you need help understanding GitHub integration, let me know. It’s not too bad once you understand a couple of steps. I’m very green, but I’ve been able to get it working without too much of a headache.

I’m officially confused. Please accept my apologies for what maybe a stupid question.

Here:

It says the Ecobee3 is officially supported and shows a picture of it however (and just be clear I’m new to the Ecobee3 bandwagon), I bought the Ecobee3 for this reason and this reason alone.

So I installed it and followed @yvesracine’s instructions it took a few hours but finally got it working. I then started getting several token exceptions and during trouble shooting was taken to a link demanding $15. I completely understand he wants to get paid for his time and I respect this but I would rather go the official route since it is advertised as being supported.

Back to the drawing board.

When I go into the thermostat section under climate I see the “ecobee smart si thermostat” and “ecobee smart thermostat”. I’m assuming I use the “ecobee smat thermostat” and login and everything will work fine correct? However I won’t be able to use the external sensors?

Am I missing something or is it that simple?

Thanks for the help.

Naturally you are confused… Now let me change that confusion to disappointment instead. (Not sure that’s much better, but it’s all I can do for you since I don’t work at SmartThings).

SmartThings does not natively support Ecobee3 as a default device like it does the Ecobee SMART or the SMART SI.

The latter 2 have code built right into your phone when you search to add a thermostat.

However, SmartThings is built on an “Open Source” policy. They realized that they cannot possibly create all the code that everyone wants. So they’ve opened up their device to other developers to write their own code. It’s a great system that allows tons of devices that wouldn’t otherwise be supported to be used. (For example I have a Monoprice.com dual relay… none of the major home automation hubs really handle this device well… it’s not main stream, but Smartthings has a developer who created an app and device for it. So it works beautifully!)

So here are your options for the Ecobee3 (Please if I’m wrong, SmartThings let me know)

  1. Use the community Ecobee SMART or SMART SI devices. (I’ve heard from @jnowland and @Bugsy that the SMART SI works. I’ve never heard some using the SMART, but I assume it would work too). This is because the commands to all 3 devices are similar.
    Note, if you use the SMART Si, you will have access to a very limited number of functions through SmartThings

  2. Use the updated community code from @StrykerSKS. He is developing, and welcoming others to join him to make a new option for users. I have tested it and it works great! More information about this device can be found here: [Release] Updated Open Source Ecobee Device Type and SmartApps
    Github: StrykerSKS/SmartThingsPublic

  3. ‘donate’ to @yvesracine (I think he’s asking for $15) and he’ll give you access to his current code (and I believe all future updates) This code (as you stated) had some serious issues with the exceptions it was pushing out. Basically it kept booting the connection between SmartThings and Ecobee and you’d have to re-login constantly. We are told this code is now working. This is an active developer in the community and I have no reason to doubt him when he says the code is fixed other than I haven’t seen it work (I haven’t ‘donated’ to him so I don’t have the latest code).
    His code would grant you access to a ton of the features of your Ecobee3 and is the most feature rich solution I’ve seen.

  4. Use the code from @disconn3ct. He made a ‘fork’ (Copy) of @yvesracine’s code just before @yvesracine changed the license. @disconn3ct says that the old license allows people to use the code and make their own changes to it. I can’t speak to that, but the code is available and @disconn3ct says he’ll be updating it.

  5. Create your own code using the SmartThings’ Template. I strongly don’t suggest this. Please consider instead to put some effort into helping @StrykerSKS get his code up to par with more features etc.

  6. Submit a request to SmartThings to develop an official code. However, note that the most likely thing they would do is that any official code will create will be based off of their template and will not have the same feature list available to it that the other options would provide. However, in my opinion, they should really have it officially supported with at least a basic version of the code.

  7. IFTTT. Ok, so this isn’t really ‘integrating’ SmartThings and Ecobee, but it does open a bunch of features to the two devices… You could try IFTTT.com to control your two devices. Both are reasonably well integrated with IFTTT and so to setup something like “Set my thermostat and SmartThings to away when I leave” is something you can do through IFTTT.

I hope that helps, although if you are like me, that’s not the answer you were initially looking for. (I too wanted a build in option) But I do encourage you to try playing around with the backend of SmartThings and Github. If you aren’t a developer I understand your fears, but SmartThings is built on this type of developer community so you might as well jump right in! Try @StrykerSKS’s code. It’ll unlock the basic settings you need (Temperatures, turn temp up/down, turn heat to cool to off etc.)

And as always, if you are using someone’s code, consider finding a way to support the developer. Help add features to the code if you know how, or if you are like me and don’t know much about coding, donate a couple of bucks for their time, or help others get plugged in, and help them understand how to use the code, be active on the wikis, share whatever knowledge you have etc.

Home automation is a fun hobby, but it’s not at the level of just ‘plug and play’. Sorry if that’s what you thought you were getting into.

Let me know if you need anything else.

UPDATE: After looking at the official list, I realised that the Ecobee SMART and SMART SI are actually not even supported officially. They are part of “Labs”. Although they do show up on my phone as a device, so perhaps they were moved from “Labs” to being official and the website wasn’t updated?

UPDATE2: I confirmed with SmartThings that the Ecobee3 is not yet officially supported.

UPDATE3: Not for everyone, and this isn’t technically ‘integrated’ into SmartThings, but I added the option of IFTTT to my list.

UPDATE 4: @StrykerSKS’s code is now live and works great. I’ve updated the order of the options, and added a link to a discussion of the new code.

6 Likes

Snakedog thank you so much, that was extremely helpful and enlightening! I truly appreciate the time you took to post it, it saved Ecobee a sale since I was about to box it back up now at least I can start with @disconn3ct or @StrykerSKS code and give it a shot.

Thank you again, not the answer I was looking for you are correct but extremely helpful.

No problem, glad I could help!

I guess I should contact Ecobee and ask for a commission Ha.

Let me know if you have any troubles, or need help understanding how to integrate Github, or the code.

I should probably take a look at the fork from @disconn3ct has. I’m not looking to be a hero and would prefer to collaborate with others on this, so happy to join forces where possible!

// StrykerSKS

I took a look at where @disconn3ct did the fork and I think it still has some of the new license language in it.

I’m pretty sure I’ve found where the breakpoint is where the license switched over from Apache License, Version 2.0 and will do a clean break from there so that I’m working off a truly open version. I should hopefully have something next week ready during the Christmas break (if not sooner).

I’ll keep everyone posted and possibly start a new thread once there is something better to share.

// StrykerSKS

Hi Sean,

My experience with “hackers” is that the resulting code will be even worst than the original.

There is a lot of design, development, and testing work in the code that I’ve produced and I personally doubt than anybody will be able to reproduce the experience that I gained through the years.

“Hackers” tend to oversimplify things or take shortcuts without understanding the design.

My design is quite unique and I think that your efforts will lead nowhere.

In the meantime, people who want results will modestly contribute to my company and get a functional ecobee thermostat (with all bell & whistles) within a week.

My 2 cents.

P.S. And, it’s one thing to make it work (sort of) and another to make it evolved…

Thanks for your effort @StrykerSKS I’ll follow this forum, I did notice that @disconn3ct’s code still causes token issues. I have no idea about licensing, if it appears here I’m assuming it is in the public forum, if a notarized cease and desist appears I’ll stop using it.

Also I’m not familiar with the term “hacker” can someone explain this to me. From what I have read it appears as though these individuals put up broken code free to use and then demand money to fix it? Excuse my naivety but I’m not a techie.

Thanks again.

@droidguru, “Hacker” has become a “bad word” for many, often used by movies to denote someone trying to do harm to a system. It used to be that the word “Cracker” was used to denote those that were doing the bad stuff, but languag evolves. However, in many circles, hacker is still a word of praise and means someone who creates something, often from nothing. In the case of programming it is about creating more code and getting things done.

@yvesracine, I’m not even sure how to respond to your comments. I think everyone in the thread has tried to be civil and thanked you for all the hard work you put into the code. I’m sorry you have had bad experiences with “hackers” in the past but that is certainly no indication of the entire developer community around the world. You have a unique position where you could lead the development and control submissions. As long as you were to do that in a fair way then you would likely get good inputs and could simply reject those that are poor quality. That is what a maintainer does and what a good leader does.

So, yes, there is a risk that us “hackers” could end up with something worse but there is also a good chance that we might end up with something better, something that reflects the needs of many and that can evolve and continue to exist long after any one of us loses interest.

// StrykerSKS

I have to say, as much as I appreciate @yvesracine’s hard work and contributions to the current state of Ecobee integration into SmartThings, the simple fact is that his SmartApps aren’t one-size-fits all. Functionality is limited to the scenarios that he has deemed worthy of accommodating, which is both perfectly okay, but also severely limiting. @yvesracine has already made it clear that development and maintenance of his ST code is not his day job, so one can expect that his ability and willingness to add features and behaviors is going to be determined by both his availability and the willingness of the community to fund further development.

And that’s okay; this is a model that is great when it works. But the truth is that I’ve run into fewer problems with “hacker”-modified open-source projects than I have with single-developer closed-source projects. All it takes is a single life event (graduating college, having a baby, changing jobs, etc.) for one of these closed-source projects to completely cease development forever. And then the people who have been using that software are stuck using a stagnant and gradually less-reliable piece of software until the developer decides to hand the code over to someone else (uncommon, as most would prefer to tell themselves that they’ll get back to it someday), or another developer gets tired of the state of things and has to start an alternative project from scratch.

While @yvesracine’s device type and SmartApps may currently be far superior to whatever comes of people working off of his older open-source code, that might not always be the case. I’d much rather know that we have more than one option that is being actively maintained. Perhaps @yvesracine didn’t mean for his words to come across as so completely discouraging of any sort of parallel, competing projects, but if he did, then I’m very disappointed. Remember that neither SmartThings nor Ecobee were the first project of their kind. If we eschewed friendly and fair competition, and just left it up to the first project or product in the space to try something, we’d all be here trying to figure out how to integrate our Nest thermostats with X10, so that we could control them with our Palm OS devices.

4 Likes

@go_robot_go, just one thing: my dedication brought the ST community to have a unique ecobee integration, and I can assure you that I will make it evolve even more…

Not sure about all the «hackers» out there who don’t even know the ecobee APIs…

Good luck to those who choose the ‘hackers route’.

P.S. If you pay me, I will able to customize anything ecobee related… My point is that I don’t have any more time for ‘free stuff’…

I hope I’ve properly expressed my appreciation for your work to date, and I do believe that you have every intention of continuing that trajectory. I have no complaints regarding what you’ve done or what you plan to do.

My problem is with the idea that everyone should hitch their wagon to the same horse, and trust that it will never stop running. I have financially backed plenty of single-developer software projects in the past, and I have also seen a great many of them go dark for long periods of time or cease development entirely; sometimes they get back on track after a lengthy hiatus, sometimes the developer makes a final blog post either admitting the death of the project or that they’re handing it off to someone else, and sometimes the website just disappears entirely, as the developer hasn’t even bothered to renew their domain registration.

These dead projects are merely disappointing when I’ve spent money on them, but they’re downright frustrating when they’re the only project of its kind, and there’s no alternative for abandoned users to switch to. Again, I get that you have every intention of keeping your work here alive, but you have only so much control over the future. I’d like to know that we’ll have an alternative option if you happen to get crushed by a meteor six months from now.

And really, in general, “I think that your efforts will lead nowhere” just isn’t constructive. I hope that you aren’t simply trying to discourage competition in order to drive adoption of (and therefore income from) your work to date.

3 Likes