Erratic command dropping?

I've noticed that the thermostats sometimes miss commands that have been sent. I have a server that periodically sets holdClimateRef or sends a "resume program". Not infrequently, I notice that although no error was reported by the Ecobee server in response to the command, the thermostats never seem to have received and/or processed the commands.

This is incredibly frustrating. I'm probably going to start sending status requests to the thermostats after I send the commands, just to double check that the messages were actually received and processed. Of course, I shouldn't have to do this.

Has anyone else run into this apparent serious deficiency?
1 person has
this problem
+1
Reply
  • In terms of validating if a message (specifically a thermostat post or function) was received by the thermostat, this is provided by the API. The thermostatSummary provides the revision list, and specifically the Thermostat revision, that will increment if a thermostat configuration has been changed (https://www.ecobee.com/home/developer...). If the thermostat revision has incremented after your API request then it has been received and acted upon. If the thermostat is currently online, then this will be transmitted immediately to the thermostat. However if the thermostat is offline, then the change is acknowledged in our back end and will be transmitted to the thermostat once it reconnects. The API provides you the mechanisms to check if the thermostat is currently online or not.

    Also, there may be cases where the changes you are making get rejected by the thermostat. In this case there will be two increments to the thermostat revision. Once when your API command is propagated, and the other when the thermostat posts back its updated configuration reverting all or some of your changes.
  • (some HTML allowed)
    How does this make you feel?
    Add Image
    I'm

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