Invalid config: could not be set up: bluetooth, shelly, default_config

Since a couple of days, I think after upgrade 2023.11.0, none of the Shelly devices are still connected and I get the following error:

"Invalid config

The following integrations and platforms could not be set up:

  • [bluetooth][Show logs]
  • [shelly][Show logs]
  • [default_config][Show logs]
    Please check your config and [logs."

I’m running on a Raspberry Pi 4 (with integrated bluetooth). All worked fine until the upgrade to 2023.11. Because most of my deviced are from Shelly, I’m in deep trouble.

It looks that Shelly does not load because of the bluetooth dependency.
Here is the error I get from bluetooth:

"Logger: homeassistant.util.json
Source: util/json.py:68
First occurred: 07:43:28 (1 occurrences)
Last logged: 07:43:28

Could not parse JSON content: /config/.storage/bluetooth.passive_update_processor
Traceback (most recent call last):
File “/usr/src/homeassistant/homeassistant/util/json.py”, line 68, in load_json
return orjson.loads(fdesc.read()) # type: ignore[no-any-return]
^^^^^^^^^^^^
File “”, line 322, in decode
UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xda in position 2: invalid continuation byte"

"Logger: homeassistant.setup
Source: setup.py:288
First occurred: 12:15:57 (1 occurrences)
Last logged: 12:15:57

Error during setup of component bluetooth
Traceback (most recent call last):
File “/usr/src/homeassistant/homeassistant/util/json.py”, line 68, in load_json
return orjson.loads(fdesc.read()) # type: ignore[no-any-return]
^^^^^^^^^^^^
File “”, line 322, in decode
UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xda in position 2: invalid continuation byte

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

Traceback (most recent call last):
File “/usr/src/homeassistant/homeassistant/setup.py”, line 288, in _async_setup_component
result = await task
^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/components/bluetooth/init.py”, line 134, in async_setup
await passive_update_processor.async_setup(hass)
File “/usr/src/homeassistant/homeassistant/components/bluetooth/passive_update_processor.py”, line 246, in async_setup
await storage.async_load() or {}
^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/helpers/storage.py”, line 133, in async_load
return await self._load_task
^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/helpers/storage.py”, line 142, in _async_load
return await self._async_load_data()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/helpers/storage.py”, line 161, in _async_load_data
data = await self.hass.async_add_executor_job(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/concurrent/futures/thread.py”, line 58, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/util/json.py”, line 74, in load_json
raise HomeAssistantError(error) from error
homeassistant.exceptions.HomeAssistantError: ‘utf-8’ codec can’t decode byte 0xda in position 2: invalid continuation byte"

That file is corrupted on your side, for whatever reason.
Mine looks pretty generic

{
  "version": 1,
  "minor_version": 1,
  "key": "bluetooth.passive_update_processor",
  "data": {}
}

Hi Chris,
This solved the problem. You made my day, many thanks. I hope my BU problem is with this also resolved. I’m just wondering how you could identify the file that was corrupted? Nothing in the log seems to refer to it.
Eric

Sorry, found the reference to the file. Still not easy for a beginner to understsand the logs.

Solved also my BU problem. Problem is that during back-up, you’re not notified that there is a corrupted file and the restore does not work anymore.

Pretty much spelled out, really :wink: