No announcement yet.

Honeywell THX9421 stops updating

  • Filter
  • Time
  • Show
Clear All
new posts

    Honeywell THX9421 stops updating

    Running HS4 Pro Edition (Windows 10) plugin version with two Honeywell THX9421 thermostats. For some reason one or both thermostats randomly fail to update and hang with the same data after an equally random time until the plugin is restarted or a connection check is run. Either of those actions will clear the issue and all thermostats will resume normal updates until one or both fails and hangs again.

    When the hang condition occurs the the thermostat devices display incorrect data and the data dump is also incorrect for the offending stat. The trace log file appears to still have successful connections to the Honeywell total connect site but for some reason the received data is not correctly posted to the thermostat devices. Not sure what is going on so attached trace log file. Will post a thermostat data dump if requested but have to wait for the fail and hang again since almost any activity on the configuration page seems to recover and solve the issue.

    Edit: I also attached a graph of the Downstairs stat where updates failed from just before Sun 00 AM until the plugin was disabled and re-enabled just after Sun 12 PM.
    Attached Files

    I've been having exactly the same issue, I have some trace/history data to show it. Is there anyone here supporting the plug in?


      I guess no one is home on this issue. I know Honeywell appears to be tinkering with their interface lately.


        Sorry, this came in while I was out on vacation and I guess I didn't catch up here! Let me do some checking.


          Unfortunately all the log shows is a constant stream of updates... do you have a log that shows a period of time when there's no activity? Or that has any errors?

          What do you mean by "a connection check is run"?


            Thanks for the reply. I thought you may be out. Hope you had a great vacation.

            "Connection check is run" refers to selecting the test connection function on the configuration page. If the devices have stopped updating, including the WiFi Thermostat Data page for the device, the pause in posting the data to the devices can be restarted by testing the connection from the configuration page. Likewise, the pause in posting data to the devices may be restarted by shutting down the plugin and restarting the plugin. From the log it appears the updates are not interrupted as you point out but somehow the data collected during each update is not passed to the device. In some instances data is passed to one device after an update but not the other device (two thermostats) even when the data has changed on all thermostats. It is almost as if once a device "hangs" a reset by connection test or plugin restart is required to restart and re-sync the devices.

            The trace logs that were attached did include a period of time where at least one device (Downstairs stat where updates failed from just before Sun 00 AM until the plugin was disabled and re-enabled just after Sun 12 PM) froze. I am attempting to capture another instance on the trace log.


              I think I've finally trapped a trace log that may reflect what's going on. Zipped trace file and two Thermostat WiFi Data files attached for review.

              Both the Downstairs and Upstairs thermostats stopped updating data to their respective devices in HS4Pro at the following times:

              Downstairs 6/21/2023 11:16:13 AM
              Upstairs 6/22/2023 2:16:02 PM

              The trace log file runs from 6/18/2023 10:59:26.912 through 6/23/2023 13:45:45.365. The WiFi Thermostat data files were pulled while both thermostats were "frozen" with old data.
              Attached Files
              Last edited by cbryan; June 23, 2023, 02:04 PM. Reason: Edit: Running "test connection" from the plugin configuration page brought both thermostats back into current status.


                Thanks. Looking through it now - my first thought is I need to rethink my logging because with 2 thermostats it's almost impossible to figure out what's going on!


                  Here's what I see so far:

                  6/21/2023  11:21:12.884    Trace    ThermostatDevice.RequestUpdate - >>>> ThermostatDevice(6280185).RequestUpdate(<Object>,<ElapsedEventArgs>)
                  6/21/2023  11:21:12.884    Debug    ThermostatDevice.RequestUpdate - Scheduling update of thermostat 'DOWNSTAIRS' (6280185)
                  6/21/2023  11:21:12.884    Trace    ThermostatDevice.UpdateData - >>>> ThermostatDevice(6280185).UpdateData()
                  6/21/2023  11:21:12.884    Trace    ThermostatDevice.StopUpdates - >>>> ThermostatDevice(6280185).StopUpdates()
                  6/21/2023  11:21:12.886    Trace    ThermostatDevice.StopUpdates - <<<< ThermostatDevice.StopUpdates
                  6/21/2023  11:21:12.886    Trace    HWConnection.GetData - >>>> --6280185-- HWConnection.GetData(6280185, 0)
                  6/21/2023  11:21:12.886    Trace    HWConnection.GetData - --6280185-- Ok to request data now.
                  6/21/2023  11:21:12.886    Trace    HWConnection.APIRequest - >>>> --6280185-- HWConnection.APIRequest(<RequestParameters>, 6280185, /portal/Device/CheckDataSession/6280185)
                  6/21/2023  11:21:12.886    Trace    HWConnection.APIRequest - Request Details: Querystring=, PostData=, ContentType=application/x-www-form-urlencoded
                  6/21/2023  11:21:12.886    Trace    HWConnection.SubmitRequest - >>>> --6280185-- HWConnection.SubmitRequest(6280185, <HttpRequestMessage>, /portal/Device/CheckDataSession/6280185, False, False)
                  6/21/2023  11:21:12.886    Debug    HWConnection.SubmitRequest - --6280185-- Submitting request to
                  6/21/2023  11:21:12.886    Trace    HWConnection.LoginIfNeeded - >>>> --6280185-- HWConnection.LoginIfNeeded(6280185)
                  6/21/2023  11:21:12.886    Debug    HWConnection.LoginIfNeeded - --6280185-- Last Login: 6/21/2023  11:11:11.889
                  6/21/2023  11:21:12.886    Trace    HWConnection.LoginIfNeeded - <<<< --6280185-- HWConnection.LoginIfNeeded=Success
                  6/21/2023  11:21:15.308    Debug    HWConnection.SubmitRequest - --6280185-- Received response 200 OK
                  6/21/2023  11:21:15.308    Trace    HWConnection.SubmitRequest - <<<< --6280185-- HWConnection.SubmitRequest=<HttpResponseMessage>
                  6/21/2023  11:21:15.308    Trace    HWConnection.APIRequest - <<<< --6280185-- HWConnection.APIRequest=<HWResponse>
                  6/21/2023  11:21:15.308    Trace    HWConnection.GetData - <<<< --6280185-- HWConnection.GetData=<HWResponse>​
                  There is then no mention of "6280185" again in the log file.

                  The convention in my trace logs is to show entering a method ">>>>" and then later exiting a method "<<<<" so I can see how things flow. And it should be:

                  ThermostatDevice.RequestUpdate - >>>> (this is the timer thread saying "it's time!")
                  ThermostatDevice.UpdateData - >>>> (this is the master function that orchestrates the update)
                  ThermostatDevice.StopUpdates - >>>> (this is halting the timer so it doesn't fire again for any reason until I have a resolution to the current request)
                  ThermostatDevice.StopUpdates - <<<<
                  HWConnection.GetData - >>>> (the logic to arrange for the actual HTTP request)
                  HWConnection.APIRequest - >>>> (generic http client wrapper stuff)
                  HWConnection.SubmitRequest - >>>> (actually going to send the request for the data)

                  WConnection.LoginIfNeeded - >>>> (check if we need to login again or if our session is probably still good)
                  HWConnection.Login - >>>> (nope, we need to actually do the login)
                  HWConnection.APIRequest - >>>> (generic http client wrapper stuff)
                  HWConnection.SubmitRequest - >>>> (actually going to send the request to login)
                  HWConnection.SubmitRequest - <<<<
                  HWConnection.APIRequest - <<<<
                  HWConnection.Login - <<<<
                  HWConnection.LoginIfNeeded - <<<<
                  HWConnection.SubmitRequest - <<<<
                  HWConnection.APIRequest - <<<<
                  HWConnection.GetData - <<<<

                  .... a whole bunch of stuff happens here ...
                  ThermostatDevice.UpdateData - >>>>
                  ThermostatDevice.RequestUpdate - <<<<

                  So the mystery is: why didn't it keep executing after it got the data?? If an error occurred, it would have been logged...


                    I just pushed as a beta release with some additional error handling and logging to try and help. Just need to catch it in the act like this again.


                      Will install and keep tracing


                        Version BETA installed

                        Both thermostats stopped again at:

                        Downstairs Yesterday 2:59:13 PM
                        Upstairs Yesterday 9:33:10 AM

                        Captured new trace files before and after running "test connection" on config page (attached) as well as thermostat data while "frozen".

                        Hope this helps

                        Attached Files
                        Last edited by cbryan; June 27, 2023, 10:20 AM. Reason: "test connection" resynced both thermostats


                          Another instance where both thermostats froze after re-syncing using "test connection".

                          Failure times were:

                          Downstairs Yesterday 3:50:28 PM
                          Upstairs Yesterday 3:50:30 PM

                          Relevant trace files and thermostat data files attached
                          Attached Files


                            Both thermostats device data froze again today after the restart from the prior post. Not sure it would be helpful to keep posting trace files until I hear back from you.



                              Yes, just the one should be enough, thanks. I'll be home tomorrow and once I get over the jet lag I'll take a look at it.