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
69.81k stars 28.94k forks source link

Failed to find token, re-authenticate request #119997

Open donoghdb opened 2 weeks ago

donoghdb commented 2 weeks ago

The problem

Every 24 hrs or so if have to re-authenticate the Husqvarna Automower

2024-06-19 17:29:58.353 ERROR (MainThread) [homeassistant.helpers.config_entry_oauth2_flow] Token request for husqvarna_automower_xxxxxxxxxxxx failed (invalid_grant): Failed to find token 2024-06-19 17:29:58.354 ERROR (MainThread) [homeassistant.components.husqvarna_automower.coordinator] Authentication failed while fetching husqvarna_automower data: Access token failure: 400, message='Bad Request', url=URL('https://api.authentication.husqvarnagroup.dev/v1/oauth2/token')

What version of Home Assistant Core has the issue?

core-2024.6.3

What was the last working version of Home Assistant Core?

No response

What type of installation are you running?

Home Assistant OS

Integration causing the issue

husqvarna_automower

Link to integration documentation on our website

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

Diagnostics information

No response

Example YAML snippet

No response

Anything in the logs that might be useful for us?

No response

Additional information

No response

home-assistant[bot] commented 2 weeks ago

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

Code owner commands Code owners of `husqvarna_automower` 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 husqvarna_automower` Removes the current integration label and assignees on the issue, add the integration domain after the command. - `@home-assistant add-label needs-more-information` Add a label (needs-more-information, problem in dependency, problem in custom component) to the issue. - `@home-assistant remove-label needs-more-information` Remove a label (needs-more-information, problem in dependency, problem in custom component) on the issue.

(message by CodeOwnersMention)


husqvarna_automower documentation husqvarna_automower source (message by IssueLinks)

pwtanagit commented 1 week ago

same problem here

Thomas55555 commented 1 week ago

Not sure, if I can help there, as the token management is done directly by a helper. Can you add these lines to your logger option in the configuration.yaml:

Example:

logger:
  default: info
  logs:
    homeassistant.components.husqvarna_automower: debug
    homeassistant.helpers.config_entry_oauth2_flow: debug
    aioautomower: debug

And post the logs around the time the error occurs?

pwtanagit commented 1 week ago

I did the logging:

2024-06-26 14:54:07.361 ERROR (MainThread) [homeassistant.helpers.config_entry_oauth2_flow] Token request for husqvarnaautomower(###application key###) (invalid_grant): Failed to find token 2024-06-26 14:54:07.362 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved (None) Traceback (most recent call last): File "/usr/local/lib/python3.12/site-packages/aioautomower/auth.py", line 127, in _async_get_access_token return await self.async_get_access_token() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/components/husqvarna_automower/api.py", line 29, in async_get_access_token await self._oauth_session.async_ensure_token_valid() File "/usr/src/homeassistant/homeassistant/helpers/config_entry_oauth2_flow.py", line 531, in async_ensure_token_valid new_token = await self.implementation.async_refresh_token(self.token) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/helpers/config_entry_oauth2_flow.py", line 103, in async_refresh_token new_token = await self._async_refresh_token(token) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/helpers/config_entry_oauth2_flow.py", line 193, in _async_refresh_token new_token = await self._token_request( ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/helpers/config_entry_oauth2_flow.py", line 226, in _token_request resp.raise_for_status() File "/usr/local/lib/python3.12/site-packages/aiohttp/client_reqrep.py", line 1070, in raise_for_status raise ClientResponseError( aiohttp.client_exceptions.ClientResponseError: 400, message='Bad Request', url=URL('https://api.authentication.husqvarnagroup.dev/v1/oauth2/token')

The above exception was the direct cause of the following exception:

Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/components/husqvarna_automower/coordinator.py", line 82, in client_listen await self.client_listen( File "/usr/src/homeassistant/homeassistant/components/husqvarna_automower/coordinator.py", line 82, in client_listen await self.client_listen( File "/usr/src/homeassistant/homeassistant/components/husqvarna_automower/coordinator.py", line 82, in client_listen await self.client_listen( [Previous line repeated 10 more times] File "/usr/src/homeassistant/homeassistant/components/husqvarna_automower/coordinator.py", line 71, in client_listen await automower_client.auth.websocket_connect() File "/usr/local/lib/python3.12/site-packages/aioautomower/auth.py", line 184, in websocket_connect token = await self._async_get_access_token() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/aioautomower/auth.py", line 129, in _async_get_access_token raise AuthException(f"Access token failure: {err}") from err aioautomower.exceptions.AuthException: Access token failure: 400, message='Bad Request', url=URL('https://api.authentication.husqvarnagroup.dev/v1/oauth2/token') 2024-06-26 15:01:58.997 ERROR (MainThread) [homeassistant.helpers.config_entry_oauth2_flow] Token request for husqvarnaautomower(###application key###) (invalid_grant): Failed to find token 2024-06-26 15:01:58.997 ERROR (MainThread) [homeassistant.components.husqvarna_automower.coordinator] Authentication failed while fetching husqvarna_automower data: Access token failure: 400, message='Bad Request', url=URL('https://api.authentication.husqvarnagroup.dev/v1/oauth2/token') 2024-06-26 15:01:58.998 DEBUG (MainThread) [homeassistant.components.husqvarna_automower.coordinator] Finished fetching husqvarna_automower data in 0.282 seconds (success: False)

donoghdb commented 1 week ago

Screenshot_2024-06-20-18-03-31-64_c3a231c25ed346e59462e84656a70e50.jpg

This is an image I managed to capture, not sure it helps.