Plug-in for ecobee thermostats in development

Hi all, just a note to say that I’ve done most of the development for a new plug-in for ecobee thermostats. I’m not sure exactly when it will be available, but it will work with both their consumer- and commercial-level thermostats.

The current state of the plug-in is documented here: [url=http://cocu.la/vera/ecobee/README.md]http://cocu.la/vera/ecobee/README.md[/url]. One of the “fun” features of this thermostat (and the plug-in) is the ability to automate a text message from Vera that will go to the thermostat’s display (or to all of your thermostats at once) in a simple UPnP SendMessage action. So property managers can send “close the window” or “pay the rent” message to their rental properties! :slight_smile:

If you have any thoughts, ideas or suggestions of what should be in the plug-in, please share!

Regards,
watou

1 Like

Hi Watou,

I just read your announcement and just wanted to let you know that I am really excited about your project. I use Ecobee thermostats in our house and summerhouse and the prospect of being able to integrate with Vera is great. It has been on my wish list for a long time. Keep up the good work. I look forward to work with the plugin when ready - or if ever you need testing done.

Kind regards,
Barry

I’m very glad to hear that, Barry! I’m eager to release it to get some more testing with it, but it’s looking good so far. I will post here when it’s ready for testing.

Thanks very much for the encouragement.

Do any ecobee thermostat users out there have a “My Apps” widget in their ecobee web portals, like on the settings tab? My plugin is working fine with the current state of the web API, but I would like to involve others to test the code before official release.

Thanks for any assistance,
watou

Sorry for the late reply; very spotty Internet here.

I don’t have better info regarding when My Apps will be generally available. Hopefully soon.

The plugin ought to work with all of their thermostats, but it’s only been tested against about 18 Smart Si thermostats so far.

Sorry I don’t have better info. I tried to accommodate more testers but was rebuffed.

Regards,
watou

I got a message saying need firmware 1.5.408 but my vera lite is on 1.5.262 and says it is the most current version??

You have to update by visiting a special web page. Finding the announcement on the forum is left as an exercise.

Try MiOS and follow the instructions

To anyone who has installed the ecobee plugin from the app store but who has not yet entered the PIN in the ecobee.com web portal (since it’s still in beta and not generally available):

Please uninstall the plugin for now until ecobee has made their API publicly available to all ecobee customers, and version 0.7 of the plugin is avaible in the Apps store.

To uninstall the plugin, log into your Vera UI5 web interface, go to the Apps tab, find “ecobee Thermostat” under the “My apps” sub-tab, and press Uninstall. Follow the remaining instructions, and monitor this thread for exciting news about the upcoming GA release of ecobee.com’s API!

Regards,
watou

I just installed the ecobee plugin on my new Vera 3 and I have to say I’m very impressed. This is a great service - thanks so much. Nice job!

You’re very welcome!

Please report if the information in the README.md is insufficient.

http://cocu.la/vera/ecobee/README.md

[quote=“theal”]I don’t see “My Apps” widget in my ecobee.com web portal.
So I wonder how others are logging in since Ecobee beta is closed.[/quote]

Unfortunately I have no information about when the API was/will be generally available. If it’s not already, it ought to be very soon. Make sure you check the settings tab in the web portal to be sure. Version 0.7 of the plugin is available because 1) I believe that My Apps will be GA soon if not already, and 2) it is the only viable path to make the beta plugin available to testers.

If you learn anything definitive, please share it here!

Thanks,
watou

[quote=“theal”]Michele,

How did you get PIN code login working?[/quote]

I have no idea. First I went to the apps tab on Vera and installed the ecobee app. Then I saw an ecobee icon appear on my Dashboard with a button that said “get pin”. So I clicked that. I got a four digit number but nothing else happened, so I went back and read the documentation that said I had to type that into ecobee’s web interface. So I opened that, went to the ecobee Apps tab, loaded the Vera app and typed the pin into the otherwise anonymous gray box I found there.

Once again, nothing happened. I then went back to Vera and typed my thermostat’s serial number into the “thermostats” section of the advanced tab of the ecobee icon. And still nothing happened.

But a few minutes later, while I was searching the web for more information on how to get this mystery to work, suddenly my thermostat appeared in UI5. Yippee!

I guess sometimes just stumbling around blindly can be a productive strategy.

I got my API!

Thank you WATOU, your plug-in works beautifully!

[quote=“theal, post:15, topic:174457”]I got my API!

Thank you WATOU, your plug-in works beautifully![/quote]

Thanks for the positive feedback! Very glad to hear.

watou

watou,

thanks for your plug-in!

a couple questions after playing with Smart tstat & plag-in:

  • Home/Away buttons gives ‘Invalid Service’ error
  • Resume button works, but forces Programming for 10-15 minutes, i.e. during this period a temperature can’t be changed to Hold; it snaps back to Programming setting
  • my Hold Action is set to “Ask Me”. What is a Hold timing default in “Ask Me” mode and is it user settable? Any thoughts on implementing Hold timing options?
    It would be great to have
  • QuickSave/Economy button state
  • Wattage reporting working
  • Heat/AC/Fan ON/OFF state reporting

PS I’m a bit confused about your instructions for scope/selectionType/selectionMatch settings to enter smartWrite/thermostats/list of thermostat identifiers.
During the setup smartWrite was automatically set to ‘registered’ and both my thermostats seem to work. I did not enter tstats IDs as I was not really clear if I had to do it anyway and how/where to enter them.

Thanks again for great work!

You’re welcome!

What are the specific models of your ecobee thermostats? I have a single EB-SMARTSi-01 here that I’ve done testing against, and I’ve only ever gotten “view only” access to a collection of other ecobee thermostats. There is code for “EMS” thermostats in the plugin which I’ve not yet been able to test. I would appreciate part of your /var/log/cmh/LuaUPnP.log file around the time of the ‘Invalid Service’ error to see if it leads me in the direction of finding the cause.

When I press the Away button, it sets an indefinite hold event that changes the heat and cool setpoints to the quick-save setback and set forward increments. The Home button issues a ResumeProgram function to clear the hold. This is for non-EMS thermostats. For EMS thermostats, setting Away performs a setOccupied(false) function (a special hold type).

I will have to research what “forces Programming for 10-15 minutes” means. Could you elaborate or send me a doc link?

[quote=“theal, post:17, topic:174457”]- my Hold Action is set to “Ask Me”. What is a Hold timing default in “Ask Me” mode and is it user settable? Any thoughts on implementing Hold timing options?
It would be great to have[/quote]

Currently all holds are set indefinitely because I don’t know how to semantically match other hold times to Vera/UPnP service types. I could possibly add a variable on the Advanced tab that let you choose a different hold time from indefinite, but I will have to know more about potential use cases to get it right.

I asked for a way to implement QuickSave from the plugin, just as the user can do from the web portal, and I don’t think that is in the current API. However, the “Away” button when used with non-EMS thermostats attempts to detect/set a setback/forward hold event like QuickSave does. I think that if we can figure out the ‘Invalid Service’ error that you get (but that I can’t reproduce here), this might help address this point.

Like in the Nest plugin, the [tt]UserSuppliedWattage[/tt] device variable is just a placeholder in the code for wattage reporting. Do you have any implementation ideas for how to make this meaningful?

This was not in the ecobee API last time I checked, but I will look again after the API is officially public and report back.

[quote=“theal, post:17, topic:174457”]PS I’m a bit confused about your instructions for scope/selectionType/selectionMatch settings to enter smartWrite/thermostats/list of thermostat identifiers.
During the setup smartWrite was automatically set to ‘registered’ and both my thermostats seem to work. I did not enter tstats IDs as I was not really clear if I had to do it anyway and how/where to enter them.[/quote]

If you are a non-commercial customer, you can typically skip the entire section of the README regarding setting selectionType and selectionMatch. Only larger infrastructure users would typically be concerned with viewing/controlling specific subsets of their managed thermostats. If you have any suggestion on how to make the documentation less confusing, please pass it along!

Thanks very much for the report.

watou

[quote=“theal”]Michele,

How did you get PIN code login working?[/quote]
I just clicked the “Get PIN” button on the ecobee device in UI5. Teen I logged in to Ecobee’s own gateway, went to Settings → My Apps, typed in the PIN in the gray box and clicked on “Install App”. I then added “Vera Home Controllers” and a few minutes later my thermostats appeared in UI5.

I am having a problem though of having to go through this process every three days or so. I get a message in the Vera log that says

“ecobee : Not yet authorized. Press ‘Get PIN’ once; wait for PIN; enter at ecobee.com.”

After going through the whole process again, it works - until the next time. What’s up with that?

[quote=“Michele, post:19, topic:174457”]I am having a problem though of having to go through this process every three days or so. I get a message in the Vera log that says

“ecobee : Not yet authorized. Press ‘Get PIN’ once; wait for PIN; enter at ecobee.com.”

After going through the whole process again, it works - until the next time. What’s up with that?[/quote]

Let’s not forget that the API is still not officially available! :slight_smile:

Edit: not to discourage you from reporting whatever oddities you see!

(I just think the programmers at ecobee are probably busily readying for GA, might have to do cleaning out of old tokens or other pre-launch prep.)