[OBSOLETE] .. Updated Open Source Ecobee Device Type and SmartApps

I’m hoping to have some time this weekend to look at this and some other open items. This was the first week of school so things have been insane (and was out on vacation before that).

I’ll need to really think of the implications of adding those attributes. Not sure it will hurt anything but having an attribute that is a list is a bit problematic from a purist sense since the value is no longer atomic and you can’t do normal compares.

Can you describe a bit more how this would work in Ask Alexa? That would better help me understand the usecase flow and how the attribute would be read and compared, etc.

First, thank you for everything you’re doing with this, I was a user of Yves DTH/smartapp before he went to a paid model. I think your DTH/smartapp does a marvelous job.

As for timing… last attempt was last night around 11CST, so should have been outside their maintenance window. I did get the disconnected message this morning, so I reauthenticated. By and large, the other child smartapps I have configured for mode changes work very well, triggering ecobee mode changes when ST changes modes as expected. It’s just this one that I seem to be tripping on. Given the stability of the other areas of this, I’m basically assuming I’m doing something wrong.

Yeah, I can understand the list implications, though I’m not sure of a better way to implement what I am going for. Perhaps you can point me in a better direction. In the Ask Alexa smartapp, you need to tell the Amazon echo keyword commands. I could perhaps set those commands to be smart1, smart2 (or a hard coded keyword like custom) etcetera, but I would prefer to use the custom names we create. To do so I need to know what those custom names are from the device. I know in your smartapp, you can do it because you are a child of ecobee(connect). In my case I would not be so I believe I need to get that information from an attribute.

If you’d prefer, perhaps multiple attributes could be created such as smart1name, smart2name etc. It would eliminate the need for lists.

Okay, let me look at it a bit more.

I think the Ecobee has a finite number of custom programs. If so then I might go with the numbered attribute route.

I’ll also look at how CoRE handles the comparisons since I could see a need there perhaps. If it can’t handle a subset of a list (substring matching) then splitting it might be needed.

So, in the Ask Alexa app, do you select attributes from a SmartApp? And in this case of a list, how does Ask Alexa parse the list?

I haven’t updated this app in a really long time like 3 Months. Have there
been any releases? It’s been really stable.

Just one release to add support for Contact sensors to turn on/off the HVAC or warn that a door/window is open. It seems to still have some issues based on the above reports that I need to work through.

So nothing special to update.

I do plan later this year to do a bit of a refactor to make the polling more light weight which should allow for much more granular polling (1 minute). I’ve been hoping Ecobee will release their Push APIs instead, but no ETA on that unfortunately.

What will their Push API’s do for us?

Eliminate the need to poll, we would be informed when there is any change. Not sure what else will be in the API as they haven’t released the specs yet.

In the smartapp you select a device but not the keywords. The app generates what keywords to use and you add those keywords to an Amazon echo developer account as valid responses. It also needs that information to parse those responses to determine what actions to take (i.e set the comfort setting when you say ‘set to home’). Without the attribute access, the app does not have the ability to generate that list for custom comfort settings.

1 Like

So I don’t know of an upper limit for custom comfort settings but beyond 10 it appears that there are no longer icons for them in the ecobee. Even if you can have more, I don’t see a use case for more than 10 custom comfort settings. Having smart1 - smart10 attributes should handle everything people would normally use.

According to the top posts with updates, it looks like the last update was February of this year. Is that truly the last update? Just want to make sure I’m on the right one.

Cool. Let me look at it over the weekend. Likely easier for me to implement as a list in the short term, but better to get it right I guess. Might add a few other attributes while I’m digging around in the code.

1 Like

The last major update was in February but there have been some other updates since then. Most notable was the release of the Contacts child smartapp that can use a contact sensor to turn on/off the HVAC when a door/window is left open. However, there seems to still be some bugs in that for me to work out.

So, if it is working fine for you, then there is likely no compelling reason to update.

1 Like

Does anyone else have issues with getting signed out from the Ecobee smartapp? Seems like every few weeks I get the notification that the thermostat has disconnected from ST, so I have to open the Ecobee Connect smartapp and login again. Interestingly it happened again last night at 12:38 CT, but this time it said I was still connected so I just had to click next/done through the authorization part of the smartapp.

I have that problem as well. I was blaming my Wireless connection, but it might be something else if it’s wide spread. I don’t think it’s the app, but a connection somewhere is getting dropped.

I have been running the version with the contact sensor update with no
issues.

I usually only have a disconnect about once every month or two. So far it has always been when they are doing maintenance on the Ecobee servers. And most times the app will autorecover the connection as soon as the Ecobee servers are back on line.

Could also happen when Ecobee rolls out an update to your thermostat as they update firmware on a rolling schedule where they only update a portion of the thermostats each night across the entire customer base. Again, in many cases, it will usually auto-recover.

The times I’ve needed to actually re authenticate have usually been when there is some issue on the SmartThings platform.

1 Like

Ok cool. Glad to know I’m not the only one.

I just wish it wouldn’t happen in the middle of the night as the ST notification induces a mild panic attack. Depending on how asleep I was, that may or may not be followed by a hurling of the phone.

I am getting occasional disconnects as well, but the frequency has not been annoying. However, I also get the occasional unidentified disconnect where the app thinks it is connected but it actually is not. I can only identify this when I see I’m not getting any data updates on the app (and my smart vents not operating that depend on the ecobee handler). Once I reauthorize, it’s fine, but those sometimes take a couple weeks for me to notice.

@marx

Okay guys, I’ve just uploaded a fix for handling the Custom Programs. The Routines Smart App should now work with custom programs.

One side effect of this fix is that using “smart1” “smart2”, etc will no longer work, instead you will need to use the name of the Program in the correct case (“Custom” vs “custom”).

The good news is that you don’t need to remember which one it gets mapped to this way, just need to know the name.

It still uses the setThermostatProgram function in the Thermostat device type to make the calls to the parent as before.

1 Like