To whom it may concern,
This thread is about My Ecobee device, and it’s dedicated to the several hundred of ecobee users (more than 1500 contributors and counting) who have been using it for their day to day HA interaction through SmartThings for more than 3 years now. I ask for a contribution as it took me a lot of hard work to create this reliable DTH (no disconnects)
To download the code, go to www.ecomatiqhomes.com/store
The code has been designed to work with an ecosystem of smartapps acting as “micro services”. The design is NOT a big monolytic application which limits its evolutivity and maintenance.
The code unlocks all ecobee’s rich APIs features, and more (see below with the new tips features). It’s the best of both worlds: ecobee and SmartThings working together for more comfort and energy savings at your home!
Related “complimentary” smartapps at my github (see all use cases supported below):
All screenshots here:
I’ve developed more than 15k lines of code for the ecobee thermostats under ST. It’s the most comprehensive ecobee implementation. There is no other thermostat device that offers this kind of capabilities under SmartThings (compared to Nest, Honeywell Lyric or any other smart thermostats).
See all the use cases in the text below.
Benefits of My Ecobee device vs. ST ecobee stock device or other thermostats:
My ecobee Device is far better than any dumb z-wave or zigbee (and even a Nest or Honewell Lyric) thermostat when connected to ST as it does not need to be scheduled by ST. Contrary to other thermostats connected to ST, My Ecobee device and my smartapps can work in conjunction with SmartThings and ecobee as the code exposes the ecobee’s own scheduling for HA (something the ST stock device doesn’t do). For any other thermostats, ST needs to take over their scheduling when connected to the home automation platform and this is sometimes unreliable. You don’t want to wake up cold or too hot in the middle of the night because of some ST scheduling issues!
For more details about the benefits of ecobee vs. other connected thermostats, refer to
No more SmartThings-ecobee disconnect issues: With my code & my support packages, you’ll no longer experience any ecobee disconnect issues (unless the ecobee or smartthings servers are down). The disconnect issues have been solved for quite a while now. Some of my contributors run the code with more than 5 ecobee thermostats and 8 remote sensors at one location without any issues fore more than a year.
Its unique design is based on a minimum number of state & atomicState variables. My Ecobee device and its Service Manager use less than 10 state & atomicState variables for more resilience versus some ST platform issues. For more details about loss of state variables and its impact, refer to the following thread:
The code works with all ecobee models: the new Ecobee4, Ecobee Lite, Ecobee3, Smart-SI, Smart-02, and even EMS thermostats.**
It now uses the latest async http requests to avoid timeouts as much as possible.
The code has been stable for more than a year now with minor updates from time to time.
All ST thermostat capabilities are exposed for easier integration with Rule Engines (SmartRules, Core or others)
My Ecobee device takes full advantage of the ecobee features, and does not create temporary holds for no reason. You can leverage my ecosystem of smartapps which was mostly built upon the following principle: ecobee is responsible for the scheduling (as it’s more reliable than ST) and SmartThings manages any exceptions to your regular schedules (ex. you’re away when you are usually at home, or back home when you’re usually away).
- New “features”:
The new upgrade (V5) brings the following features:
A- Simplified UI to allow better Android support.
There is a high number of UI issues with the ST UI for Android, especially since Android 2.1. There are some significant UI gaps between the 2 OS: Android and iOS.
B- The smartest Thermostat under SmartThings with “tips” feature.
With the v5.0, My ecobee device will be able to give you “energy savings and comfort tips” based on actual indoor/outdoor conditions at your home.
The following indoor/outdoor metrics will be processed by My Ecobee’s heuristic rule engine to provide “comfort and energy saving tips”:
- current Indoor Humidity
- current Indoor Temperature
- current OutdoorTemperature
- Ideal target Indoor Humidity calculated based on outdoor temp
- average of Indoor Temperature over a given period of time (ex.weekly)
- average outdoor temperature in the period
- standard deviation of Indoor Temperature in the period
- standard deviation of Outdoor Temperature in the period
- count of Away commands sent to thermostat
- count of Sleep commands sent to thermostat
- count of Hold commands sent to thermostat
- minimum temp at remote sensors temp collected over a period
- maximum temp at remote sensors collected over a period
- average temp at remote sensors collected over a period
- daily Cooling Runtime globally and for each stage of your HVAC
(if you have a multi-stage cooling system)
- daily Heating Runtime globally and for each stage of your HVAC
(if you have a multi-stage heating system)
- yesterday’s Cooling Runtime globally and for each stage of your HVAC
- yesterday’s Heating Runtime globally and for each stage of your HVAC
- average Weekly Cooling Runtime globally and for each stage of your HVAC
- average Weekly Heating Runtime globally and for each stage of your HVAC
- average Monthly Cooling Runtime globally and for each stage of your HVAC
- average Monthly Heating Runtime globally and for each stage of your HVAC
- fan Runtime
- hasDehumidifier (ecobee connected to a dehumidifier or not)
- hasHrv or hasErv
- specific ecobee parameters related to 2-3 stage cooling/heating systems.
C- Unique integration with Ask Alexa (developed by Michael Struck), tstat commands can be sent and tips can be given by interacting with Alexa/Amazon echo.
See this thread for more details about Ask Alexa:
See the Ask Alexa documentation about the verbal commands available:
Please contact me at email@example.com for any questions related to MyEcobee device and its integration with smart vents and any ST connected temp & motion sensors to create heating/cooling zoned solutions…
As a reminder, with my Ecobee device (which is feature complete) and smartapps, you can do the following:
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 using your humidifer/dehumidifer/HRV/ERV (when connected to ecobee)
It also allows you to use the ecobee’s free cooling feature…
See the MonitorAndSetEcobeeHumidity smartapp and this thread for more details:
7) Monitoring and setting your setpoints based on any ST connected indoor temp/motion sensors (similar to ecobee3’s follow me feature) & outdoor temperature
See the MonitorAndSetEcobeeTemp smartapp., and this thread for more details:
8) Exposing your ecobee’s remote sensors to SmartThings for HA scenarios
See the ecobeeRemoteSensorInit 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) Turning off your thermostat(s) when Window or Door contacts are open and restoring your thermostat mode when they are closed
See the WindowOrDoorOpen! smartapp.
13) Trigger to turn on/off or flash some switch(es) and/or execute hello phrases (routines) based on MyEcobee’s thermostatOperatingState
See the ecobeeStateTriggerHA smartapp.
P.S. If you want to execute the switch or routine trigger in (quasi) real-time, you’d need to poll
MyEcobee device every minute or so using pollster or a smart rule engine like CoRE/WebCoRE.
14) And many more features, you may want to consult the wiki for more details
**- MyEcobee device’s code is fully functional and available now at my store. **
- All my smartapps (which only work with MyEcobee device and represent several hundred of hours of development work and testing) are either available for free (for your own usage only) at my github:
You can also find the smartapps under the SmartThingsPublic github repo. If you have the github integration, you just need to select the ecobee apps that you need when you “Update from Repo” (yracine is at the end of the “New - only from github” list).
for a modest contribution at my store.
- Thnx to Jonathan H. and Brad S. during beta
- Thnx to M.Struck for his Ask Alexa support and documentation during this process.