Hive Integration returning "Invalid type for parameter AuthParameters"

My Hive integration in HA has broken in the recent weeks, reviewing the error log I can see the following:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 339, in async_setup
    result = await component.async_setup_entry(hass, self)
  File "/usr/src/homeassistant/homeassistant/components/hive/__init__.py", line 89, in async_setup_entry
    devices = await hive.session.startSession(hive_config)
  File "/usr/local/lib/python3.9/site-packages/apyhiveapi/session.py", line 493, in startSession
    await self.getDevices("No_ID")
  File "/usr/local/lib/python3.9/site-packages/apyhiveapi/session.py", line 416, in getDevices
    await self.hiveRefreshTokens()
  File "/usr/local/lib/python3.9/site-packages/apyhiveapi/session.py", line 303, in hiveRefreshTokens
    result = await self.auth.refreshToken(
  File "/usr/local/lib/python3.9/site-packages/apyhiveapi/api/hive_auth_async.py", line 544, in refreshToken
    result = await self.loop.run_in_executor(
  File "/usr/local/lib/python3.9/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/local/lib/python3.9/site-packages/botocore/client.py", line 391, in _api_call
    return self._make_api_call(operation_name, kwargs)
  File "/usr/local/lib/python3.9/site-packages/botocore/client.py", line 691, in _make_api_call
    request_dict = self._convert_to_request_dict(
  File "/usr/local/lib/python3.9/site-packages/botocore/client.py", line 739, in _convert_to_request_dict
    request_dict = self._serializer.serialize_to_request(
  File "/usr/local/lib/python3.9/site-packages/botocore/validate.py", line 360, in serialize_to_request
    raise ParamValidationError(report=report.generate_report())
botocore.exceptions.ParamValidationError: Parameter validation failed:
Invalid type for parameter AuthParameters, value: ({'REFRESH_TOKEN': 'Xxxxxxxxxxxxx'},), type: <class 'tuple'>, valid types: <class 'dict'>

Looks like the auth token has expired, is there anything I can do without having to reinstall the plugin?

Hive changed their Auth recently, there is a fix but needs HA 2022.6.6. The integration will need removing and reinstalling.
Have a search on here, there’s lots of posts about it

Thanks I have reinstalled the plugin and all is working again.

Deleted, rebooted and reinstalled the plugin but still not working for me. I have not enabled 2 factor in my Hive account yet if that matters?

Last wo lines of log below.

botocore.exceptions.ParamValidationError: Parameter validation failed:
Invalid type for parameter AuthParameters, value: ({'REFRESH_TOKEN': 'eyJjdHk.................

Any ideas?

Are you on HA 2022.6.6 ?

Yes.

Home Assistant Core 2022.6.6
Home Assistant Supervisor 2022.05.3
Home Assistant OS 8.2

Maybe try turning on 2FA

Are you using the custom component in HACS or the official one ?

Official. I might try 2FA, only the wife uses the Hive app also which would give me another issue.

I take it you use 2FA?

Yes, I have it on. The phone app will be trusted when you access it for the first time so you only have to put the 2FA code in once. The web page still needs 2FA every time though

1 Like

2FA fixed it. I guess the docs should read requires 2FA to be setup as opposed to just supports 2FA.

All good now, thanks for the help.

1 Like

I already had 2FA turned on according to the Hive app. But I got exactly the same error until I deleted and re-added the hive integration.

2 Likes

Same error here

Tried deleting, restarting, re-adding - same error
Been in the Hive app and 2FA is enabled (though I never get a prompt when I login on app or web)
Tried removing 2FA it just stays enabled in the app

:frowning:

I see you found the answer on GitHub - the issue is caused by a change to the Hive app, you need to install an older version (not necessarily an easy thing to do)