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

As @Ryan780 noted, if you use presence to change the SmartThings Mode of your home (using the Goodbye!, I’m Back!, Good Night! and Good Morning! Routines), you can easily use the included Ecobee Suite Smart Routine/Mode/Program Helper app to change the thermostat to the appropriate Program when each of those Routines run (Goodbye! == Away, I’m Back == Home, Good Night! == Sleep, Good Morning! == Home).

And in fact, this was my original motivation, as I didn’t like that the ST Routines only let you set a temperature instead of the Program…

Enjoy!

2 Likes

Got it figured out. Looks like it was the Alexa smart app connection.

1 Like

Hi Barry, first of all thank you for the open source suite! It may seems like a thankless job but i would like to cheer you on for the hard work you and the original coders put into this project.

Question:
is the new device handler compatible with alexa smart skill? I can’t get alexa to discover the new thermostat via a connected smart things account.

Thanks
Leo

For Alexa, I would recommend using the native Ecobee Plus skill. That way you’re not trying to go through two levels of control.

As Ryan notes, it’s best to use the Ecobee Skill for linking with Alexa.

That said, I have my Ecobee’s linked to Alexa via the Ecobee-provided skill, AND I also have my Ecobee’s connected as “SmartThings Thermostat” via the SmartThings skill/integration - both work fine for me (because the thermostats have slightly different names in Ecobee and SmartThings).

That said, I’m in the US - integration/support might be different dependent upon where you are.

What is/isn’t working?

Having a heck of a time with my temp routines. It looks like it works correctly when cooling, but when heating it is off by around 5 degrees. For example, my morning temp change should go from 66 to 73. It changes to 68. Likewise at night when it should change to 66, it changes to 62. Hub page log shows the correct temp then overwritten with another. Any ideas?

3:54:51 PM: debug sendJson() - {“selection”:{“selectionType”:“thermostats”,“selectionMatch”:“312927778424”},“functions”:[{“type”:“setHold”,“params”:{“coolHoldTemp”:“670”,“heatHoldTemp”:“620”,“holdType”:“indefinite”}}]}
3:54:51 PM: info resumeProgram(true) returned true
3:54:50 PM: debug sendJson() - {“functions”:[{“type”:“resumeProgram”,“params”:{“resumeAll”:“true”}}],“selection”:{“selectionType”:“thermostats”,“selectionMatch”:“312927778424”}}
3:54:50 PM: trace Entered resumeProgram for deviceId: 312927778424 with child: EcobeeTherm: Downstairs
3:54:49 PM: debug sendJson() - {“selection”:{“selectionType”:“thermostats”,“selectionMatch”:“312927778424”},“functions”:[{“type”:“setHold”,“params”:{“coolHoldTemp”:“730”,“heatHoldTemp”:“660”,“holdType”:“indefinite”}}]}
3:54:49 PM: info resumeProgram(true) returned true
3:54:49 PM: debug sendJson() - {“functions”:[{“type”:“resumeProgram”,“params”:{“resumeAll”:“true”}}],“selection”:{“selectionType”:“thermostats”,“selectionMatch”:“312927778424”}}

Several:

  1. Check the “Recently” log for your thermostat device and see if there is a SmartApp/Routine name shown for when the temperature changes to 67/62. If so, there’s your culprit
  2. Look at the “SmartApps” tab for the thermostat device, and check to see what each of the SmartApps that have registered with the thermostat are doing. This could be a Helper SmartApp, or possibly a SmartThings Routine (“I’m Back!”, “Good Morning!”, etc.)
  3. Even if they don’t show up in the SmartApps list, cheack each of your Routines to see if they are configured to set the temperature.

I suspect #3, as historically that was to the only way to get the temperatures to change when you came back home. With my suite, I suggest deleting those temperature settings, and creating a Routine Helper SmartApp within Ecobee Suite Manager that selects the desired program when your Routines run and/or Modes Change.

Let me know if you find the problem - others my also experience the same, and learn from your experience.

Good Luck!

Numero ThreeO it was. Thanks! I couldn’t find anything that had 62 degrees, but I deleted them all and went with the Smart Apps. I hadn’t even considered using the Helper Apps.

Awesome - good to know!

UPDATE ANNOUNCEMENT

On March 7, 2018 at 3:20pm EST, Ecobee Suite Manager was updated to version 1.4.11

Changes in this release:

  • Adds support for Ecobee Smart monitor_device temperature sensors
  • Corrects a complication that could mess things up if you have more than 1 sensor with the same name attached to different Ecobee thermostats
  • Improves the logging around the above fixes to make it easier to debug issues in the future

This is not a mandatory update at this time, unless you are using Smart or Smart Si thermostats.

1 Like

UPDATE ANNOUNCEMENT

On March 8, 2018 at 8:30am (ish), the Ecobee Suite Smart Mode Helper SmartApp was updated to v1.4.05

Changed in this release:

  • Will now only change the mode once each time the monitored temperature “crosses over” a target temperature

This change enables a new use case: the ability to change the Thermostat(s) Mode based on External Temperature, and then to override that if the Internal temperature crosses over separate set of targets.

Here’s how:

  • Create a new Smart Mode instance, name it “Smart Mode (outside)” (or anything else you prefer)
    • Select an outside temperature source, and set your Cooling “on” target to 78F and your Heating “on” target to 66F, and set the option to change to Off mode between those two temperatures;
  • Create a SECOND Smart Mode instance, name it “Smart Mode (inside)”
    • Select the Thermostat Device’s temperature source (inside, averaged across active Ecobee Sensors), and then set Cooling to (ideally) the same temps you have set on your thermostat for heat/cool (and definitely not any lower). This time don’t set a mode change when “between”.

What we are trying to effect is to turn off the HVAC when the outside temperature is within a “comfort zone,” but to override that should the inside temperature exceed another defined “comfort zone” (ie, turn off until the outside temperature drops below 66F, unless the inside temperature falls below my desired 69F).

Note that using Smart Mode along with the Contacts/Switches helper may produce undesireable Mode changes, because neither Help knows what/why the mode is currently what it is…

So, users are advised to monitor the effects closely. And please, submit any suggestions you may have on how to improve this logic.

Thanks for using my Ecobee Suite!!!

1 Like

I’m correct in thinking that the original Ecobee Connect smartapp must be installed, right?

I can’t be sure whether you meant “installed” or “uninstalled”, so I’ll answer both:

If “installed”: No, the new Ecobee Suite is installed and managed by the new Ecobee Suite Manager app, and none of the members of Ecobee Suite will work under the older Ecobee (Connect). You should be able to install Ecobee Suite alongside of an existing Ecobee (Connect) installation.

I “uninstalled” - no, you should be able to install Ecobee Suite alongside of an existing Ecobee (Connect) installation, without first removing the older version

I’m sorry, I did not do a good job articulating what I meant.

I’ll just say this. I uninstalled the Ecobee Connect app, and installed your Suiote. Is that ok? Or should I also install the Ecobee Connect app? I didn’t like seeing two thermostats in ST’s, sehich is why I installed the other one.

You should be perfectly fine - the Suite does not need the (old) Ecobee (Connect) SmartApp - that was replaced by Ecobee Suite Manager.

And in fact, you can delete all of the Ecobee devices and SmartApps that are listed in the namespace “SmartThings” out of your IDE completely.

1 Like

Ahh, I didn;t realize the Ecobee Connect was you, I just always assumed it was from Ecobee. You’re the man! Thanks for all you do. This new suite is doing exactly what I need.

1 Like

I have everything setup and working great, thanks for the great Ecobee Suite. I do have one question. Pretty much everything with my ecobee thermostats is controlled by WebCore, but I had something unusual come up the other day. I had a vacation mode setup for this past weekend using the Ecobee interface (not SmartThings). It was set to start vacation Friday at noon. Well, that got set as it should, but we were still at home. We ended up leaving shortly after that, so I just left it in Vacation mode. When we left, my WebCore fired based on both phones being outside of my home proximity and/or the alarm being set (not actually sure, could have been either or both). However, when this fired it set my Ecobee to Away - Hold as it normally does. However, this overrode the Vacation setting. Is there someway to check to see if it is in Vacation mode, and not change anything?

Hmmm…it is supposed to prohibit setting a hold when in Vacation mode, but maybe I have a loophole somewhere.

A couple of questions:

  • are you sure you only have my Ecobee Suite installed, and that WebCoRe is using only my Suite version?

  • what entry point into the Suite Thermostat does your WebCoRE call - specifically?

  • have you considered using the Suite’s Routine/Mode/Program Helper instead of WebCore - at least for the changing of thermostat based on the SmartThings Routines or Mode changes? This give you the option to override Vacations when you want (e.g. when you get back home early), but not if your house changes to Away.

i Will try to look at this tonight; knowing what you called will be of great help.

Thanks!

I just tried, using the Helper Smart Apps and WebCore. I set to away by WebCore and Return home with the helper app. When I go to “away”, it doesn’t cancel the vacation hold but when I’m back it does (as intended). I’ve used the helper SmartApps without canceling hold, and I know that works. This is what I am using to set away within WebCore.
12-17-56-06

There is also a “cancelVacation” command available in WebCore and I assume that would cancel the vacation if used.

Yeah, not really sure what is going on. My ecobee’s were going offline some around that time, so that may have contributed to it. The best I can piece together is the following timeline.

11AM Ecobee went into Vacation mode (Heat at 62, Cool at 78)
12PM Alarm Set, webcore fired with Away() (Mode still shows as Vacation, but Heat changed to 64, Cool change to 76. These values are the same as my Away settings).

A day or two later I checked my Ecobee app and it showed my Away temperatures and the indication on the screen was a hold for Away mode.

As a reference, here is what is called from Webcore when we are away.

image

And here is what is called when we return

image

I supposed I could do routines, but unfortunately so of my complexities with other things make it challenging. If I can stick with Webcore I would like to.

Again, my connection issues from Ecobee around that time may have been the culprit. I will do another test soon to see.