{"record":{"id":"bc23718d44a7f461","repo":"home-assistant/core","slug":"setup-general-error","errorCode":"setup_general_error","errorMessage":"An unknown error occurred while retrieving static device data","messagePattern":"An unknown error occurred while retrieving static device data","errorType":"exception","errorClass":"ConfigEntryError","httpStatus":null,"severity":"error","filePath":"homeassistant/components/bsblan/__init__.py","lineNumber":225,"sourceCode":"    except TimeoutError as err:\n        raise ConfigEntryNotReady(\n            translation_domain=DOMAIN,\n            translation_key=\"setup_connection_error\",\n            translation_placeholders={\"host\": entry.data[CONF_HOST]},\n        ) from err\n    except BSBLANVersionError as err:\n        # The device does not report a supported JSON-API version, so the\n        # integration cannot operate. Surface a clear, actionable error.\n        firmware_version = bsblan.device_info.version if bsblan.device_info else None\n        raise ConfigEntryError(\n            translation_domain=DOMAIN,\n            translation_key=\"setup_outdated_firmware\",\n            translation_placeholders={\n                \"firmware_version\": firmware_version or \"unknown\"\n            },\n        ) from err\n    except BSBLANError as err:\n        raise ConfigEntryError(\n            translation_domain=DOMAIN,\n            translation_key=\"setup_general_error\",\n        ) from err\n\n    # Devices below JSON-API v2 operate with a reduced single-circuit feature\n    # set. Surface (or clear) the repair issue recommending a firmware upgrade.\n    _async_manage_outdated_firmware_issue(\n        hass, entry, device.version, bsblan.json_api_version\n    )\n\n    # Fetch static values per configured circuit.\n    # BSB-LAN is a serial bus — it processes one parameter at a time,\n    # so concurrent requests offer no speed benefit over sequential.\n    # Static values are optional — some devices may not support them.\n    static_per_circuit: dict[int, StaticState | None] = {}\n    for circuit in circuits:\n        try:\n            static_per_circuit[circuit] = await bsblan.static_values(circuit=circuit)","sourceCodeStart":207,"sourceCodeEnd":243,"githubUrl":"https://github.com/home-assistant/core/blob/58a3fdb3ea0538617f0a07efcfba6294de64fd59/homeassistant/components/bsblan/__init__.py#L207-L243","documentation":"Catch-all raised during bsblan setup when the static-data fetch raises a generic BSBLANError that is not a connection, auth, timeout, or version problem. It is raised as ConfigEntryError with translation key `setup_general_error`, a terminal failure state (no automatic retry), so the user must intervene. It usually indicates malformed API responses or unexpected library-level failures.","triggerScenarios":"Loading a bsblan entry where `bsblan.device()` or `bsblan.info()` parses a malformed JSON payload, hits an unexpected HTTP status, or any other BSBLANError subclass not caught by earlier handlers.","commonSituations":"A proxy or captive portal returning HTML instead of JSON at the configured host, corrupted device responses, partial firmware flashes, or python-bsblan/library and firmware API mismatches.","solutions":["Open `http://<host>/JQ` and `http://<host>/JI` in a browser and confirm valid JSON comes back.","Reboot the BSB-LAN device (power cycle the board) to clear wedged state, then reload the entry.","Update both BSB-LAN firmware and Home Assistant so client and device API versions match.","Enable debug logging for bsblan and file an issue with the traceback if JSON looks valid."],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":"# verify the endpoints return real JSON before setup\ncurl -s \"http://<host>/JI\" | python3 -m json.tool > /dev/null && echo ok","typeGuard":null,"tryCatchPattern":"if entry.state is ConfigEntryState.SETUP_ERROR:\n    # inspect the setup error and device manually; ConfigEntryError does not retry\n    ...","preventionTips":["Don't point the integration at hosts behind proxies/captive portals.","Reboot the device after firmware flashes before reloading the entry.","Keep firmware and Home Assistant versions aligned."],"tags":["home-assistant","bsblan","setup","generic-error","json"],"backgroundTag":null,"analyzedSha":"58a3fdb3ea0538617f0a07efcfba6294de64fd59","analyzedAt":"2026-08-14T20:54:38.818Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}