I have a new HA OS install on an UnRaid VM that I just moved from my old Raspberry 3. The migration mostly worked great except the Switchbot devices. I’ve read a few threads here and on other sites but I’m kinda stuck how to resolve this.
Current state:
- I followed the official HA OS UnRaid installation guide. The backup import went OK
- I have a USB Zigbee adapter that works just fine so other USB devices seem to be OK
- the Bluetooth adapter is recognized within HA
- the Bluetooth adapter is set to active discovery in HA
- whenever I try to add a Switchbot device, the operation immediately fails (instantly, not after a timeout).
- I see an error message in HA OS terminal:
Bluetooth: hci0: Failed to read codec capabilities (-22)
- HA OS is latest
The Bluetooth adapter is a TP-Link Archer TX20E device. Which is a hybrid Wifi/USB PCIe extension card. The Bluetooth adapter shows up as a USB device in UnRaid. I can’t find the exact chipset beyond that it is a Realtek chip.
Any pointers would be appreciated. One point that I am uncertain about on the UnRaid side (the installation guide didn’t specify it) is which “USB Controller” option needs to be set
HA Bluetooth diagnostics contents:
{
"home_assistant": {
"installation_type": "Home Assistant OS",
"version": "2023.11.1",
"dev": false,
"hassio": true,
"virtualenv": false,
"python_version": "3.11.6",
"docker": true,
"arch": "x86_64",
"timezone": "Asia/Tokyo",
"os_name": "Linux",
"os_version": "6.1.59",
"supervisor": "2023.11.0",
"host_os": "Home Assistant OS 11.1",
"docker_version": "24.0.6",
"chassis": "vm",
"run_as_root": true
},
"custom_components": {
"hacs": {
"version": "1.32.1",
"requirements": [
"aiogithubapi>=22.10.1"
]
},
"sonoff": {
"version": "3.5.2",
"requirements": [
"pycryptodome>=3.6.6"
]
}
},
"integration_manifest": {
"domain": "bluetooth",
"name": "Bluetooth",
"codeowners": [
"@bdraco"
],
"config_flow": true,
"dependencies": [
"usb"
],
"documentation": "https://www.home-assistant.io/integrations/bluetooth",
"iot_class": "local_push",
"loggers": [
"btsocket",
"bleak_retry_connector",
"bluetooth_adapters",
"bluetooth_auto_recovery"
],
"quality_scale": "internal",
"requirements": [
"bleak==0.21.1",
"bleak-retry-connector==3.3.0",
"bluetooth-adapters==0.16.1",
"bluetooth-auto-recovery==1.2.3",
"bluetooth-data-tools==1.13.0",
"dbus-fast==2.12.0"
],
"is_built_in": true
},
"data": {
"manager": {
"adapters": {
"hci0": {
"address": "10:68:38:76:4F:79",
"sw_version": "homeassistant",
"hw_version": "usb:v1D6Bp0246d0546",
"passive_scan": true,
"manufacturer": "Realtek",
"product": "Bluetooth Radio",
"vendor_id": "13d3",
"product_id": "3570"
}
},
"slot_manager": {
"manager": true,
"adapter_slots": {
"hci0": 5
},
"allocations_by_adapter": {
"hci0": []
}
},
"scanners": [
{
"name": "hci0 (10:68:38:76:4F:79)",
"start_time": 1802.504534058,
"source": "10:68:38:76:4F:79",
"scanning": true,
"type": "HaScanner",
"last_detection": 1802.504534058,
"monotonic_time": 1879.321730827,
"discovered_devices_and_advertisement_data": [],
"adapter": "hci0"
}
],
"connectable_history": [],
"all_history": [],
"advertisement_tracker": {
"intervals": {},
"fallback_intervals": {},
"sources": {},
"timings": {}
}
},
"adapters": {
"hci0": {
"address": "10:68:38:76:4F:79",
"sw_version": "homeassistant",
"hw_version": "usb:v1D6Bp0246d0546",
"passive_scan": true,
"manufacturer": "Realtek",
"product": "Bluetooth Radio",
"vendor_id": "13d3",
"product_id": "3570"
}
},
"dbus": {
"/org/bluez": {
"org.freedesktop.DBus.Introspectable": {},
"org.bluez.AgentManager1": {},
"org.bluez.ProfileManager1": {}
},
"/org/bluez/hci0": {
"org.freedesktop.DBus.Introspectable": {},
"org.bluez.Adapter1": {
"Address": "10:68:38:76:4F:79",
"AddressType": "public",
"Name": "homeassistant",
"Alias": "homeassistant",
"Class": 7077888,
"Powered": true,
"PowerState": "on",
"Discoverable": false,
"DiscoverableTimeout": 180,
"Pairable": false,
"PairableTimeout": 0,
"Discovering": true,
"UUIDs": [
"0000110e-0000-1000-8000-00805f9b34fb",
"00001200-0000-1000-8000-00805f9b34fb",
"0000111f-0000-1000-8000-00805f9b34fb",
"0000110b-0000-1000-8000-00805f9b34fb",
"00001108-0000-1000-8000-00805f9b34fb",
"0000110c-0000-1000-8000-00805f9b34fb",
"0000184f-0000-1000-8000-00805f9b34fb",
"00001800-0000-1000-8000-00805f9b34fb",
"00001801-0000-1000-8000-00805f9b34fb",
"00001844-0000-1000-8000-00805f9b34fb",
"0000180a-0000-1000-8000-00805f9b34fb",
"0000184d-0000-1000-8000-00805f9b34fb",
"00001845-0000-1000-8000-00805f9b34fb",
"0000110a-0000-1000-8000-00805f9b34fb"
],
"Modalias": "usb:v1D6Bp0246d0546",
"Roles": [
"central",
"peripheral"
]
},
"org.freedesktop.DBus.Properties": {},
"org.bluez.BatteryProviderManager1": {},
"org.bluez.GattManager1": {},
"org.bluez.AdvertisementMonitorManager1": {
"SupportedMonitorTypes": [
"or_patterns"
],
"SupportedFeatures": []
},
"org.bluez.Media1": {
"SupportedUUIDs": [
"0000110a-0000-1000-8000-00805f9b34fb",
"0000110b-0000-1000-8000-00805f9b34fb"
]
},
"org.bluez.NetworkServer1": {},
"org.bluez.LEAdvertisingManager1": {
"ActiveInstances": 0,
"SupportedInstances": 10,
"SupportedIncludes": [
"tx-power",
"appearance",
"local-name"
],
"SupportedSecondaryChannels": [
"1M",
"2M",
"Coded"
],
"SupportedFeatures": [
"CanSetTxPower",
"HardwareOffload"
],
"SupportedCapabilities": {
"MinTxPower": -90,
"MaxTxPower": 0,
"MaxAdvLen": 31,
"MaxScnRspLen": 31
}
}
}
}
}
}