{"record":{"id":"efa54b261f32cdc0","repo":"home-assistant/core","slug":"data-update-failed","errorCode":"data_update_failed","errorMessage":"data_update_failed","messagePattern":"data_update_failed","errorType":"exception","errorClass":"UpdateFailed","httpStatus":null,"severity":"error","filePath":"homeassistant/components/blebox/coordinator.py","lineNumber":49,"sourceCode":"        \"\"\"Initialize the coordinator.\"\"\"\n        super().__init__(\n            hass,\n            _LOGGER,\n            config_entry=config_entry,\n            name=DOMAIN,\n            update_interval=timedelta(seconds=5),\n        )\n        self.box = box\n\n    @override\n    async def _async_update_data(self) -> None:\n        \"\"\"Fetch data from the BleBox device.\"\"\"\n        try:\n            await self.box.async_update_data()\n        except UnauthorizedRequest as err:\n            raise ConfigEntryAuthFailed from err\n        except Error as err:\n            raise UpdateFailed(\n                translation_domain=DOMAIN,\n                translation_key=\"data_update_failed\",\n                translation_placeholders={\"error\": str(err)},\n            ) from err\n","sourceCodeStart":31,"sourceCodeEnd":54,"githubUrl":"https://github.com/home-assistant/core/blob/58a3fdb3ea0538617f0a07efcfba6294de64fd59/homeassistant/components/blebox/coordinator.py#L31-L54","documentation":"The blebox DataUpdateCoordinator wraps device errors: when self.box.async_update_data() raises a python-blebox Error (anything other than UnauthorizedRequest) during a poll, _async_update_data raises UpdateFailed with translation key 'data_update_failed' and the underlying error text. This is Home Assistant's standard mechanism to mark the coordinator fetch as failed; entities go unavailable and the message appears in diagnostics/logs.","triggerScenarios":"Any periodic 5-second coordinator refresh where the BleBox device HTTP API fails: device powered off/unreachable on the network, timeouts, malformed responses, or transient blebox gateway errors. UnauthorizedRequest is handled separately as ConfigEntryAuthFailed and does not produce this error.","commonSituations":"BleBox device dropped off Wi-Fi; IP changed after DHCP renewal; device firmware rebooting; flaky 2.4 GHz network; device behind a reverse proxy that returns unexpected payloads.","solutions":["Verify the device is reachable: open its configured host/IP in a browser or curl the /api endpoint.","If the IP changed, set a DHCP reservation or update the config entry host.","Check that nothing intercepts port 80 traffic to the device (captive portals, proxies).","If reachable but still failing, enable debug logging for blebox to capture the underlying Error text and report to the integration."],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":"from homeassistant.helpers.update_coordinator import UpdateFailed\n\n# Coordinator retries automatically with backoff; in custom code:\ntry:\n    await coordinator.async_config_entry_first_refresh()\nexcept ConfigEntryNotReady:\n    # device unreachable at setup; HA will retry setup\n    raise","preventionTips":["Give BleBox devices static IPs or DHCP reservations.","Keep devices on a stable 2.4 GHz network with good signal to the HA host."],"tags":["home-assistant","blebox","coordinator","network"],"backgroundTag":null,"analyzedSha":"58a3fdb3ea0538617f0a07efcfba6294de64fd59","analyzedAt":"2026-08-14T20:54:38.818Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}