Evohome app broken

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts
  • DBMandrake
    Automated Home Legend
    • Sep 2014
    • 2361

    #46
    Originally posted by gordonb3 View Post
    Do note that I'm only seeing this error on the v1 API. It is possible that the response from this API is different from that of the v2 API where @DBMandrake reports seeing this error. Although it is impossible for me to see the error code (other than by enabling debug) for the last several days I have not seen anything in the log that could be the result of HTTP-429 being returned by the portal.
    I'm getting intermittent errors from both V1 and V2 API's. I use the V1 API for (more accurate) temperature readings and only use the V2 API for hot water on/off status.

    However watchforstock's python library only has a debug mode which will show the HTTP response for the V2 API, the V1 API call failing just results in an unhelpful uncaught python exception, so I don't know what the actual returned error is for the V1 API when it fails. However both API's seem to fail or succeed at the same time suggesting that there is shared rate limiting between them. If I manually spam queries to one API I then immediately get failures on the other API even though they use different URL's.
    Last edited by DBMandrake; 19 November 2018, 10:30 AM.

    Comment

    • gordonb3
      Automated Home Ninja
      • Dec 2016
      • 273

      #47
      Yeah, Python is quite ugly that way.

      I am actually still on the 0.2.5 level of that library. What I did though was rewrite that to C++ and add some logic that verifies whether I receive HTML or Json. The first application I created from this effectively did the exact same thing as the Python script on the Domoticz wiki page (to which I believe you added the v1 lines?), only in about 1 second rather than 40+ seconds. At a later time I integrated this code into Domoticz to defeat the refresh lapse on commands issued through the Domoticz API. As it happens this integration also defeats the library's capability of investigating and reporting on unexpected returns because the HTTP client offered by the Domoticz framework discards this content if the return code is not HTTP-200 (CURLE_OK).

      Reinvestigating that HTTP client library it appears that I can move one step up though, where I do seem to be able to see the return code. That could actually prove to be very helpful in tracing the source of weird errors that affect users on an individual base - many of which are apparently related to language settings in the portal.

      Comment

      • DBMandrake
        Automated Home Legend
        • Sep 2014
        • 2361

        #48
        Originally posted by gordonb3 View Post
        Yeah, Python is quite ugly that way.

        I am actually still on the 0.2.5 level of that library.
        I was too, I updated to 0.2.8 a few days ago but it didn't help with this issue. (Not that I really expected it to)
        What I did though was rewrite that to C++ and add some logic that verifies whether I receive HTML or Json. The first application I created from this effectively did the exact same thing as the Python script on the Domoticz wiki page (to which I believe you added the v1 lines?),
        Yes I added the code to the Domoticz script to get the temperatures from the V1 API. Since that causes queries to both API's I suspect that may be causing issues for people using this script now that rate limiting is more aggressive.

        Prior to these recent server changes I was actually running both evohome-munin and domoticz using the python script in parallel without any issues - meaning two calls to each API every 5 minutes from the same IP address... although I did have domoticz and evohome-munin offset by 3 minutes so they weren't both trying to connect at the same time. As soon as these problems started I disabled domoticz as I don't really use it any more and halving the number of API calls in a 5 minute period helped slightly but not a lot.

        Adding a 30 second delay between calling V1 and V2 API's does seem to have helped a bit as well but isn't a cure. I still get a lot of HTTP 429's on the V2 API call to check the hot water status so my hot water graph is mostly gaps at the moment. Without knowing specifically what the rate limits are I'm just poking and prodding with no real direction, and I can't really do much more unless I want to give up on 5 minute polling.

        Comment

        • gordonb3
          Automated Home Ninja
          • Dec 2016
          • 273

          #49
          Originally posted by DBMandrake View Post
          Yes I added the code to the Domoticz script to get the temperatures from the V1 API. Since that causes queries to both API's I suspect that may be causing issues for people using this script now that rate limiting is more aggressive.
          I assume that might be true. No mentioning on the Domoticz forum about it though.

          But let's take a few steps back. In post #31 @Stevedh suggested caching the auth token and that seems to be worth investigating. In my client I only do a login just shy of once per hour (on both APIs), so the maximum number of simultaneous logins that I have on the v2 API is 2 - with an interval of 5 minutes you have 11 or even 12 from that one application calling the script as a single run instance. I'm actually not sure about how the v1 API handles registered logins, but if that also has a 1 hour lifespan you are looking at up to 24 simultaneous logins. Since the errors you report are in fact related to login only I don't think rate limiting is the real issue at hand.

          Comment

          • gordonb3
            Automated Home Ninja
            • Dec 2016
            • 273

            #50
            Did some digging...

            Turns out that the v1 API has a session ID with a life span of 15 minutes that gets renewed with every call you make to that API. As such, once logged on you can keep using the same session ID indefinitely as long as you keep the query interval within that 15 minute limit

            The v2 API uses OAuth mechanism for assigning session IDs (`access_token`) and this has a fixed life span of 1 hour. At present I simply discard the session ID in my application and perform a new logon. The logon response however also contains a `refresh_token` and it turns out you can use that any time to create a new access token, even after the old one already expired. I assume the refresh token must have a finite life span as well, but so far they seem to keep working indefinitely. Remarkably calling for a refresh does not invalidate the old session ID, so one should still take care when to call this method and not hit the session limit.

            Comment

            • DBMandrake
              Automated Home Legend
              • Sep 2014
              • 2361

              #51
              Originally posted by Karrimor View Post
              On Honeywell's twitter feed, there are quite a few complaints about the app not working.
              See: https://twitter.com/Honeywell_Home/with_replies

              "App and website do not agree with the physical unit. "
              The fun and games never end it seems! Now I seem to be having an issue with the iPhone app and website reporting set points that don't match my schedule:

              Wrong setpoints.jpg
              According to this my heating and hot water have been on all day while I'm at work when it shouldn't be! Everything should be off today with one exception - I set the Living room to a manual override of 23 degrees all day to finish drying out carpet that has just been cleaned. So that 23 degree override to 8pm is correct. Every single other zone is wrong and should be 5 degrees and hot water off.

              So anyone want to guess what is going on ? From looking at the temperatures and the manual override in the bathroom this is what I would have expected to see at about 7am this morning, almost as if it took a snapshot of the conditions then and has stuck there... If the unit had lost comms with Honeywell the App normally reports that it has lost communication with the servers and I would get an email alert as well - no email alert received, so Honeywell seems to think the unit is still communicating.

              Given the problems some of us have had with the API/Apps getting out of sync with the real state of the system I really have no idea whether all these zones are on at the moment or not and have no way to know until I get home.

              It looks almost as if the clock on the device has stopped at 7am and remained stuck on that part of the schedule - and we have certainly seen reports of stopped clocks on the Evotouch before.

              Changing the system to away mode using the app results in it saying away but the set points don't change to 10C as they should. It's hard to have faith in remote control of Evohome when the remote control has so many issues!

              Anyone else having remote control trouble today ? BTW, my Raspberry Pi which runs my evohome-munin graphing system is not plugged in today as the furniture including TV cabinet where it resides is out of the living room, so I am not polling the API's at all other than trying to use the Honeywell iPhone app.
              Last edited by DBMandrake; 20 November 2018, 03:39 PM.

              Comment

              • DanD
                Automated Home Ninja
                • Feb 2016
                • 250

                #52
                All OK today here with my system via the Android app, website and API.

                Dan

                Comment

                • gordonb3
                  Automated Home Ninja
                  • Dec 2016
                  • 273

                  #53
                  Originally posted by DanD View Post
                  All OK today here with my system via the Android app, website and API.

                  Dan
                  Nothing here today as well. Somewhat puzzled about the statement that `everything should be off`and at the same time an override being active on one specific zone. AFAIK that is not possible, but I would also not expect Evohome to simply reset the system state from `Heating Off` to `Auto` when an override is submitted.

                  Comment

                  • guyank
                    Automated Home Sr Member
                    • Sep 2015
                    • 73

                    #54
                    I had exactly this issue a couple of weeks ago but things have been more stable recently. I also noticed that when I was at home, if I made changes on the App, they were reflected on the App but never appeared on the Control Unit and hence weren't ever implemented on the system.

                    Comment

                    • DBMandrake
                      Automated Home Legend
                      • Sep 2014
                      • 2361

                      #55
                      Originally posted by gordonb3 View Post
                      Nothing here today as well. Somewhat puzzled about the statement that `everything should be off`and at the same time an override being active on one specific zone. AFAIK that is not possible, but I would also not expect Evohome to simply reset the system state from `Heating Off` to `Auto` when an override is submitted.
                      Simple really. I meant that all zones were scheduled to 5 degrees (as close to off as you ever get in Evohome, as even the Heating Off action is just a 5 degree set point on the HR92!) except for the one that had a manual override.

                      I have a slightly embarrassing confession to make after my rant, I got home that night and found my darling 2 year old had switched off the power to the broadband modem that morning, something he has never done before...

                      However in my defence, on all previous occasions when the Evotouch has lost its connection to the Honeywell servers the iPhone app clearly shows a black bar across the bottom saying something like "Communication with the system lost" and I also receive an email alert to tell me communication has been lost. The email alert is usually the first thing that alerts me to the lost connection. However in this case I had no email alert (and also did not receive a communication restored email when I fixed the problem 10 hours later) and no black bar on the iPhone app - which continued to pretend that everything was just fine and dandy, letting me change modes and apply overrides that never really took effect.

                      So the loss of comms was my fault, but the failure to inform me of a loss of comms either by email or in the app still lies with Honeywell. And that's not an issue I've ever seen before as it has previously been reliable about reporting loss of comms from the controller to Honeywell servers. (I did get a failed zone change alert when trying to make a change, but that can sometimes happen even when the controller is connected, so I didn't think much of it)
                      Last edited by DBMandrake; 22 November 2018, 04:34 PM.

                      Comment

                      • peterf
                        Automated Home Guru
                        • Jan 2015
                        • 116

                        #56
                        I've a problem with both the android and ios versions of the app miss-reporting temperatures in a couple of zones today. System and controller are both working OK however.

                        Is it just me or is there a more widespread problem?

                        Comment

                        • Karrimor
                          Automated Home Jr Member
                          • Oct 2016
                          • 24

                          #57
                          I noticed the same issue shortly before midnight.

                          I'm resigned to the fact that this is now a "persistent feature" of the Honeywell app/service - just like the "feature" that forgets your app login credentials and forces you to re-enter your username and password!

                          Comment

                          • MrBoy
                            Automated Home Guru
                            • May 2017
                            • 165

                            #58
                            I've noticed recently I get emails when service is restored, but not when it's lost.

                            Comment

                            • Arrghh!
                              Automated Home Sr Member
                              • Dec 2015
                              • 73

                              #59
                              Originally posted by peterf View Post
                              I've a problem with both the android and ios versions of the app miss-reporting temperatures in a couple of zones today. System and controller are both working OK however.

                              Is it just me or is there a more widespread problem?
                              I'm getting this with my hot water. Stuck at 22 on the app but the controller is now displaying the correct temperature.

                              Comment

                              • guyank
                                Automated Home Sr Member
                                • Sep 2015
                                • 73

                                #60
                                Originally posted by peterf View Post
                                I've a problem with both the android and ios versions of the app miss-reporting temperatures in a couple of zones today. System and controller are both working OK however.

                                Is it just me or is there a more widespread problem?
                                I seem to be able to use the app normally but everytime I try to do something with SmartThings I’m receiving an alert for failed system or zone changes.

                                Comment

                                Working...
                                X