Help get this topic noticed by sharing it on Twitter, Facebook, or email.

ResumeProgram not working, followed by discrepancy between web interface and front panel

ResumeProgram is being ignored, Sent multiple times to try to get it to resume and they're being completely ignored.

I suspect what may be the problem is this. It may be the case that my wifi isn't reliable. Perhaps your API server is designed such that it assumes that all messages sent to the thermostat are always received, and it's trying to preserve bandwidth by not sending resumeProgram commands to thermostats that aren't holding. In other words, your server believes the thermostat is in a different state (running program) than the thermostat is actually in. The signs point to this, as both your support rep showed that the thermostat was running the program (not holding) and your website did as well.

Here's what I'm sending, and the successful response.

0500 001509 INFO {"selection":{"selectionType":"registered","selectionMatch":""},"functions":[{"type":"resumeProgram","params":{"resumeAll":true}}]}
[18-10-15 09:38:54:133 PDT] 2018-10-15 11:38:54:132 -0500 001684 INFO {
"status": {
"code": 0,
"message": ""
}
}
[18-10-15 09:38:54:288 PDT] 2018-10-15 11:38:54:287 -0500 001839 INFO 200



1 person has
this question
+1
Reply
  • MarkK (API Architect) October 15, 2018 18:45
    Hi. If your device is offline, the server will still receive and process your request. When the device comes online, it will receive the update and process it then. The server won't return an error if your device is offline. You need to check whether it is online or offline using the Thermostat.Runtime object: https://www.ecobee.com/home/developer...

    Spotty Wifi may prevent your device from getting its config and state if the connection doesn't last long enough.
  • (some HTML allowed)
    How does this make you feel?
    Add Image
    I'm

    e.g. happy, confident, thankful, excited kidding, amused, unsure, silly indifferent, undecided, unconcerned sad, anxious, confused, frustrated

  • OK, so you're saying there is some kind of handshake then between the server and the device? Something's clearly amiss; they shouldn't be having any wifi issues because I have very good coverage in my house.

    Is there a "feature" where the server will refuse to actually transmit the resumeProgram message to the thermostat if it (incorrectly in this case) believes the thermostat isn't holding?
  • (some HTML allowed)
    How does this make you feel?
    Add Image
    I'm

    e.g. happy, confident, thankful, excited kidding, amused, unsure, silly indifferent, undecided, unconcerned sad, anxious, confused, frustrated

  • MarkK (API Architect) October 15, 2018 19:34
    You did say: "It may be the case that my wifi isn't reliable."

    If the server doesn't see anything needs to change on the device because the server-version, then it won't send anything.

    Try Resume with the ecobee app. If it works, then it's something in your app.

    We have a lot of examples to walk you through it here: https://www.ecobee.com/home/developer...
  • (some HTML allowed)
    How does this make you feel?
    Add Image
    I'm

    e.g. happy, confident, thankful, excited kidding, amused, unsure, silly indifferent, undecided, unconcerned sad, anxious, confused, frustrated

  • What I could see happening is the occasional wifi dropout (I have Google Wifi, which can on occasion depending on conditions hand over from one AP to another.) That's probably about the only scenario where there would/could be a problem. Running a microwave, cordless phone, could each potentially interfere, but only for a very short period.

    I'm not at all worried about my code; it typically functions correctly, and as you should see above is properly formatted and getting good responses from the server.

    The bigger question that I didn't receive an answer on was whether or not your server performs any handshaking with the thermostat to ensure it actually received the resumeProgram message, or if the server just assumes that if the server sent it, the thermostat *must* have received it. Which would definitely explain the problem. It could be a wifi issue or even a net neutrality issue. Packets can be lost for any number of reasons.
  • (some HTML allowed)
    How does this make you feel?
    Add Image
    I'm

    e.g. happy, confident, thankful, excited kidding, amused, unsure, silly indifferent, undecided, unconcerned sad, anxious, confused, frustrated

  • MarkK (API Architect) October 15, 2018 22:25
    The changes you are making have guaranteed delivery, once the device reconnects and can sync up if it is offline. If it is online, it will get the update. We explain this here: https://www.ecobee.com/home/developer...
  • (some HTML allowed)
    How does this make you feel?
    Add Image
    I'm

    e.g. happy, confident, thankful, excited kidding, amused, unsure, silly indifferent, undecided, unconcerned sad, anxious, confused, frustrated