[RELEASE] Free Ecobee Suite, version 1.6.1*

askalexa
thermostat
smartapp_hvac
dth_hvac
project_hvac

(Barry) #102

FWIW: It’s actually the other way around - SmartThings is getting disconnected from the Ecobee cloud servers.

Since v1.4.* the Ecobee Suite code has proven to be quite resilient WRT the Ecobee connection, and it will attempt to reconnect after any loss of connection or auth_token. Since the Ecobee Suite code runs in SmartThings’ cloud and talks to the Ecobee cloud, any outage is most likely related to a server or communications failure.

That said, I may have missed a condition somewhere, because 2 or 3 people have reported the same thing. I myself am unable to recreate it.

If you (or anyone else) are able to capture the Live Logs showing the VERY FIRST error that occurs in Ecobee Suite Manager when the connection is lost, it would be most helpful (ideally with debug level 5 set in the Suite Manager). Note that you will see lots of error/warning messages as it tries to reconnect - these are normal…I’m trying to capture the very FIRST errors to understand what is causing the loss of connection.


(James Luongo) #103

Hey Barry,

I’m having an issue with Quiet Time version 1.6.13 on Ecobee Suite 1.6.14. I’ve already checked the thread and don’t see anyone having the same issue.

I have a virtual button that controls quiet time. When the button is off, quiet time turns on, meaning button off, hvac off. When the button is on, quiet time ends, so the hvac is supposed to turn back on. I have selected the setting “Also resume current program at the end of Quiet Time”

Quiet time on is working. When I turn the button off, quiet time is turned on and my hvac turns off. However when I turn the button on, quiet time ends, but the hvac stays off.

Can you let me know if I’m doing something wrong with my configuration?

Here are the logs I was able to pull while testing this:

Quiet Time app log:

Ecobee Suite log:

Thermostat device log (sorry too long to take a screen shot):

749a1a60-c025-4a2a-ad69-b009030aef75  10:13:17 AM: info resumeProgram() - No current hold
749a1a60-c025-4a2a-ad69-b009030aef75  10:12:28 AM: info Thermostat Mode changed to off
749a1a60-c025-4a2a-ad69-b009030aef75  10:12:28 AM: info Updated 7 objects (437ms)
749a1a60-c025-4a2a-ad69-b009030aef75  10:12:28 AM: debug generateEvent() - Out of switch{}, calling sendevent([name:thermostatFanMode, linkText:EcobeeTherm: Master Bedroom Thermostat, handlerName:thermostatFanMode, value:off, descriptionText:Fan Mode is off, data:[supportedThermostatFanModes:[on, auto, circulate, off]], isStateChange:true, displayed:true])
749a1a60-c025-4a2a-ad69-b009030aef75  10:12:28 AM: debug generateEvent() - In each loop: object #1 name: debugEventFromParent value: setMode(off) returned true
749a1a60-c025-4a2a-ad69-b009030aef75  10:12:28 AM: debug generateEvent() - Out of switch{}, calling sendevent([name:equipmentOperatingState, linkText:EcobeeTherm: Master Bedroom Thermostat, handlerName:equipmentOperatingState, value:off, descriptionText:Equipment is off, isStateChange:true, displayed:true])
749a1a60-c025-4a2a-ad69-b009030aef75  10:12:28 AM: info Updated 1 object (107ms)
749a1a60-c025-4a2a-ad69-b009030aef75  10:12:28 AM: debug generateEvent(): parsing data [thermostatMode:off, equipmentOperatingState:off, thermostatFanMode:off, thermostatFanModeDisplay:off]
749a1a60-c025-4a2a-ad69-b009030aef75  10:12:28 AM: debug generateEvent() - In each loop: object #1 name: debugEventFromParent value: setMode to off with result true
749a1a60-c025-4a2a-ad69-b009030aef75  10:12:28 AM: debug generateEvent(): parsing data [debugEventFromParent:setMode(off) returned true]
749a1a60-c025-4a2a-ad69-b009030aef75  10:12:28 AM: info Updated 1 object (121ms)
749a1a60-c025-4a2a-ad69-b009030aef75  10:12:27 AM: info Updated 1 object (106ms)
749a1a60-c025-4a2a-ad69-b009030aef75  10:12:27 AM: debug generateEvent() - Out of switch{}, calling sendevent([name:debugEventFromParent, linkText:EcobeeTherm: Master Bedroom Thermostat, handlerName:debugEventFromParent, value:sendJson() resp.status 200, resp.data: [status:[message:, code:0]], returnStatus: 0, descriptionText:-> sendJson() resp.status 200, resp.data: [status:[message:, code:0]], returnStatus: 0, isStateChange:true, displayed:true])
749a1a60-c025-4a2a-ad69-b009030aef75  10:12:27 AM: debug generateEvent(): parsing data [debugEventFromParent:Successful call to ecobee API.]
749a1a60-c025-4a2a-ad69-b009030aef75  10:12:27 AM: debug generateEvent() - In each loop: object #1 name: debugEventFromParent value: Updated [status:[message:, code:0]]
749a1a60-c025-4a2a-ad69-b009030aef75  10:12:27 AM: debug generateEvent() - Out of switch{}, calling sendevent([name:debugEventFromParent, linkText:EcobeeTherm: Master Bedroom Thermostat, handlerName:debugEventFromParent, value:Updated [status:[message:, code:0]], descriptionText:-> Updated [status:[message:, code:0]], isStateChange:true, displayed:true])
749a1a60-c025-4a2a-ad69-b009030aef75  10:12:27 AM: debug generateEvent() - Out of switch{}, calling sendevent([name:debugEventFromParent, linkText:EcobeeTherm: Master Bedroom Thermostat, handlerName:debugEventFromParent, value:sendJson() - {"selection":{"selectionType":"thermostats","selectionMatch":"311054598839"},"thermostat":{"settings":{"hvacMode":"off"}}}, descriptionText:-> sendJson() - {"selection":{"selectionType":"thermostats","selectionMatch":"311054598839"},"thermostat":{"settings":{"hvacMode":"off"}}}, isStateChange:true, displayed:true])
749a1a60-c025-4a2a-ad69-b009030aef75  10:12:27 AM: debug generateEvent() - In each loop: object #1 name: debugEventFromParent value: sendJson() resp.status 200, resp.data: [status:[message:, code:0]], returnStatus: 0
749a1a60-c025-4a2a-ad69-b009030aef75  10:12:27 AM: debug generateEvent() - In each loop: object #1 name: debugEventFromParent value: sendJson() - {"selection":{"selectionType":"thermostats","selectionMatch":"311054598839"},"thermostat":{"settings":{"hvacMode":"off"}}}
749a1a60-c025-4a2a-ad69-b009030aef75  10:12:27 AM: debug generateEvent(): parsing data [debugEventFromParent:sendJson() - {"selection":{"selectionType":"thermostats","selectionMatch":"311054598839"},"thermostat":{"settings":{"hvacMode":"off"}}}]
749a1a60-c025-4a2a-ad69-b009030aef75  10:12:27 AM: info Updated 1 object (166ms)
749a1a60-c025-4a2a-ad69-b009030aef75  10:12:27 AM: debug generateEvent() - Out of switch{}, calling sendevent([name:debugEventFromParent, linkText:EcobeeTherm: Master Bedroom Thermostat, handlerName:debugEventFromParent, value:Mode Request Body = {"selection":{"selectionType":"thermostats","selectionMatch":"311054598839"},"thermostat":{"settings":{"hvacMode":"off"}}}, descriptionText:-> Mode Request Body = {"selection":{"selectionType":"thermostats","selectionMatch":"311054598839"},"thermostat":{"settings":{"hvacMode":"off"}}}, isStateChange:true, displayed:true])
749a1a60-c025-4a2a-ad69-b009030aef75  10:12:27 AM: debug generateEvent() - In each loop: object #1 name: debugEventFromParent value: Mode Request Body = {"selection":{"selectionType":"thermostats","selectionMatch":"311054598839"},"thermostat":{"settings":{"hvacMode":"off"}}}
749a1a60-c025-4a2a-ad69-b009030aef75  10:12:27 AM: debug generateEvent(): parsing data [debugEventFromParent:Mode Request Body = {"selection":{"selectionType":"thermostats","selectionMatch":"311054598839"},"thermostat":{"settings":{"hvacMode":"off"}}}]
749a1a60-c025-4a2a-ad69-b009030aef75  10:12:27 AM: debug getDeviceId() returning 311054598839

(James Luongo) #104

Ok, I think I found the problem.

Looks like a typo. :slight_smile:

Updated to if (i <= 0) and re-published the app. It’s working for me now.


(Barry) #105

Nice catch, James!

Corrected version being posted momentarily…thank you, kind sir!

Quiet Time, v1.6.14 posted


(Chris) #106

It seems to have slowed down. Have only seen it once lately and was away from the house when it happened. I will try next time to grab a log.


(Joe m. ) #107

In my suite manager in the ide when I view it, it says at the bottom 1.6 self published and above that 1.7 published, is there a problem here?


(James Luongo) #108

No problem. I’m surprised nobody else caught it first.

Right now I’m tracking down an issue with the open contacts helper. Just like with quiet time, it turns off the hvac but never turns it on. I’m actually using open contacts to set quiet time, so it’s a little complicated to understand the flow.

I have 3 ecobee thermostats on my account. One is for one hvac, and the other two are for another zoned one. I have two open contacts apps and two quiet time apps, one for each hvac. The open contacts app for the hvac with 2 thermostats works with no issues. The app for the hvac with one thermostat doesn’t.

As I mentioned, I haven’t been able to pinpoint the problem yet, but I’ll grab some logs and post them when I have a chance.

Overall, I’m loving the app suite. Thanks for all your hard work on it!


(Barry) #109

Minor bug fix updates published 29 August, 2018 at 9:10am EDT

  • Fixed typo in Quiet Time v1.6.14
  • Cleaned up HVAC On and HVAC Temp Change in Open Contacts v1.6.15

Although minor edits, these were causing some people to have issues with one or both.


(Barry) #110

Not sure what you are describing - can you PM me a screen shot, please?


(James Luongo) #112

Looks like the change to Open Contacts fixed the issue I was having. Thanks!


(Daniel Ionescu) #113

@storageanarchy
I’m still looking into some details in your application and I have a question regarding dehumidification.
This is a quote from ecobee support:
“AC control is independent, so you can have both the AC run and the Dehumidifier. The only issue you get is in terms of functionality with AC Over Cool Max and Dehumidifier Set point, the Ecobee’s program will have the Accessory take precedent in this situation”
Can this application, either directly or through webcore disable Accessory terminal as ecobee has it wrong? Dehumidifier (Accessory terminal) should normally come into place only after temperature is at or lower then setpoint. What’s happening now, if humidity is higher then setpoint regardless of temperature, Accessory terminal is flipped and on a call for AC the system runs on lower speed and for much longer as air flow is lower.


(Barry) #114

Hmmm… interesting question - I will have to do a little research…but if I understand you correctly, I think I could possibly turn off the dehumidifier until the demand request for Cool is complete, and then turn ON the dehumidifier until the demand for Cool is raised again.

If it is possible, this will take some work, and and I think you won’t be able to do it with WebCore (easily, anyway).

What will make it tricky is if you also want to use Over-cooling to reduce the humidity. Tricky, not impossible :wink:

So, is this what you are looking for?


#115

Thanks. This fixed the issue where my temp said 467 degrees.


(Daniel Ionescu) #116

Thank you for looking at this so quickly.
That’s correct.
Using Dehumidification with AC can work in 2 modes. Simple mode is simply enabling overcooling. Precision mode means dropping D wire (Acc+ in ecobee) once temperature setpoint is reached and keeping Y1 and/or Y2 active untill either humidity setpoint is reached.
This is from the manual:
" Dehumidification is provided only when the thermostat is in cool mode. Dehumidification D terminal wires to variable−speed blower (reverse logic/active on low signal 24VAC). When the unit is in heating mode, the
dehumidification function is off.

The D terminal is active whenever the thermostat is powered, EXCEPT when there is a dehumidification demand. This means that the D terminal has 24V on it even in HEAT and OFF modes.

Basic Mode: Dehumidification only with a cooling demand. COOL is on, then D is active (reverse logic, off), and G is on (if not already on), Y1 and Y2 (if available) is on.

Precision Mode: Dehumidification with or without Cooling demand. D is active (reverse logic, off), and G, Y1, and Y2 (if available) are on. Note that H is inactive (off) during dehumidification. The D terminal controls dehumidification. When a dehumidification demand is present, the D terminal becomes de−energized. Otherwise, 24VAC is present in off mode and heating mode unless there is a call for dehumidification"

Let me know if I can help with anything.


(m.disieno) #117

Is there per chance a wiki for your new suite. I’m working with webcore trying to set away and home. I see away(), but and I’d suspect resumeprogram() allows it to go back to home.


(Barry) #118

I’m pretty sure I listed all the entry points in the README.md in the git repository.

In addition to away() there is also home() and asleep()/night(). And yes, resumeProgram() clears any hold and tells the stat to switch to the currently scheduled program.


(Barry) #120

I suppose I need to update the installation instructions to specify that you MUST use SmartThings Classic to install the Ecobee Suite.


(Ian) #121

Sorry I got it work. It looks like the classic app also got updated UI. It requires me to hit Save not just Done to save the smartApp. Now I can use it with webCore to do what I want. Thank you for the reply.


#122

As of yesterday I am unable to set setPoints. At first I thought it was an auth issue so I signed back in, but the DTH is reporting the correct status and is able to poll. So I’m not sure? I’m on the latest of everything.


#123

Hi Barry,

I just added a Smartthings hub to my mom’s house along with a Ecobee 3. Set the hub up as an new location under my current account. The thermostat is updating, and interacts just fine with ecobee suite 1.6.15 but this is the first time I am using one of your helpers. I setup up Mode/Reoutine/Program helper to change the mode of the Hub based on the program mode of the ecobee.

Ecobee -> Hub
Away -> Away
Home -> Home
Sleep -> Night
Vacation -> Vacation

None of the mode changes are setting the hub to the mode even though the log shows the activity:

a927264-9ee3-4b90-bee3-b5b73a3efb6d ‎10‎:‎22‎:‎48‎ ‎PM: info updateThermostatData() - Updates for 1 thermostat (Taylor)
3a927264-9ee3-4b90-bee3-b5b73a3efb6d ‎10‎:‎22‎:‎48‎ ‎PM: info updateThermostatData() - Updating event data for thermostat Taylor (312901396534)
3a927264-9ee3-4b90-bee3-b5b73a3efb6d ‎10‎:‎22‎:‎48‎ ‎PM: info Parsing complete
3a927264-9ee3-4b90-bee3-b5b73a3efb6d ‎10‎:‎22‎:‎47‎ ‎PM: info Parsing data for thermostat Taylor (312901396534)
3a927264-9ee3-4b90-bee3-b5b73a3efb6d ‎10‎:‎22‎:‎47‎ ‎PM: info Poll callback (270ms)
3a927264-9ee3-4b90-bee3-b5b73a3efb6d ‎10‎:‎22‎:‎47‎ ‎PM: info Polling thermostat Taylor (312901396534)
3a927264-9ee3-4b90-bee3-b5b73a3efb6d ‎10‎:‎22‎:‎44‎ ‎PM: trace Away Notification Message (notify=false): Changing Mode to Away because EcobeeTherm: Taylor changed to Away
3a927264-9ee3-4b90-bee3-b5b73a3efb6d ‎10‎:‎22‎:‎44‎ ‎PM: info Away Changing Mode to Away because EcobeeTherm: Taylor changed to Away
3a927264-9ee3-4b90-bee3-b5b73a3efb6d ‎10‎:‎22‎:‎43‎ ‎PM: info setProgram() for thermostat Taylor [heatingSetpoint:64, coolingSetpoint:80, currentProgram:Away, currentProgramId:away]
3a927264-9ee3-4b90-bee3-b5b73a3efb6d ‎10‎:‎22‎:‎43‎ ‎PM: debug sendJson() - {“functions”:[{“type”:“setHold”,“params”:{“holdClimateRef”:“away”,“holdType”:“nextTransition”}}],“selection”:{“selectionType”:“thermostats”,“selectionMatch”:“312901396534”}}
3a927264-9ee3-4b90-bee3-b5b73a3efb6d ‎10‎:‎22‎:‎43‎ ‎PM: info setProgram(Away) for for thermostat Taylor
3a927264-9ee3-4b90-bee3-b5b73a3efb6d ‎10‎:‎22‎:‎43‎ ‎PM: trace No updates…
3a927264-9ee3-4b90-bee3-b5b73a3efb6d ‎10‎:‎22‎:‎05‎ ‎PM: trace No updates…

Any ideas why this isn’t working or did I mis-understand how this helper is supposed to work?

Also there may be a typo on the form for the form when you select “Mode” for Change Mode or Execute Routine the label for the next field changes to “Change Hello Mode to” ?

Thanks