[DEPRECATED] Updated Ecobee Suite, v1.4.0 (Free)

Can you please capture the Live Logging for Ecobee Suite Manager when this happens and send it to me (via PM, preferably)?

You could also check your installed devices list for device names that start with "ecobee_suite " or “dummyThermDNI” or “dummySensorDNI”. If any of those exist (possibly from an earlier installation that failed), try deleting them. One or more may be in use by a SmartApp - these will be listed at the bottom of the device page in the IDE if you click on the device from the My Devices page. These will have to be disconnected from the SmartApps and then removed…

Thanks!

UPDATE NOTIFICATION

As of Saturday, February 24 at 7:55am, Ecobee Suite Smart Mode has been updated to version 1.4.04

Fixed in this release:

  • Scheduler now properly handles temperature check frequencies longer than 5 minutes
  • Now properly handles Notifications
  • Fixed several textual typos
  • Added required/optional checks for temperature thresholds

This is a recommended update for anyone using the Ecobee Suite Smart Mode Helper

I want to use this from webcore to set my mode to away or resume program. I have it all setup and when I go to add a statement to change the thermostat to away i see the command as this “away(…)”. Does that mean there are some attributes that can be passed to it? Are those documented anywhere?

Nope - just “away()”

Thanks!
Barry

I just added contact sensors to my doors and windows and when I went to test the automatic shutoff, the sensor name was missing from the notification - “Contact/Switch Handler: left open for 5 minutes,…” Any configuration I’m missing or is this a bug?

Sounds good. I wasn’t sure if there were similiar options that could be leveraged from SmartThings similar to the Mode Change Helper App (such as hold type, fan duration, etc…).

If you look at the source code for the thermostat, you will find other entry points that support things like hold type/duration. away() is just a shortcut to making the full call to setThermostatProgram:

> void setThermostatProgram(String program, holdType=null, holdHours=2)

You will have to review the code to understand the valid holdTypes s…

It would appear that your contact sensors don’t have a Label - the SmartApp is trying to display device.displayName for the contact sensors that are currently open…

They all have names that show up in “Things” - there isn’t anywhere else to apply a label, is there? Is there any issue with a character limit? The contact that was open was “Kitchen Sliding Door”.

Is the string that needs to be returned for holdType one of the following:
“Until I Change”, “Until Next Program”, “2 Hours”, “4 Hours”, “Specified Hours” or “Thermostat Setting”

That’s what I was able to find in the Service Manager SmartApp but wasn’t sure if that was just the human readable and there was something else that needed to be sent to the thermostat.

Thanks!

No, those are the “display names” for the user to select the default hold type.

When you call thermostat.setThermostatProgram, you need to specify holdType as defined by the Ecobee API (my code does not currently support the dateTime parameter defined by Ecobee):

setThermostatProgram( program, holdType, holdHours)

  • program: (String) cap-init Program/Climate name (e.g., “Away”, “Home”, “Sleep”, “Awake”). This must be one of the values in the programsList List attribute for the thermostat
  • holdType: (String) one of:
    • ‘indefinite’ - Permanent/Until I Change
    • ‘nextTransition’ - Temporary/Until Next Program
    • ‘holdHours’ - For a specified number of hours (starting now)
    • ‘’ - Null/Empty String means use the default settings
  • holdHours: (String) Integer number of hours to hold (defaults to ‘2’ if not specified)

Let me know if you get this working with WebCoRE - others have asked how to do this but I haven’t built an example. If you could share yours, would make many people happy.

1 Like

Nope…wasn’t able to get this to work. I tried a whole bunch of combinations. I have the syntax correct, right?
02-14-22-18

Do I need to include the quotes for each one?

EDIT: GOT IT!!! Let me pull a few examples together and I’ll post something in a bit.

Just curious - what is your WebCoRE piston doing? Upon what conditions are you trying to change the thermostat’s program? Have you looked at the Smart Routine/Mode/Program helper to see if it can do what you want?

So, in order to place a command from WebCore, the first thing you have to do, after adding the t-stat as your device to command, is select the command “setThermostatProgram”. But before hitting save, in the bottom of that window, select “Parameter” then “Add a string parameter”. Do this two more times till your screen looks like this:

In the first parameter, you’ll add your program. Either Away, Home, or Sleep. Enter it with no quotes but with the correct capitalization.

In the second you’ll enter your hold parameter, if you want one. The options are: indefinite, nextTransition, or holdHours. Enter this without quotes but with the correct capitalization.

The third field is for your hours, if you want to use it but you can leave it blank. It should then look like this:

Then hit save and you’re all set! If you want to import my example piston into WebCore to copy from, the backup code is:
4dtwh

I suppose if you left both the second and third parameters blank, it would use the t-stat’s default for hold duration. Hope this helps everyone!!

3 Likes

Indeed:

  • Supply only the desired program name, will set a hold using the default settings, as controlled by the thermostat device config parameters (defaults to use the Ecobee Suite Manager preference, which in turn defaults to use the thermostat setting).
  • If you specify holdHours as the 2nd parameter, the 3rd parameter is (optional) hours - default is 2 hours.

Thanks, Ryan!

2 Likes

It’s the least I could do. I had this whole complicated setup where I would trigger a routine in WebCore which would then trigger one of your helper apps…it was a big 'ol mess. However, for simpler things, I’m still using your helper apps. The new suite is really wonderful.

Just curious - what’s the event that you are using to trigger WebCore to change the program?

Do you have a helper app to resume or set away based on presence. For instance, the last person leaves set to away. The first person arrives, resume??

WebCore would execute a routine that had nothing in it and then the Routine Helper SmartApp would change the Thermostat. But this is going to be a lot easier now.

Do you have an I’m Back routine? If so, you can use the Routine Helper SmartApp that’s already in there.