[DEPRECATED] Free Ecobee Suite, Version 1.2.*

Ah… I think I am attempting to use this in a way that it was not designed. I am trying to use it as a notification only (leave HVAC untouched)… like “Hey dummy, it’s warm enough to run the A/C and yet you still got the master bedroom window open. Maybe you should go close that.” I wouldn’t structure my message that way :slight_smile:, but that is my use case.
With that said a list of all the contacts that are in the handler name that are open would be great
I have been meaning to set this up in webCoRE and then I found your SmartApp :smiley:

OK, I can’t seem to get a hold routine to work. I’ve attached a screenshot of my setup. I want away-hold on the goodbye routine and resume schedule on the I’m back routine. I’m back seems to be working fine(manually set a hold temp and I’m back resumes the schedule). However, goodbye seems to also be resuming schedule. Any hints? Away-hold works from the thermostat control in “things”.

Thanks!

Tim -

If you set the Helper SmartApp to Notify Only, it will indeed work as you describe. I’ll look into changing the text when it is notify only so that it says something like “the [Thermostats] should be off” when windows are opened, or “[Thermostats] could be on” when they are all closed.

Note that this message is based on changes in the contacts/switches, and not on the temperatures. So, if you open a window (and you have Notify Only), it will tell you that the A/C should be off (even if it is already), and when you close all the windows it will tell you that you could have the HVAC turned on.

Doesn’t sound to be exactly your desired use case…

Yes, before I change any Climates or set any Holds, I first resume any currently running program or hold. Then I check to see if the currently scheduled program (that we just resumed to) is the same as the requested. If so, and the default Hold Type is “Until Next Program”, I don’t set another hold (it would be redundant). But if the Hold Type is anything OTHER than Until next Program, I do set the requested hold.

The idea is this:

  • You leave the house, stat is in Home mode - not in a hold condition. Goodbye! runs, sets the program to Away in accordance with the specified hold type.

  • You leave the house, stat is in Hold Home mode, default for right now is Away. We do a resume program, check that the stat is in the desired Away state, so we don’t set a Hold: Away unless you specified to hold forever (for example).

If you scroll down in the screenshot you provided, the next field allows you to set the Hold Type for this Routine handler…try setting that to different values and see if you can’t accomplish what you want.

Thanks for the reply, this is the scenario I’m trying to address right now. I have it set correctly(I think) to hold forever but it’s not working. Here’s the rest of the page. I’d like it to go to away until the next person returns home rather than when the ecobee program is set.

Fixed in ecobee-routines.groovy v1.2.1

For those using webcore, how do we set comfort settings like away or home?

Would like to know as well.

Play around with webcore using command SetThermostatProgram('Away,indefinite,null) and no results.

The event shows in the history but my ecobee didn’t change to ‘Away’ Maybe parameters im using are wrong or the command :confused: ?

It may be helpful to turn logging to level 4, then watch the Live Log for the Thermostat device when you call these.

To change Programs:
home()
present()
asleep()
night()
away()
setThermostatProgram(“Away”,“indefinite”,null) // climates names must be capitalized

The current list of supported Programs is in the device attribute programsList (list of Strings) - this is dynamic and will contain any custom program names as well as the default ones. The holdType must be the valid string from the Ecobee API documentation (“indefinite”,"nextTransition,“holdHours”) - if null, uses the configured default from the device, Ecobee(Connect) or the thermostat itself (using that precedence). If holdHours, hours defaults to 2, can be any positive whole number (1 --> n).

To resume currently scheduled program:
resumeProgram()

To change Modes:
auto()
cool()
heat()
off()
auxHeat()
emergency()
setThermostatMode(“auto”) // “auto”, “heat”, “cool”, “auxHeat”, "emergency"

The supported list of modes is in the device attribute supportedThermostatModes and will reflect only the configured equipment (i.e. no “cool” if the system is heat only).

To change Fan Modes:
fanAuto()
fanOn()
fanCirculate() // Sets fanMinInTime=20, fan will circulate even if Mode = off
fanOff() // Sets fanMinOnTime=0, same as auto unless Mode == off
setThermostatFanMode(“auto”,“indefinite”,"") // “auto”,“on”,“circulate”,"off"
setFanMinOnTime(20) // 0-55 minutes

The supported list of fan modes is in the device attribute supportedThermostatFanModes.

NOTE: only Mode changes will work while the thermostat is in Vacation mode; call cancelVacation() to cancel current vacation.

Hope this helps (I will add it to the documentation soon.

Thanks! Got away working by using away() method.

IMG_2008IMG_2004IMG_2005IMG_2007IMG_2006

Im not sure about home(). I do not see it listed as a command on the webcore List.

I did find a ‘Pan Camera to the Home’ , not sure why this is here?

You’ll have to ask the WebCoRE folks - home() is definitely there and defined properly within Ecobee thermostat.

[edit]
I suspect they are assuming that “home()” means Pan camera… I’ll bet if you select that, it will still actually call home() for the device. You should report the bug, however.

2 Likes

I just use resumeProgram() works well in Core.

Yes, but that only gets you back to Home if the currently scheduled program is Home.

You can use present() as a synonym for home() - that is supported for compatibility with the Nest programs.

You’re correct. I used ‘pan camera to the home’ and it did some extra commands but the result was that it switch from ‘away’ to ‘home’

@storageanarchy just an fyi a little of topic but in case you haven’t seen this in regards to webcore:

You are correct. webCoRE has the ability to provide friendly names for custom commans and has a short list of such custom commands, home() being one of the first ones coined by I believe the dlink manager app. I need to look that up and get in contact with you and the other developer and find a solution that works for all :wink:

2 Likes

Is there a way to see via webcore if the Ecobee Thermostat is in vacation mode? I’m attempting to modify a safety script of mine in hopes of not having to use a simulated switch. @storageanarchy

Check the IDE My Devices, find your device, check for the attributes in that page, see what you can figure out.

You can check any one of three attributes to see if the thermostat is in vacation mode:

  • currentProgramName will be “Vacation” (Cap Init)
  • thermostatHold will be “vacation” (lower case)

The attribute holdStatus tells you when the Vacation is scheduled to end (updated daily as follows):

  • Vacation ends on 09-04 at 11:30am
  • Vacation ends tomorrow at 11:30am
  • Vacation ends today at 11:30am

Other values for currentProgramName include:

  • “Home”
  • “Away”
  • “Sleep”
  • “Awake”
  • “Auto”"
  • “Auto Away”
  • “Auto Home”
  • “Hold”
  • “Hold: Fan”
  • “Hold: Fan On”
  • “Hold: Fan Auto”
  • “Hold: Circulate”
  • “Hold: Home”
  • “Hold: Away”
  • “Hold: Sleep”
  • “Vacation”
  • “Offline”
  • “Hold: Temp”
  • “(custom program name)”

currentProgram will generally be the actual program name in use (e.g. “home” when currentProgramName is “Hold: Home” or “Auto Home”.

Starting 2 or 3 days ago, I noticed that my thermostat wasn’t changing when different routines would run, nor was it working with the Keep Me Cozy II app. I hadn’t updated anything in a while, so I did and now have the latest device handlers and apps, but it doesn’t appear that any changes are being sent to the thermostat. When I view the thermostat in the app and go to Recently, it’s pulling all the current settings, but doesn’t appear to be making any. The only way I can change anything is directly through the Ecobee app or on the thermostat itself. The helper apps like Smart Circulation aren’t working either. The fan settings are whatever is set via the Ecobee app. I logged out and back in via the Ecobee Connect app but that didn’t help. I’ve tried to delete the app to reinstall it but when I try that via the ST app I get an error and if I try via the IDE, it says it can’t be deleted as it’s installed by one or more users. Suggestions?