Ecobee Integration

Great to see the Ecobee remote sensors are exposed for motion and temp. However, initial test shows the motion state does not update on its own. Once I click on refresh it indicates my presence and activates a test switch in RM. Tried this on my second remote sensor as well. Showed "Occupied" in the Ecobee app, but HE driver detail was still showing inactive until I clicked on "Refresh" and a virtual test switch in RM also will not activate until I do.

Also, don't see the main thermostat, only remote sensors for motion devices. Is it unsupported?

ecobee is polling based, so yeah the sensors are of limited value in that context.
thermostats are supported.

1 Like

Thanks for clarification Mike.

[Edit] Was I too impatient? Will it refresh after my 5 minute data poll rate setting?
If not, could there be an option added to poll the remote sensors every so often to refresh presence status?

@mike.maxwell Could you confirm please. Thermostat is supported for motion or I'm misunderstanding your meaning? I don't see it as an option on my hub for motion. Should show up as Downstairs if available to me as a motion device.


It currently isn't as not all the thermostats have motion in them.
We can look at having a separate virtual thermostat driver for those that do, but that's not in this build.

1 Like

That's great. I would probably look at using this as an extra "eye" on the happenings around here, because the dog doesn't trigger this one, but a human does very quickly.

1 Like

Yes. After some time (which I know can be quite long with Ecobee remote sensors) they changed from Active to Inactive in HE, reflecting the "Unoccupied" state in the Ecobee app. The log shows it took 45 minutes to go from Active to Inactive. Will have to pay close attention to how long it takes to go from motion to active in HE, unless I'm just seeing inactive due to the new HTTP timeout?

[Edit] OK. I see now that it follows the Data poll rate in the app and updates in 5 minutes from the last update, but not from the time of actual motion. That was around 7 minutes since motion occurred in-between poll intervals.

How do you see the current state of Program Mode and set the ProgramMode (Home/Away/Sleep)? I use that a lot and I do not see how to see it?


1 Like

Sleep I believe is only available when the thermostat does the scheduling, it's not a mode that can be forced manually. It's not available from their App for quick change modes either, just Home and Away. Wink has control over these, and IFFT can control it via Hold (Away) and Resume (Home). Oddly HomeKit does not give control over it either.

The Sleep program mode is available in the driver I have been using that was ported over from ST. I set the ProgramMode to Home/Away/Sleep and ThermostatMode (Auto/Heat/Cool/Off) in webCoRE pistons based on time of day, Contact Sensors and Presence Sensor rules. Has been working for several months now. I will keep using that driver until the native driver can support it.

My use case is that I have my thermostats (2) set with a predetermined schedule for the ProgramModes based on Day of Week/Time of Day. This is set with the EcoBee app (or on the thermostat itself). Then based on contact sensors/presence sensor/Time of day, I set the ProgramMode (Home/Away/Sleep) and ThermostatMode (Auto/Heat/Cool/Off). For example .. If everyone leaves, the thermostats are set to Away ProgramMode. If someone returns, the thermostats 'resume' the scheduled program (usually Home). If someone opens a door or window and it remains open for five minutes, the affected thermostat is set to ThermostatMode 'Off.' When the contact is closed, the thermostat is returned to 'Auto.'

I can control the ThermostatMode with the new native integration. If the native driver can support ProgramMode, then I will be able to move to that driver exclusively and stop using the ported ST driver.

Sorry, not a developer so my interpretation of the API may be wrong. It looks to me like sleep is available for program and it may be that the developer of the smart things app has utilized that to give manual control for sleep. I would think if the manual control for sleep mode was part of the official API, then ecobee would’ve put it into their own app. You can use IFTTT to do what you’re trying to do. I completely agree how it would be more convenient to have it all in the official HE app, but it is possible with IFTTT, and it’s not like were controlling it locally anyway.

I appreciate the comments. The reality is I really only need the native driver to set the thermostats to 'Away' mode when everyone leaves. I would also need to able to issue the 'Resume' command. When someone returns I issue a 'Resume(true)' command and the thermostats will return to their normally scheduled state (either Home or Sleep). I do have cases where the Sleep command is issued, but those are not critical for me and I could live with the default schedule for Sleep. I would like to avoid IFTTT if I can as I don't use it for anything else at this time. I will stick with the ported app/driver I am using until the native driver can support this.


Where is the tile for T-tstat? Because accessing it from the web UI is very WAF unfriendly and not to mention much less efficient.

Dashboard Thermostat tiles is in progress.

Since these devices provide mobile apps that have a full user experience, and most are set and forget, we didn't put a high priority on this beyond being able to automate off the device states.

We understand some people want a single place to control everything and are working to provide dashboard interfaces for everything we support.

Yeah I do not need to access it that much but I do occasionally need to change the temp a degree or two or switch modes. Glad its being worked on though.

I'm seeing these error

app:12292018-08-02 12:30:00.530:infoHttpResponseException Internal Server Error, 500 polling ecobee pollAttempt:1, isThermostatPolled:false, isSwitchesPolled:true, [status:[code:14, message:Authentication token has expired. Refresh your tokens. ]]

app:12292018-08-02 11:25:00.529:infoHttpResponseException Internal Server Error, 500 polling ecobee pollAttempt:1, isThermostatPolled:false, isSwitchesPolled:true, [status:[code:14, message:Authentication token has expired. Refresh your tokens. ]]

that probably shouldn't be an error message, will check it out.

Not getting that error with the official driver. Sounds like you might need to log out and log back in to refresh the token for whatever reason.

1 Like

I'm using the official driver.

Great! Did you try logging out and then logging back in to see if the error goes away? How about if that doesn't work, try removing and reinstalling the app?