[DEPRECATED] Free Ecobee Suite, Version 1.2.*

Finally - I couldn’t figure out why it was working for me, until I turned up the log level…

I have updated ALL of the Suite to prevent this error in the future…

Shouldn’t matter whether Google Home tells SmartThings to make a change, or if it talks directly to the Ecobee. And any updates should be reflected in the SmartThings UI within the next polling cycle…

UPDATE: Ecobee Thermostat v1.2.15

Changes:

  • Fixed typo that caused setThermostatProgram to fail if logging level was set to 4 or 5. This should fix anyone having issues changing programs, either via the ST Device or via WebCore. Everyone should at least install this module.
  • Added code to prevent the above error from happening again across ALL of the Suite - not required to update these, but it’s a good idea.

Anyone else have the issue with “device unavailable” showing up in the smartthings mobile app? If I go into the T-stat and hit refresh, then the message will go away. This happens with both Ecobee 3 lites’s that I have. All other devices do not have this issue, only the Ecobee’s. Now despite it saying unavailable if I adjust the temp, it will work properly so this is more of annoyance the anything.

OK, thanks. Sometimes if you have a device in different apps, it doesn’t like it. I wanted to make sure that adding it to GH as well as having it in smartthings (and webcore) wasn’t going to step on each other’s toes.

Hi Barry,

sorry to bother you again… when I run away() and sleep() it failed since 10:30AM this morning(see the log following).I can run home and resume program. seems not Ecobee server issue. BTW, log level 3… DTH 1.2.15. Ecobee connect 1.2.9

1473eef1-f739-4aac-9e2d-2a77c21cc017 12:03:49 PM: trace No updates…
1473eef1-f739-4aac-9e2d-2a77c21cc017 12:03:44 PM: error sendJson() - HttpResponseException occurred. Exception info: groovyx.net.http.HttpResponseException: Internal Server Error StatusCode: 500
1473eef1-f739-4aac-9e2d-2a77c21cc017 12:03:44 PM: info setProgram(Sleep) for 311033165823 (EcoTherm: 809)
1473eef1-f739-4aac-9e2d-2a77c21cc017 12:03:43 PM: trace Sent events (520ms)
1473eef1-f739-4aac-9e2d-2a77c21cc017 12:03:43 PM: info updateThermostatData() - Device data updated for 1 thermostat [809]
1473eef1-f739-4aac-9e2d-2a77c21cc017 12:03:43 PM: info updateThermostatData() - Updating event data for thermostat 809 (311033165823)
1473eef1-f739-4aac-9e2d-2a77c21cc017 12:03:43 PM: info pollEcobeeAPI() - Parsing complete
1473eef1-f739-4aac-9e2d-2a77c21cc017 12:03:42 PM: info pollEcobeeAPI() - Parsing data for thermostat 311033165823
1473eef1-f739-4aac-9e2d-2a77c21cc017 12:03:42 PM: info pollEcobeeAPI() - Getting ( equipmentStatus runtime sensors ) for thermostat 311033165823
1473eef1-f739-4aac-9e2d-2a77c21cc017 12:03:42 PM: trace Requesting updates for thermostat 311033165823
1473eef1-f739-4aac-9e2d-2a77c21cc017 11:59:46 AM: trace No updates…
1473eef1-f739-4aac-9e2d-2a77c21cc017 11:59:07 AM: trace No updates…
1473eef1-f739-4aac-9e2d-2a77c21cc017 11:59:01 AM: error sendJson() - HttpResponseException occurred. Exception info: groovyx.net.http.HttpResponseException: Internal Server Error StatusCode: 500
1473eef1-f739-4aac-9e2d-2a77c21cc017 11:59:01 AM: info setProgram(Away) for 311033165823 (EcoTherm: 809)

Device Unavailable is due to how this Ecobee Cloud API app interacts with SmartThings Health Check. You can safely ignore it while I try to figure out how to make it realize the devices aren’t dead in a lightweight manner.

There is no ‘sleep()’ because I can’t override the Java/Groovy system call of the same name (my bad if I didn’t mention that).

Call asleep() or night() instead…

sure. better call asleep() or night()… wondering if it is token authentication expired issue… searched in the forum, say it could clear itself up automatically… will test again back home…

This make sense, thanks.

No, the authentication issue in this case is likely due to the repeated errors - it should eventually recover, or you can just log in to your Ecobee account again…

I have removed ecobee connect and re-installed to force authentication with Ecobee account.

here is more details for your debug

dc735112-a010-4bb8-aa27-3975a6870aad 1:47:46 PM: info LOG: setProgram(away) returned false
dc735112-a010-4bb8-aa27-3975a6870aad 1:47:46 PM: error LOG: sendJson() - HttpResponseException occurred. Exception info: groovyx.net.http.HttpResponseException: Internal Server Error StatusCode: 500
dc735112-a010-4bb8-aa27-3975a6870aad 1:47:45 PM: debug LOG: about to sendJson with jsonRequestBody ({“functions”:[{“type”:“setHold”,“params”:{“holdClimateRef”:“away”,“holdType”:“null”}}],“selection”:{“selectionType”:“thermostats”,“selectionMatch”:“311033165823”}}
dc735112-a010-4bb8-aa27-3975a6870aad 1:47:45 PM: debug LOG: setProgram() - climateRef = {away}

There is no reason to uninstall - just go back into Ecobee (Connect) and log in again. Just ignore that it says you are already connected…

Log in again, still see the issue there, do you want me to set log Level to 5 for more debug information?

Request Text issue??

dc735112-a010-4bb8-aa27-3975a6870aad 1:47:45 PM: debug LOG: about to sendJson with jsonRequestBody ({“functions”:[{“type”:“setHold”,“params”:{“holdClimateRef”:“away”,“holdType”:“null”}}],“selection”:{“selectionType”:“thermostats”,“selectionMatch”:“311033165823”}}

@storageanarchy hey Barry just curious about my deceive handlers being red

Yes, you need to click “Overwrite local version” to get the updated versions…

UPDATE: Ecobee Thermostat v1.2.16

Changes:

  • Fixed yet another error that caused Program/Climate changes to fail, and invalid calls to the Ecobee API. This was a side effect of some of the debugging code I had added earlier today to track down an earlier problem. Program/Climate changes should be back to normal now…

Ok I’ve never done that, after posting I seen in update from repo conflicted area so I updated in that and it’s no longer red. Thanks

Ok, I’m trying to make this work now in webcore.
I set the thermostat to “Away and holding”.

The webcore script:
If
Motion Sensor’s motion is Active;
Then
With Thermostat
Do Pan camera to the Home;
End

The log says
Received event [Motion Sensor].motion = active with a delay of 605ms
+183ms ║Runtime (38971 bytes) successfully initialized in 122ms (v0.2.0fe.20171109) (181ms)
+185ms ║╔Execution stage started
+592ms ║║Executed [Thermostat].home (387ms)
+595ms ║╚Execution stage complete. (411ms)
+608ms ╚Event processed successfully (607ms)

But the program on the Ecobee app, and on the thermostat itself, says “Away and holding”.

I saw the bit about logging so I turned that off entirely… still the ecobee program does not change.