home-assistant / core

:house_with_garden: Open source home automation that puts local control and privacy first.
https://www.home-assistant.io
Apache License 2.0
73.99k stars 31.04k forks source link

Honeywell Total Connect Comfort Requires Near Daily Reauthentication #103133

Closed crumbliness closed 1 year ago

crumbliness commented 1 year ago

The problem

The Honeywell integration integrates Home Assistant with US-based Honeywell Total Connect Comfort (TCC) climate systems fails almost daily and requires reauthentication to correct. This issue in my installation has been going on for about 6 months. This issues appears similar to issues 102561 and 96798, although it does not recover on its own. in 1% of the cases I need to reinstall the integration

What version of Home Assistant Core has the issue?

core-2023.4.6

What was the last working version of Home Assistant Core?

No response

What type of installation are you running?

Home Assistant Container

Integration causing the issue

Home Assistant with US-based

Link to integration documentation on our website

https://www.home-assistant.io/integrations/honeywell/

Diagnostics information

No response

Example YAML snippet

no YAML configurations

Anything in the logs that might be useful for us?

Logger: homeassistant.config_entries
Source: config_entries.py:1242
First occurred: October 23, 2023 at 9:05:21 AM (2 occurrences)
Last logged: 5:59:13 AM

Config entry 'honeywell' for honeywell integration could not authenticate: Incorrect Password

2023-10-31 10:12:04.260 DEBUG (MainThread) [homeassistant.components.websocket_api.http.connection] [2546104616] Sending {"id":66,"type":"result","success":true,"result":[{"name":"frontend.js.latest.202304111","message":["WARNING: Polymer will be removed from window in Home Assistant 2023.5. More info: https://developers.home-assistant.io/blog/2023/04/04/deprecating_polymer","http://192.168.1.50:8123/config/entities?historyBack=1&config_entry=c93e46ddfbd500e60749cf61222651d4:0:0 ResizeObserver loop completed with undelivered notifications.","http://192.168.1.50:8123/config/integrations:0:0 ResizeObserver loop completed with undelivered notifications.","https://bm7ninmj7ocn47gfrtngf23xh1vq8doy.ui.nabu.casa/config/entities?historyBack=1&config_entry=a8677cdf8eb15f9cc0f6a55a1b19a677:0:0 ResizeObserver loop completed with undelivered notifications."],"level":"WARNING","source":["components/system_log/__init__.py",257],"timestamp":1698753298.7956636,"exception":"","count":44,"first_occurred":1697923534.901221},{"name":"homeassistant.config_entries","message":["Config entry 'honeywell' for honeywell integration could not authenticate: Incorrect Password"],"level":"WARNING","source":["config_entries.py",1242],"timestamp":1698746353.779048,"exception":"","count":2,"first_occurred":1698066321.5188048},{"name":"somecomfort","message":["Login as redacted@gmail.com failed"],"level":"ERROR","source":["components/honeywell/__init__.py",57],"timestamp":1698746353.7738245,"exception":"","count":2,"first_occurred":1698066321.5074446},{"name":"somecomfort","message":["Login as j2howarth@gmail.com failed","Connection error 403"],"level":"ERROR","source":["components/honeywell/climate.py",428],"timestamp":1698746353.5287027,"exception":"","count":4,"first_occurred":1697981043.5204966},{"name":"somecomfort","message":["API returned 200 from /portal/Device/CheckDataSession/1535122 request","401 Error at update (Key expired?).","API returned 500 from /portal/Device/CheckDataSession/1535122 request"],"level":"ERROR","source":["components/honeywell/climate.py",424],"timestamp":1698746353.327087,"exception":"","count":17,"first_occurred":1697920411.1802928},{"name":"homeassistant.helpers.entity","message":["Update for sensor.tides_boca_grande fails","Update for sensor.tides_turtle_bay fails","Update for sensor.tides_shell_point fails"],"level":"ERROR","source":["components/noaa_tides/sensor.py",136],"timestamp":1698609516.6593425,"exception":"Traceback (most recent call last):\n  File \"/usr/src/homeassistant/homeassistant/helpers/entity.py\", line 550, in async_update_ha_state\n    await self.async_device_update()\n  File \"/usr/src/homeassistant/homeassistant/helpers/entity.py\", line 755, in async_device_update\n    raise exc\n  File \"/usr/local/lib/python3.10/concurrent/futures/thread.py\", line 58, in run\n    result = self.fn(*self.args, **self.kwargs)\n  File \"/usr/src/homeassistant/homeassistant/components/noaa_tides/sensor.py\", line 136, in update\n    df_predictions = self._station.get_data(\n  File \"/usr/local/lib/python3.10/site-packages/noaa_coops/noaa_coops.py\", line 492, in get_data\n    df = self._url2pandas(data_url, product, num_request_blocks=1)\n  File \"/usr/local/lib/python3.10/site-packages/noaa_coops/noaa_coops.py\", line 421, in _url2pandas\n    df = json_normalize(json_dict[key])  # Parse JSON dict to dataframe\nKeyError: 'predictions'\n","count":4,"first_occurred":1698079237.465808},{"name":"homeassistant.helpers.entity","message":["Update of climate.thermostat is taking over 10 seconds","Update of binary_sensor.internet_status is taking over 10 seconds"],"level":"WARNING","source":["helpers/entity.py",550],"timestamp":1698539850.8677387,"exception":"","count":3,"first_occurred":1698060324.8515315},{"name":"homeassistant.components.ipp.coordinator","message":["Error fetching ipp data: Invalid response from API: Timeout occurred while connecting to IPP server."],"level":"ERROR","source":["helpers/update_coordinator.py",193],"timestamp":1698518482.194123,"exception":"","count":4,"first_occurred":1698047259.1939268},{"name":"homeassistant.helpers.entity","message":["Update for sensor.tides_shell_point fails"],"level":"ERROR","source":["components/noaa_tides/sensor.py",136],"timestamp":1698510521.792127,"exception":"Traceback (most recent call last):\n  File \"/usr/local/lib/python3.10/site-packages/urllib3/connection.py\", line 174, in _new_conn\n    conn = connection.create_connection(\n  File \"/usr/local/lib/python3.10/site-packages/urllib3/util/connection.py\", line 72, in create_connection\n    for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):\n  File \"/usr/local/lib/python3.10/socket.py\", line 955, in getaddrinfo\n    for res in _socket.getaddrinfo(host, port, family, type, proto, flags):\nsocket.gaierror: [Errno -3] Try again\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n  File \"/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py\", line 703, in urlopen\n    httplib_response = self._make_request(\n  File \"/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py\", line 386, in _make_request\n    self._validate_conn(conn)\n  File \"/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py\", line 1042, in _validate_conn\n    conn.connect()\n  File \"/usr/local/lib/python3.10/site-packages/urllib3/connection.py\", line 363, in connect\n    self.sock = conn = self._new_conn()\n  File \"/usr/local/lib/python3.10/site-packages/urllib3/connection.py\", line 186, in _new_conn\n    raise NewConnectionError(\nurllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPSConnection object at 0x9759cf58>: Failed to establish a new connection: [Errno -3] Try again\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n  File \"/usr/local/lib/python3.10/site-packages/requests/adapters.py\", line 489, in send\n    resp = conn.urlopen(\n  File \"/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py\", line 787, in urlopen\n    retries = retries.increment(\n  File \"/usr/local/lib/python3.10/site-packages/urllib3/util/retry.py\", line 592, in increment\n    raise MaxRetryError(_pool, url, error or ResponseError(cause))\nurllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='api.tidesandcurrents.noaa.gov', port=443): Max retries exceeded with url: /api/prod/datagetter?begin_date=20231028+12%3A28&end_date=20231030+12%3A28&station=8725791&product=predictions&datum=MLLW&interval=hilo&units=english&time_zone=lst_ldt&application=py_noaa&format=json (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x9759cf58>: Failed to establish a new connection: [Errno -3] Try again'))\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n  File \"/usr/src/homeassistant/homeassistant/helpers/entity.py\", line 550, in async_update_ha_state\n    await self.async_device_update()\n  File \"/usr/src/homeassistant/homeassistant/helpers/entity.py\", line 755, in async_device_update\n    raise exc\n  File \"/usr/local/lib/python3.10/concurrent/futures/thread.py\", line 58, in run\n    result = self.fn(*self.args, **self.kwargs)\n  File \"/usr/src/homeassistant/homeassistant/components/noaa_tides/sensor.py\", line 136, in update\n    df_predictions = self._station.get_data(\n  File \"/usr/local/lib/python3.10/site-packages/noaa_coops/noaa_coops.py\", line 492, in get_data\n    df = self._url2pandas(data_url, product, num_request_blocks=1)\n  File \"/usr/local/lib/python3.10/site-packages/noaa_coops/noaa_coops.py\", line 357, in _url2pandas\n    response = requests.get(data_url)  # Get JSON data from URL\n  File \"/usr/local/lib/python3.10/site-packages/requests/api.py\", line 73, in get\n    return request(\"get\", url, params=params, **kwargs)\n  File \"/usr/local/lib/python3.10/site-packages/requests/api.py\", line 59, in request\n    return session.request(method=method, url=url, **kwargs)\n  File \"/usr/local/lib/python3.10/site-packages/requests/sessions.py\", line 587, in request\n    resp = self.send(prep, **send_kwargs)\n  File \"/usr/local/lib/python3.10/site-packages/requests/sessions.py\", line 701, in send\n    r = adapter.send(request, **kwargs)\n  File \"/usr/local/lib/python3.10/site-packages/requests/adapters.py\", line 565, in send\n    raise ConnectionError(e, request=request)\nrequests.exceptions.ConnectionError: HTTPSConnectionPool(host='api.tidesandcurrents.noaa.gov', port=443): Max retries exceeded with url: /api/prod/datagetter?begin_date=20231028+12%3A28&end_date=20231030+12%3A28&station=8725791&product=predictions&datum=MLLW&interval=hilo&units=english&time_zone=lst_ldt&application=py_noaa&format=json (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x9759cf58>: Failed to establish a new connection: [Errno -3] Try again'))\n","count":1,"first_occurred":1698510521.792127},{"name":"homeassistant.components.tplink.coordinator","message":["Error fetching 192.168.1.30 data: Unable to connect to the device: 192.168.1.30: "],"level":"ERROR","source":["helpers/update_coordinator.py",193],"timestamp":1698473330.203292,"exception":"","count":1,"first_occurred":1698473330.203292},{"name":"homeassistant.components.openweathermap.weather_update_coordinator","message":["Error fetching openweathermap data: API call timeouted","Error fetching openweathermap data: HTTPSConnectionPool(host='api.openweathermap.org', port=443): Max retries exceeded with url: /data/2.5/weather?APPID=e0a38f2051cabac60093cb5b6695c717&lang=en&lon=-82.05443859100343&lat=26.919027862596835 (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x976a82e0>: Failed to establish a new connection: [Errno -3] Try again'))"],"level":"ERROR","source":["helpers/update_coordinator.py",193],"timestamp":1698437661.2597008,"exception":"","count":4,"first_occurred":1698062935.473123},{"name":"homeassistant","message":["Error doing job: Future exception was never retrieved"],"level":"ERROR","source":["components/hydrawise/__init__.py",70],"timestamp":1698437249.7093844,"exception":"Traceback (most recent call last):\n  File \"/usr/local/lib/python3.10/site-packages/urllib3/connection.py\", line 174, in _new_conn\n    conn = connection.create_connection(\n  File \"/usr/local/lib/python3.10/site-packages/urllib3/util/connection.py\", line 72, in create_connection\n    for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):\n  File \"/usr/local/lib/python3.10/socket.py\", line 955, in getaddrinfo\n    for res in _socket.getaddrinfo(host, port, family, type, proto, flags):\nsocket.gaierror: [Errno -3] Try again\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n  File \"/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py\", line 703, in urlopen\n    httplib_response = self._make_request(\n  File \"/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py\", line 386, in _make_request\n    self._validate_conn(conn)\n  File \"/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py\", line 1042, in _validate_conn\n    conn.connect()\n  File \"/usr/local/lib/python3.10/site-packages/urllib3/connection.py\", line 363, in connect\n    self.sock = conn = self._new_conn()\n  File \"/usr/local/lib/python3.10/site-packages/urllib3/connection.py\", line 186, in _new_conn\n    raise NewConnectionError(\nurllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPSConnection object at 0x98b2a5f8>: Failed to establish a new connection: [Errno -3] Try again\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n  File \"/usr/local/lib/python3.10/site-packages/requests/adapters.py\", line 489, in send\n    resp = conn.urlopen(\n  File \"/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py\", line 787, in urlopen\n    retries = retries.increment(\n  File \"/usr/local/lib/python3.10/site-packages/urllib3/util/retry.py\", line 592, in increment\n    raise MaxRetryError(_pool, url, error or ResponseError(cause))\nurllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='app.hydrawise.com', port=443): Max retries exceeded with url: /api/v1/customerdetails.php?api_key=11DF-DEC2-033E-033E&type=controllers (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x98b2a5f8>: Failed to establish a new connection: [Errno -3] Try again'))\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n  File \"/usr/local/lib/python3.10/concurrent/futures/thread.py\", line 58, in run\n    result = self.fn(*self.args, **self.kwargs)\n  File \"/usr/src/homeassistant/homeassistant/components/hydrawise/__init__.py\", line 70, in hub_refresh\n    hass.data[DATA_HYDRAWISE].data.update_controller_info()\n  File \"/usr/local/lib/python3.10/site-packages/hydrawiser/core.py\", line 51, in update_controller_info\n    self.controller_info = customer_details(self._user_token)\n  File \"/usr/local/lib/python3.10/site-packages/hydrawiser/helpers.py\", line 54, in customer_details\n    get_response = requests.get(url, params=payload, timeout=REQUESTS_TIMEOUT)\n  File \"/usr/local/lib/python3.10/site-packages/requests/api.py\", line 73, in get\n    return request(\"get\", url, params=params, **kwargs)\n  File \"/usr/local/lib/python3.10/site-packages/requests/api.py\", line 59, in request\n    return session.request(method=method, url=url, **kwargs)\n  File \"/usr/local/lib/python3.10/site-packages/requests/sessions.py\", line 587, in request\n    resp = self.send(prep, **send_kwargs)\n  File \"/usr/local/lib/python3.10/site-packages/requests/sessions.py\", line 701, in send\n    r = adapter.send(request, **kwargs)\n  File \"/usr/local/lib/python3.10/site-packages/requests/adapters.py\", line 565, in send\n    raise ConnectionError(e, request=request)\nrequests.exceptions.ConnectionError: HTTPSConnectionPool(host='app.hydrawise.com', port=443): Max retries exceeded with url: /api/v1/customerdetails.php?api_key=11DF-DEC2-033E-033E&type=controllers (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x98b2a5f8>: Failed to establish a new connection: [Errno -3] Try again'))\n","count":5,"first_occurred":1697987181.278051},{"name":"homeassistant.components.websocket_api.http.connection","message":["[2545233440] Disconnected: Did not receive auth message within 10 seconds"],"level":"WARNING","source":["components/websocket_api/http.py",53],"timestamp":1698150470.6859453,"exception":"","count":1,"first_occurred":1698150470.6859453},{"name":"homeassistant.components.noaa_tides.sensor","message":["Check NOAA Tides and Currents: ('No Predictions data was found. Please make sure the Datum input is valid.',)"],"level":"ERROR","source":["components/noaa_tides/sensor.py",152],"timestamp":1697944596.0574892,"exception":"","count":1,"first_occurred":1697944596.0574892},{"name":"homeassistant.components.http.ban","message":["Login attempt or request with invalid authentication from 192.168.1.113 (192.168.1.113). Requested URL: '/api/websocket'. (Mozilla/5.0 (Linux; Android 12; motorola one 5G UW ace Build/S3RVS32.128-36-4-4; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/118.0.0.0 Mobile Safari/537.36 Home Assistant/2023.10.2-11484 (Android 12; motorola one 5G UW ace))"],"level":"WARNING","source":["components/http/ban.py",80],"timestamp":1697923552.661407,"exception":"","count":1,"first_occurred":1697923552.661407},{"name":"homeassistant.components.zha.core.channels.base","message":["[0xE45F:1:0x0006]: async_initialize: all attempts have failed: [DeliveryError('Request failed after 5 attempts: <Status.NWK_INVALID_REQUEST: 194>'), DeliveryError('Request failed after 5 attempts: <Status.NWK_INVALID_REQUEST: 194>'), DeliveryError('Request failed after 5 attempts: <Status.NWK_INVALID_REQUEST: 194>'), DeliveryError('Request failed after 5 attempts: <Status.NWK_INVALID_REQUEST: 194>')]"],"level":"WARNING","source":["components/zha/core/channels/base.py",493],"timestamp":1697920155.214738,"exception":"","count":1,"first_occurred":1697920155.214738},{"name":"homeassistant.components.sensor","message":["Sensor sensor.opnpool_if_version has device class None, state class None and unit  thus indicating it has a numeric value; however, it has the non-numeric value: v1.2.3-64-g7edae37-dirty (<class 'str'>); Please update your configuration if your entity is manually configured, otherwise create a bug report at https://github.com/home-assistant/core/issues?q=is%3Aopen+is%3Aissue+label%3A%22integration%3A+mqtt%22","Sensor sensor.opnpool_pump_mode has device class None, state class None and unit  thus indicating it has a numeric value; however, it has the non-numeric value: FILTER (<class 'str'>); Please update your configuration if your entity is manually configured, otherwise create a bug report at https://github.com/home-assistant/core/issues?q=is%3Aopen+is%3Aissue+label%3A%22integration%3A+mqtt%22","Sensor sensor.opnpool_pump_status has device class None, state class None and unit  thus indicating it has a numeric value; however, it has the non-numeric value: OK (<class 'str'>); Please update your configuration if your entity is manually configured, otherwise create a bug report at https://github.com/home-assistant/core/issues?q=is%3Aopen+is%3Aissue+label%3A%22integration%3A+mqtt%22","Sensor sensor.opnpool_chlor_name has device class None, state class None and unit  thus indicating it has a numeric value; however, it has the non-numeric value: Intellichlor--20 (<class 'str'>); Please update your configuration if your entity is manually configured, otherwise create a bug report at https://github.com/home-assistant/core/issues?q=is%3Aopen+is%3Aissue+label%3A%22integration%3A+mqtt%22","Sensor sensor.opnpool_chlor_status has device class None, state class None and unit  thus indicating it has a numeric value; however, it has the non-numeric value: CLEAN_CELL (<class 'str'>); Please update your configuration if your entity is manually configured, otherwise create a bug report at https://github.com/home-assistant/core/issues?q=is%3Aopen+is%3Aissue+label%3A%22integration%3A+mqtt%22"],"level":"WARNING","source":["components/sensor/__init__.py",597],"timestamp":1697920145.0769417,"exception":"","count":11,"first_occurred":1697920144.8999686},{"name":"homeassistant.components.sensor","message":["Setup of sensor platform noaa_tides is taking over 10 seconds."],"level":"WARNING","source":["runner.py",179],"timestamp":1697920120.8978379,"exception":"","count":1,"first_occurred":1697920120.8978379},{"name":"aioesphomeapi.reconnect_logic","message":["Can't connect to ESPHome API for poolgirl @ 192.168.1.42: Error connecting to ('192.168.1.42', 6053): [Errno 113] Connect call failed ('192.168.1.42', 6053)"],"level":"WARNING","source":["runner.py",179],"timestamp":1697920114.3333497,"exception":"","count":1,"first_occurred":1697920114.3333497},{"name":"homeassistant.components.binary_sensor","message":["Error while setting up hydrawise platform for binary_sensor"],"level":"ERROR","source":["components/hydrawise/__init__.py",96],"timestamp":1697920109.585162,"exception":"Traceback (most recent call last):\n  File \"/usr/src/homeassistant/homeassistant/helpers/entity_platform.py\", line 304, in _async_setup_platform\n    await asyncio.shield(task)\n  File \"/usr/local/lib/python3.10/concurrent/futures/thread.py\", line 58, in run\n    result = self.fn(*self.args, **self.kwargs)\n  File \"/usr/src/homeassistant/homeassistant/components/hydrawise/binary_sensor.py\", line 64, in setup_platform\n    HydrawiseBinarySensor(hydrawise.current_controller, BINARY_SENSOR_STATUS)\n  File \"/usr/src/homeassistant/homeassistant/components/hydrawise/__init__.py\", line 96, in __init__\n    self._attr_name = f\"{self.data['name']} {description.name}\"\nTypeError: list indices must be integers or slices, not str\n","count":1,"first_occurred":1697920109.585162},{"name":"hass_nabucasa.remote","message":["Connection problem to snitun server"],"level":"ERROR","source":["runner.py",179],"timestamp":1697920107.3610747,"exception":"","count":1,"first_occurred":1697920107.3610747},{"name":"snitun.client.client_peer","message":["Challenge/Response error with SniTun server (0 bytes read on a total of 32 expected bytes)"],"level":"ERROR","source":["runner.py",179],"timestamp":1697920107.348759,"exception":"","count":1,"first_occurred":1697920107.348759},{"name":"homeassistant.config_entries","message":["Config entry 'Lanai HS105(US)' for tplink integration not ready yet: Unable to connect to the device: 192.168.1.33: [Errno 113] Connect call failed ('192.168.1.33', 9999); Retrying in background"],"level":"WARNING","source":["config_entries.py",425],"timestamp":1697920107.1528912,"exception":"","count":1,"first_occurred":1697920107.1528912},{"name":"rflink.protocol","message":["dropping invalid data: 20;01;NodoNRF=ON;"],"level":"WARNING","source":["runner.py",179],"timestamp":1697920107.1144204,"exception":"","count":1,"first_occurred":1697920107.1144204},{"name":"homeassistant.config_entries","message":["Error setting up entry TP-Link Smart Home for tplink"],"level":"ERROR","source":["components/tplink/__init__.py",82],"timestamp":1697920099.1782765,"exception":"Traceback (most recent call last):\n  File \"/usr/src/homeassistant/homeassistant/config_entries.py\", line 383, in async_setup\n    result = await component.async_setup_entry(hass, self)\n  File \"/usr/src/homeassistant/homeassistant/components/tplink/__init__.py\", line 82, in async_setup_entry\n    device: SmartDevice = await Discover.discover_single(entry.data[CONF_HOST])\nKeyError: 'host'\n","count":1,"first_occurred":1697920099.1782765},{"name":"homeassistant.components.weather","message":["The openweathermap platform for the weather integration does not support platform setup. Please remove it from your config."],"level":"ERROR","source":["helpers/entity_platform.py",204],"timestamp":1697920091.7596264,"exception":"","count":1,"first_occurred":1697920091.7596264}]}

2023-10-31 05:59:13.327 ERROR (MainThread) [somecomfort] API returned 200 from /portal/Device/CheckDataSession/1535122 request
2023-10-31 05:59:13.329 DEBUG (MainThread) [somecomfort] request json response <ClientResponse(https://www.mytotalconnectcomfort.com/portal/Error?aspxerrorpath=/portal/Device/CheckDataSession/1535122) [200 OK]>
<CIMultiDictProxy('Cache-Control': 'no-cache, no-store, must-revalidate', 'Pragma': 'no-cache', 'Content-Type': 'text/html; charset=utf-8', 'Content-Encoding': 'gzip', 'Expires': '-1', 'Vary': 'Accept-Encoding', 'Server': 'Microsoft-IIS/8.5', 'ADRUM_0': 'g:4905553d-0f29-40a4-aed8-5cd59bb94e52', 'ADRUM_1': 'n:honeywell-prod_f7be1c76-506d-4111-81c5-fc62766aedb7', 'ADRUM_2': 'i:197987', 'ADRUM_3': 'e:15', 'X-Frame-Options': 'DENY', 'X-XSS-Protection': '1; mode=block', 'X-UA-Compatible': 'IE=edge', 'Date': 'Tue, 31 Oct 2023 09:59:13 GMT', 'Content-Length': '3115', 'Set-Cookie': 'NSC_NZUDD-443-WT=ffffffff090ecc1d45525d5f4f58455e445a4a42378b;expires=Tue, 31-Oct-2023 09:56:09 GMT;path=/;secure;httponly')>
 with payload <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<!--[if IE 8 ]>    <html class="ie8" xmlns="http://www.w3.org/1999/xhtml"> <![endif]-->
<!--[if IE 9 ]>    <html class="ie9" xmlns="http://www.w3.org/1999/xhtml"> <![endif]-->
<!--[if (gt IE 9)|!(IE)]><!-->
<html xmlns="http://www.w3.org/1999/xhtml">
<!--<![endif]-->
<head><title>

Unexpected Error

</title>

    <!--[if IE]>
        <style>
            .page { 
                    height: auto !important;
                  }
        </style>
    <![endif]-->

    <script type="text/javascript" src="/portal/Scripts/jquery-1.12.0.min.js"></script>
    <script type="text/javascript" src="/portal/Scripts/jquery.unobtrusive-ajax.js"></script>
    <script type="text/javascript" src="/portal/Scripts/jquery.validate.min.js"></script>
    <script type="text/javascript" src="/portal/Scripts/jquery.validate.unobtrusive.min.js"></script>
    <script type="text/javascript" src="/portal/Scripts/jquery-ui-1.10.4.min.js"></script>
    <script type="text/javascript" src="/portal/Scripts/jquery.qtip.min.js"></script>
    <script type="text/javascript" src="/portal/Scripts/jquery.idletimer.js"></script>
    <script type="text/javascript" src="/portal/Scripts/jquery.idletimeout.js"></script>

    <link rel="stylesheet" type="text/css" href="/portal/Content/TrueHome/jquery.qtip.truehome.css" />

    <link rel="stylesheet" type="text/css" href="/portal/Content/TrueHome/jquery.ui.truhome.css" />

    <link rel="stylesheet" type="text/css" href="/portal/Content/TrueHome/Layout.css?v=2.11.13" />
    <link rel="stylesheet" type="text/css" href="/portal/Content/TrueHome/Site.css?v=2.11.13" />
    <link rel="stylesheet" type="text/css" href="/portal/Content/TrueHome/Buttons.css?v=2.11.13" />
    <link rel="stylesheet" type="text/css" href="/portal/Content/TrueHome/EditorTemplates.css?v=2.11.13" />
    <link rel="stylesheet" type="text/css" href="/portal/Content/TrueHome/ModalAjaxContentDialog.css?v=2.11.13" />

    <script type="text/javascript" src="/portal/Scripts/Common/SessionTimeoutHandler.js?v=2.11.13"></script>

    <script type="text/javascript" src="/portal/Scripts/Common/ModalAjaxContentDialog.js?v=2.11.13"></script>
    <script type="text/javascript" src="/portal/Scripts/Common/CustomEvents.js?v=2.11.13"></script>
    <script type="text/javascript" src="/portal/Scripts/Common/EditorTemplates.js?v=2.11.13"></script>
    <script type="text/javascript" src="/portal/Scripts/Common/BrowserDetect.js?v=2.11.13"></script>

    </head>
<body>
    <!-- dialog window markup -->
    <div id="_verticalGradientBackground">
    </div>

    <div id="_contentWrapper">
        <div id="_leftBackground">
        </div>
        <div id="_content">
            <div id="header">
                <div id="header-top">
                    <ul id="toplinks">
                        <li><a href="https://www.honeywellhome.com" target="_blank">HoneywellHome.com</a></li>                        
                    </ul>
                </div>
                <div id="logo">
                    <a href="/portal/">Honeywell Home - My Total Connect Comfort<span></span></a>
                </div>
            </div>
            <div id="menucontainer">
                <ul id="menu">
                    <li class="menulink"><a href="https://www.honeywellhome.com/en/support"
                        target="_blank">
                        Contact Us</a></li>
                    <li class="menudivider"></li>
                    <li class="menulink">
                        <a href="/portal/Home/FAQs">FAQs</a></li>
                    <li class="menudivider"></li>

                    <li class="menulink">
                        <a href="/portal/MyAccount">My Account</a></li>
                    <li class="menudivider"></li>
                    <li class="menulink">
                        <a href="/portal/">Control Center</a></li>
                    <li class="menudivider"></li>
                    <li class="menulink">
                        <a href="/portal/Account/LogOff">Sign Out</a></li>
                    <li class="menudivider"></li>
                    <li id="greeting">
                        Welcome
                        <b>
                            Jack</b></li>

                </ul>
            </div>
            <div id="red-grey-line">
            </div>
            <div id="breadcrumb">

    <div class="crumbs">Unexpected Error</div>

            </div>
            <div id="main">
                <noscript>
                    <div id="NoJavaScript">
                        This site will not operate without JavaScript enabled.  Refer to the FAQs tab on this site to learn about enabling JavaScript for your browser.
                    </div>
                </noscript>
                <div id="NoCookies">

This site will not operate without Cookies enabled.   Refer to the FAQs tab on this site to learn about enabling Cookies for your browser.
                </div>
                <div id="unsupportedbrowser">
                </div>
                <div id="mainContent">

 <div id="resetpassword">
        <h1>Unexpected Error</h1>
        <div class="formfield">
            <div class="rounded-bevel-border-topleftcorner">
            </div>
            <div class="rounded-bevel-border-top">
            </div>
            <div class="rounded-bevel-border-toprightcorner">
            </div>
            <div class="rounded-bevel-border-left">
                <div class="rounded-bevel-border-right">
                    <div class="whiteborder">
                        <div class="white-border-top">
                        </div>
                        <div class="white-border-left-side">
                            <div class="white-border-right-side">
                                <div id="account-success-whitebox">
                                    <div class="account-success">
                                        <div class="white-border-top">
                                        </div>
                                        <div class="white-border-left-side">
                                            <div class="white-border-right-side">

                                                <img src="/portal/Images/Icons/icon_red_x.gif?v=2.11.13" alt="Error" />
                                                <div class="Success">Error</div>
                                            </div>
                                        </div>
                                        <div class="white-border-bottom">
                                        </div>
                                    </div>
                                    <div class="success-text">
                                        <p>
                                        Sorry, an error occurred while processing your request.
                                        </p>
                                    </div>
                                </div>
                            </div>
                        </div>
                        <div class="white-border-bottom">
                        </div>
                    </div>
                    <div class="buttonarea">
                        <div class="buttonwrapper">
                            <div class="red-button-gray">
                                <a href="/portal/">Home</a>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
            <div class="rounded-bevel-border-bottomleftcorner">
            </div>
            <div class="rounded-bevel-border-bottom">
            </div>
            <div class="rounded-bevel-border-bottomrightcorner">
            </div>
        </div>
    </div>

                </div>
            </div>
            <div id="gatewaylog">

            </div>
            <div id="_push">
            </div>
            <div id="_footer">
                <div>
                    Version 2.11.13 - July 06, 2023
                </div>
                <ul class="left" style="width: 700px;margin-top: 5px;">
                    <li class="rightborder">
                        <a href="/portal/Home/TermsAndConditions">Privacy Statement and End User License Agreement</a></li>
                    <li class="rightborder">
                        <a href="/portal/Home/TermsConditions">Terms &amp; Conditions</a></li>
                    <li class="rightborder"><a href="http://www.mytotalconnectcomfort.com/Account/ResetLocalisationCulture">Global Site</a></li>

                    <li class="rightborder">
                        <a href="/portal/Home/Feedback">Feedback</a></li>
                    <li><br/>&nbsp;&nbsp;<a href="https://honeywellhome.com/" target="_blank">&copy;
                        2023
                        Resideo Technologies, Inc.</a>
                        The Honeywell Home trademark is used under license from Honeywell International Inc. All rights reserved.
                    </li>
                </ul>
                <ul id="CultureControl">

<li class="rightborder"><a class="culture-link" data-ajax="false" href="/portal/Account/ChangeCulture?lang=en-US&amp;returnUrl=%2Fportal%2FError%3Faspxerrorpath%3D%2Fportal%2FDevice%2FCheckDataSession%2F1535122" style="text-decoration: underline;">English</a> </li>

<li><a class="culture-link" data-ajax="false" href="/portal/Account/ChangeCulture?lang=fr-CA&amp;returnUrl=%2Fportal%2FError%3Faspxerrorpath%3D%2Fportal%2FDevice%2FCheckDataSession%2F1535122" style="">Fran&#231;ais</a></li>

                </ul>
            </div>
        </div>
        <div id="_rightBackground">
        </div>
    </div>

    <div id="dialog" style="display: none">
        <div class="warning"></div>
        <ul>
            <li class="header">Your session is about to expire.</li>
            <li>You will be logged off in <span id='dialog-countdown' style='font-weight:bold'></span> seconds.</li>
            <li>Do you want to continue your session?</li>
        </ul>
    </div>

        <script type="text/javascript">
            var sessionTimeoutHandler = new SessionTimeoutHandler(
                "#dialog",
                "#dialog-countdown",
                "Yes",
                "No",
                '/portal/Account/LogOff',
                '/portal/Account/Timeout'
            );
            sessionTimeoutHandler.Initialize();
        </script>

    <script type="text/javascript" language="javascript">
        $(function ()
        {
            var isMobileDevice = true;

            if (BrowserDetect.browser == "Explorer" && parseFloat(BrowserDetect.version) < 8)
            {
                $("#unsupportedbrowser").html('The web browser you are using is not supported.  A supported browser is required to use Total Connect Comfort.  The most recent versions of Chrome, Safari, Firefox and Internet Explorer may be used.  Update or download one of these browsers to use Total Connect Comfort.');
            }
        });
    </script>
</body>
</html>

2023-10-31 05:59:13.528 ERROR (MainThread) [somecomfort] Login as j2howarth@gmail.com failed
2023-10-31 05:59:13.530 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event state_changed[L]: entity_id=climate.thermostat, old_state=<state climate.thermostat=cool; hvac_modes=[<HVACMode.OFF: 'off'>, <HVACMode.COOL: 'cool'>, <HVACMode.HEAT: 'heat'>], min_temp=50, max_temp=99, fan_modes=['on', 'auto'], preset_modes=['none', 'away', 'Hold'], current_temperature=78, temperature=78, target_temp_high=None, target_temp_low=None, fan_mode=auto, hvac_action=idle, preset_mode=None, fan_action=idle, permanent_hold=False, dr_phase=-1, friendly_name=THERMOSTAT, supported_features=ClimateEntityFeature.PRESET_MODE|FAN_MODE|TARGET_TEMPERATURE_RANGE|TARGET_TEMPERATURE @ 2023-10-30T20:44:40.984493-04:00>, new_state=<state climate.thermostat=unavailable; restored=True, hvac_modes=['off', 'cool', 'heat'], min_temp=50, max_temp=99, fan_modes=['on', 'auto'], preset_modes=['none', 'away', 'Hold'], supported_features=27 @ 2023-10-31T05:59:13.530744-04:00>>
2023-10-31 05:59:13.533 DEBUG (Recorder) [homeassistant.components.recorder.core] Processing task: EventTask(event=<Event state_changed[L]: entity_id=climate.thermostat, old_state=<state climate.thermostat=cool; hvac_modes=[<HVACMode.OFF: 'off'>, <HVACMode.COOL: 'cool'>, <HVACMode.HEAT: 'heat'>], min_temp=50, max_temp=99, fan_modes=['on', 'auto'], preset_modes=['none', 'away', 'Hold'], current_temperature=78, temperature=78, target_temp_high=None, target_temp_low=None, fan_mode=auto, hvac_action=idle, preset_mode=None, fan_action=idle, permanent_hold=False, dr_phase=-1, friendly_name=THERMOSTAT, supported_features=ClimateEntityFeature.PRESET_MODE|FAN_MODE|TARGET_TEMPERATURE_RANGE|TARGET_TEMPERATURE @ 2023-10-30T20:44:40.984493-04:00>, new_state=<state climate.thermostat=unavailable; restored=True, hvac_modes=['off', 'cool', 'heat'], min_temp=50, max_temp=99, fan_modes=['on', 'auto'], preset_modes=['none', 'away', 'Hold'], supported_features=27 @ 2023-10-31T05:59:13.530744-04:00>>)
2023-10-31 05:59:13.534 DEBUG (Recorder) [homeassistant.components.recorder.pool.RecorderPool] Connection <sqlite3.Connection object at 0xafbd1658> checked out from pool
2023-10-31 05:59:13.773 ERROR (MainThread) [somecomfort] Login as j2howarth@gmail.com failed
2023-10-31 05:59:13.779 WARNING (MainThread) [homeassistant.config_entries] Config entry 'honeywell' for honeywell integration could not authenticate: Incorrect Password
2023-10-31 05:59:13.781 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event state_changed[L]: entity_id=persistent_notification.config_entry_reconfigure, old_state=None, new_state=<state persistent_notification.config_entry_reconfigure=notifying; message=At least one of your integrations requires reconfiguration to continue functioning. [Check it out](/config/integrations)., title=Integration requires reconfiguration, friendly_name=Integration requires reconfiguration @ 2023-10-31T05:59:13.781132-04:00>>
2023-10-31 05:59:13.781 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event persistent_notifications_updated[L]>
2023-10-31 05:59:13.782 DEBUG (Recorder) [homeassistant.components.recorder.core] Processing task: EventTask(event=<Event state_changed[L]: entity_id=persistent_notification.config_entry_reconfigure, old_state=None, new_state=<state persistent_notification.config_entry_reconfigure=notifying; message=At least one of your integrations requires reconfiguration to continue functioning. [Check it out](/config/integrations)., title=Integration requires reconfiguration, friendly_name=Integration requires reconfiguration @ 2023-10-31T05:59:13.781132-04:00>>)
2023-10-31 05:59:13.784 DEBUG (Recorder) [homeassistant.components.recorder.core] Processing task: EventTask(event=<Event persistent_notifications_updated[L]>)

Additional information

There has been no change in credentials for this integration. No errors are generated when the same password is reused. The integration restarts immediately. I have not seen the integration recover on its own The same credentials work with the android application - Honeywell Home Total Connect Comfort without issue Rebooting HA does not clear the issue. Rebooting HA does not result in a password error message

Screenshot 2023-10-31 101046

Let me know if anything else might help

home-assistant[bot] commented 1 year ago

Hey there @rdfurman, @mkmer, mind taking a look at this issue as it has been labeled with an integration (honeywell) you are listed as a code owner for? Thanks!

Code owner commands Code owners of `honeywell` can trigger bot actions by commenting: - `@home-assistant close` Closes the issue. - `@home-assistant rename Awesome new title` Renames the issue. - `@home-assistant reopen` Reopen the issue. - `@home-assistant unassign honeywell` Removes the current integration label and assignees on the issue, add the integration domain after the command.

(message by CodeOwnersMention)


honeywell documentation honeywell source (message by IssueLinks)

mkmer commented 1 year ago

duplicate: https://github.com/home-assistant/core/issues/91925 2023.5 fixes this as long as you don't reload the integration when the site is down/rebooting

mkmer commented 1 year ago

@home-assistant close

crumbliness commented 1 year ago

I don't understand the fix .... the my integration fails almost every day ... is the honeywell site down/rebooting every day too? I have never experienced the honeywell site being down using the android app.

mkmer commented 1 year ago

The backend goes down/reboots/resets several times per day and incorrectly responds with an invalid password message. Because HA is continually connected and polling every 30 seconds, it "notices" this outage and tries to login again. Using an app you typically wouldn't catch these outages as they are only 1 or 2 minutes long (and/or the app just asks you to login again, usually much slower than 30 seconds).

crumbliness commented 1 year ago

@mkmer - Thanks, Is there any suggested work-around? My integration does not recover on it's own. Does 2023.11.0 take care of this? - Thanks

mkmer commented 1 year ago

You said you were running core-2023.4.6 above - 2023.5 addresses it.

crumbliness commented 1 year ago

@mkmer - Thanks! upgraded to 2023.10.5