2 Replies
      Latest reply on May 21, 2019 10:00 AM by TheRealStarone
      waynehend Level 1 Level 1 (5 points)

        A similar discussion here:



        I'm controlling an Ecobee 3 thermostat and a couple of switched outlets with my app (called AirCompare and in the store) using HomeKit.  It works well and I've been running it continuously for over a year.  The thermostat responds more slowly than the switches and sporadically I get the rare error shown in the title.  The user sees only a red dot indicating an error but the text of the error prints to my log file.  The error can usually be cleared by the user by taking any of a number of actions in the app that will call the Home Manager again.


        I thought this occasional error might have something to do with the thermostat's slow response causing something to time out, but the text of the error suggests someting else is screwy.


        I'm lost as to where to begin.  I'd like to make this error even more rare.  I'm thinking of adding another call of HM if the error is produced but this feels kludgy and I'd have to protect against an endless loop if the error persisted.

        • Re: Domain=HMErrorDomain Code=80 "Missing entitlement for API."
          waynehend Level 1 Level 1 (5 points)

          Error Domain=HMErrorDomain Code=54 "Network or other communication failure occurred."


          I've since discovered that this error is the more frequent one that leads to a failure in setting my thermostat.


          By comparison, I also have two Homekit wall plugs (the iHome SmartPlug and a Koogeek P1) and never encounter the communications error that I see with my Ecobee 3 thermostat.


          I have found a post at Ecobee hinting that the thermostat reacts badly if too many commands are received in a short period of time.  In my app's logic, setting the target temperature is the very last thing to occur, it happens after reading the temp and humidity, setting the seasonal mode (summer versus winter) and so on.  So it's believeable that it would be the most prone to a "command overload" problem.