{"record":{"id":"4909bababeac2abe","repo":"home-assistant/core","slug":"adapter-human-name-adapter-address-err","errorCode":null,"errorMessage":"{adapter_human_name(adapter, address)}: {err}","messagePattern":"\\{adapter_human_name\\(adapter, address\\)\\}: \\{err\\}","errorType":"exception","errorClass":"ConfigEntryNotReady","httpStatus":null,"severity":"error","filePath":"homeassistant/components/bluetooth/__init__.py","lineNumber":423,"sourceCode":"    # AUTO needs passive scanning support to flip on demand; without it\n    # the scanner would start passive on hardware that can't do passive.\n    if mode is BluetoothScanningMode.AUTO and not details.get(ADAPTER_PASSIVE_SCAN):\n        mode = BluetoothScanningMode.ACTIVE\n    scanner = HaScanner(mode, adapter, address)\n    scanner.async_setup()\n    if entry.title == address:\n        hass.config_entries.async_update_entry(\n            entry, title=adapter_title(adapter, details)\n        )\n    slots: int = details.get(ADAPTER_CONNECTION_SLOTS) or DEFAULT_CONNECTION_SLOTS\n    # Register the scanner before starting so\n    # any raw advertisement data can be processed\n    entry.async_on_unload(async_register_scanner(hass, scanner, connection_slots=slots))\n    await async_update_device(hass, entry, adapter, details)\n    try:\n        await scanner.async_start()\n    except (RuntimeError, ScannerStartError) as err:\n        raise ConfigEntryNotReady(\n            f\"{adapter_human_name(adapter, address)}: {err}\"\n        ) from err\n    entry.async_on_unload(entry.add_update_listener(async_update_listener))\n    entry.async_on_unload(scanner.async_stop)\n    return True\n\n\nasync def async_update_listener(hass: HomeAssistant, entry: ConfigEntry) -> None:\n    \"\"\"Handle options update.\"\"\"\n    await hass.config_entries.async_reload(entry.entry_id)\n\n\nasync def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:\n    \"\"\"Unload a config entry.\"\"\"\n    return True\n","sourceCodeStart":405,"sourceCodeEnd":439,"githubUrl":"https://github.com/home-assistant/core/blob/58a3fdb3ea0538617f0a07efcfba6294de64fd59/homeassistant/components/bluetooth/__init__.py#L405-L439","documentation":"ConfigEntryNotReady raised when HaScanner.async_start() throws RuntimeError or ScannerStartError (from bleak). The message prefixes the human adapter name so the underlying bleak error (device busy, operation not permitted, resource temporarily unavailable) is visible. Setup will be retried.","triggerScenarios":"Another process (e.g. a second HA instance, bluetoothctl, or a stale scanner) holds the adapter; insufficient capabilities in a container (no NET_ADMIN/NET_RAW); DBus/bluez problems; adapter in a bad state after suspend/resume.","commonSituations":"Docker/HAOS container missing bluetooth pass-through or privileges; bluez daemon not running; two integrations scanning on one adapter with too few connection slots; suspend/resume leaving hci0 down.","solutions":["Read the trailing bleak message — 'Operation not permitted' points to container privileges, 'Resource temporarily unavailable' to adapter busy/down","Stop competing scanners (bluetoothctl scan on, other HA instances, hcitool lescan)","In Docker, run with network capabilities and pass the adapter through (or use HAOS which handles this); ensure bluetoothd is active","Reset the adapter: sudo hciconfig hci0 reset (or replug), then reload the entry"],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":"from bleak import BleakScanner  # underlying failure source\n# The integration already wraps async_start and raises ConfigEntryNotReady;\n# consumers should treat it as transient:\ntry:\n    await async_setup_entry(hass, entry)\nexcept ConfigEntryNotReady as err:\n    logger.warning(\"Bluetooth scanner failed to start: %s; will retry\", err)","preventionTips":["Ensure containers have Bluetooth access and required capabilities before startup","Avoid running multiple scanner processes on one adapter","After host suspend/resume, verify hciconfig shows the adapter UP before reloading"],"tags":["bluetooth","bleak","scanner","permissions","config-entry-not-ready"],"backgroundTag":null,"analyzedSha":"58a3fdb3ea0538617f0a07efcfba6294de64fd59","analyzedAt":"2026-08-14T20:54:38.818Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}