Ring integration auth broken/changed (2022.10 change or from Ring?)


Preface: Changes made before issue. Possible reasons?

  1. Installed 2022.10 update and restarted HA.
  2. I did notice on the Ring app that it did not have any notifications across each device. On inspection on their support page, it did list that there was an outage only affecting the ring app itself. This looks since to be resolved.

Is anyone else experiencing issues with the Ring integration after a reboot/restart?
After a reboot of HA from installing the 2022.10 updated, I noted that my ring devices were now offline.
The logs for the Ring integration show the following.

Traceback (most recent call last):
File “/usr/local/lib/python3.10/site-packages/ring_doorbell/auth.py”, line 94, in query
req = getattr(self._oauth, method.lower())(url, **kwargs)
File “/usr/local/lib/python3.10/site-packages/requests/sessions.py”, line 635, in post
return self.request(“POST”, url, data=data, json=json, **kwargs)
File “/usr/local/lib/python3.10/site-packages/requests_oauthlib/oauth2_session.py”, line 483, in request
url, headers, data = self._client.add_token(
File “/usr/local/lib/python3.10/site-packages/oauthlib/oauth2/rfc6749/clients/base.py”, line 217, in add_token
raise TokenExpiredError()
oauthlib.oauth2.rfc6749.errors.TokenExpiredError: (token_expired)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/usr/src/homeassistant/homeassistant/config_entries.py”, line 365, in async_setup
result = await component.async_setup_entry(hass, self)
File “/usr/src/homeassistant/homeassistant/components/ring/init.py”, line 78, in async_setup_entry
await hass.async_add_executor_job(ring.update_data)
File “/usr/local/lib/python3.10/concurrent/futures/thread.py”, line 58, in run
result = self.fn(*self.args, **self.kwargs)
File “/usr/local/lib/python3.10/site-packages/ring_doorbell/init.py”, line 52, in update_data
File “/usr/local/lib/python3.10/site-packages/ring_doorbell/init.py”, line 65, in create_session
self.session = self.query(
File “/usr/local/lib/python3.10/site-packages/ring_doorbell/init.py”, line 107, in query
return self.auth.query(
File “/usr/local/lib/python3.10/site-packages/ring_doorbell/auth.py”, line 96, in query
self._oauth.token = self.refresh_tokens()
File “/usr/local/lib/python3.10/site-packages/ring_doorbell/auth.py”, line 56, in refresh_tokens
token = self._oauth.refresh_token(
File “/usr/local/lib/python3.10/site-packages/requests_oauthlib/oauth2_session.py”, line 452, in refresh_token
self.token = self._client.parse_request_body_response(r.text, scope=self.scope)
File “/usr/local/lib/python3.10/site-packages/oauthlib/oauth2/rfc6749/clients/base.py”, line 427, in parse_request_body_response
self.token = parse_token_response(body, scope=scope)
File “/usr/local/lib/python3.10/site-packages/oauthlib/oauth2/rfc6749/parameters.py”, line 441, in parse_token_response
File “/usr/local/lib/python3.10/site-packages/oauthlib/oauth2/rfc6749/parameters.py”, line 448, in validate_token_parameters
raise_from_error(params.get(‘error’), params)
File “/usr/local/lib/python3.10/site-packages/oauthlib/oauth2/rfc6749/errors.py”, line 399, in raise_from_error
raise cls(**kwargs)
oauthlib.oauth2.rfc6749.errors.InvalidClientIdError: (invalid_request) The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed.

In the past, I did have an issue with the ring integration where I had to change the token inside the [core.config_entries] file where I simply updated the access_token token value and that worked ever since. However, thinking this may have required a manual update again, I created a new token and added it in but it made no change to the existing error that I receive now.

Checking to see if anyone else is having issues with Ring or any other ideas on how to resolve - outside of removing and re-adding as I don’t wont to lose entity names and configs/automations built around them now.


It seems after doing a reboot of HA now, I am getting a new Ring error message. → 401 Client Error: Unauthorized for url: https://api.ring.com/clients_api/session?api_version=9

Has Ring changed something on their side maybe?


I see that error too and it may be associated with the problem I’m having: the integration stops delivering binary_sensor motion events every few hours and has to be reloaded.

It seems this integration has been abandoned. It sure would be nice if someone picked it up and tried to fix it…