Ecobee3 again

Starting to play with HA and ST and bought a ecobee3 and successfully added the ST device. But can’t figure out how could I set up so that everyone has left home (presence defined through phones), ST sets the thermostat to Away mode and when anyone returns sets it to Home mode. The more I read the threads, the more I get confused. Looks like I might need to buy community device handler. Can someone please clarify and help here…

Thanks in advance.

There are a couple of ways to do it. @StrykerSKS has some Ecobee devices available at under ecobee-thermostat and ecobee-sensor. If you combine that with CoRE, you can change it the program and resume the program.

I currently have a virtual switch that gets turned on and off when everyone is gone or someone arrives. I then use IFTTT to change to away or resume based on the switch status.

Hi @stn,

If you want to avoid using some complex or external apps (which introduce unnecessary delays) to do a simple thing such as setting your thermostat away or present, then you need My Ecobee device which has been around for more than 2 years and it’s reliable…There are a lot of smartapps that you can use with my Ecobee device; in fact, there is no other ecobee implementation that gives you so much features.

As your requirements grow, you will be then able to use more smartapps at my github for more complex scenarios. So, myEcobee device can really grow with you…

For example, the ecobee3’s smart away and follow me features are proprietary. With MyEcobee device, you can use any ST connected temp and motion sensors to do similar features and with faster response times (setting your thermostat to away in 5 minutes instead of a minimum of 30 minutes with ecobee’s smart away).

See this thread for more details:

P.S. When you buy an ecobee3 thermostat for more than $200, a mere $20 to get all ecobee’s API rich features is not much. MyEcobee device can really turn your ecobee thermostat to a smart thermostat when exposed to ST and unlock ALL features.

Another example: if you plan to add Keen Home smart vents later, My Ecobee device is even more useful as my Zoned Heating/Cooling solutions orchestrate ecobee3’s with the vents for optimal comfort and energy efficiency.

Thanks guys, let me take a look at both options and I will get back with further questions.

1 Like

And, as a bonus, you can also use groveStreams to map your daily HVAC stats in a graph like this one:

EDIT, good link with API key:


I edited the groveStream link above with the API key; otherwise groveStreams asks you to log in.

I think this will work for me now. Can you please let me know which virtual switch are you using. @yvesracine, I have looked at your device handler and looks very interesting and feature rich, for now I am only getting my feet wet and as I get more deep into it, will definitely look to buy this.


I’m just using the standard Simulated Switch. Off/on capability. I call mine Ecobee Away. On for away, and off for home.

Thanks. I setup the switch and it is working to trigger IFTTT recipe upon power on or off. However it seems twice today the IFTTT script was not triggered even though the virtual switch was switched on or off. SO will need to watch and if it is unreliable, I might need to go the paid solution.

The nice thing about a virtual switch is that you can test it manually. Just turn the switch on and off. I can tell you from experience, there is no need to go with the paid version. I’ve had mine running with IFTTT with a success rate of 9/10 or better. In my case the issue is generally related to presence sensors not updating correctly.

With IFTTT, there will likely be a delay, though I rarely experience more than a 1m delay. Since IFTTT polls for changes, it can take 15 minutes or more at times.

I would definitely look at @StrykerSKS Ecobee app if IFTTT doesn’t work as well as you’d like or if you’d like to remove an intermediate service.

1 Like

Thanks, StrykerSKS and carmp3fan. @carmp3fan, yes I did try the virtual switch on and off manually and once there as well the IFTTT script did not trigger. But will see. definitely virtualswitch is great if you want to turn off AC, even if you are home and working outside etc and you can use the switch.

@StrykerSKS, let me try the free version, I wasn’t aware that the free version had the capability to do home/away based on presence sensors.


A good implementation starts with a good design.

No other ecobee implementation can expose so many ecobee API features, as their design limits the features they can expose. In fact, the stock ST device is very limited because of its design,

My design is unique (and has been validated by the SmartThings architects)…There is
no back and forth between a parent smartapp (which causes performance issues) and the device handler for each feature: the device handler is as independent as possible and can even work without the parent smartapp. The DTH can run without the service manager if needed (can be useful when the ST platform has severe performance and backend issues like back in December). No other ecobee implementation can do that, as their design is too tightly coupled.

I’ve created many automations and divided them into many smartapps as I want to create as many independent & dedicated services as possible.

This way, each “micro service” can be modified & tested independently from each other: this design approach allows faster changes and less ST related platform issues (instead of creating a big smartapp that does everything and requires more maintenance). This “micro service” approach limits the impact on the end users as well when a change is needed.

The end users can also pick and choose the automations that they really need to meet their own use cases.

As a reminder to the rich capabilties of MyEcobee device, here are some use cases (and the related smartapps):

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 ecobee3’s remote sensors to SmartThings for HA scenarios

See the ecobee3RemoteSensorInit 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

You can then use groveStreams to map your stats on a graph like this one:

So, when you get serious about the ST-Ecobee Integration, My Ecobee device is there
for you. And, it keeps getting better because of its well-built design that can grow with you.

For any further questions about MyEcobee device, send me an email to

My Smartapps are getting recognized also not only by Ecobee, but by other partners as well: Keen Home Smart Vents just recognized my work recently.

The smart vents integration means that you can schedule your ecobee’s setpoints in conjunction with controlling your smart vents.

No other implementation out there allows such smart integration for better comfort and energy savings.

Why settle for less when you can get everything and much more??

See this thread for more details:


_P.S. My design is also better suited for the next generation of ecobee thermostats.
In fact, My ecobee device’s design is so versatile that it can run for any ecobee thermostat models: ecobee3, Smart-SI, Smart, EMS, and any upcoming models.

Mine is dumb, but I still managed to connect it to ST. With a link chain. I will definitely know when the bike is not home.

OK, sorry to interrupt the snark, but i have a question and i will accept ridicule. Please be gentle. I’ve tried to copy/paste @StrykerSKS code into a new smart app. I get this error. I did paste all 774 lines showing. What did i do wrong?

No signature of method: script1467117130657352888491.metadata() is applicable for argument types: (script1467117130657352888491$_run_closure1) values: [script1467117130657352888491$_run_closure1@3bea83b3] Possible solutions: getMetadata(), getState(), setState(java.lang.Object), metaClass(groovy.lang.Closure)

1 Like

Did you copy the raw version? Are there any weird characters at the very top of the file (delete them)?

This error is when you are saving the SmartApp, right? Could be encoding (UTF-8) related. Try and do the copy paste again.

I tried again from the RAW. Here’s the top of the code. Is there something i need to delete?


  • Copyright 2015 SmartThings
  • Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except
  • in compliance with the License. You may obtain a copy of the License at:
  • Unless required by applicable law or agreed to in writing, software distributed under the License is distributed
  • on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License
  • for the specific language governing permissions and limitations under the License.
  • Ecobee Thermostat
  • Author: SmartThings
  • Date: 2013-06-13
    metadata {
    definition (name: “Ecobee Thermostat”, namespace: “smartthings”, author: “SmartThings”) {
    capability “Actuator”

No, not unless there are weird looking characters. Let me get to a conputer and will look at it.

1 Like

The code you are pasting is not a SmartApp. It’s a Device Type Handler. Go to the My Device Handlers tab and add a new Device Type Handler from code. Not sure if there’s a SmartApp to accompany the DTH, but I assume you can install the standard Ecobee integration from ST and then, once you created the DTHs and published them, go to the Ecobee device in My Devices, edit the ecobee thermostat, and choose the newly imported DTH instead of the standard one. Not sure if this is the way, but it seems the most logical at this point.

As ady624 mentions, what you posted was the Device Handler. There is the SmartApps (Connect, Ecobee Routines). And two Device Handlers (Thermostat, Sensor). The instructions guide you through each step, so please follow them line by line.