{"record":{"id":"76853f422f807bca","repo":"home-assistant/core","slug":"data-incomplete-or-missing","errorCode":null,"errorMessage":"Data incomplete or missing","messagePattern":"Data incomplete or missing","errorType":"exception","errorClass":"UpdateFailed","httpStatus":null,"severity":"error","filePath":"homeassistant/components/airos/coordinator.py","lineNumber":72,"sourceCode":"        return await update_method()\n    except AirOSConnectionAuthenticationError as err:\n        _LOGGER.exception(\"Error authenticating with airOS device\")\n        raise ConfigEntryAuthFailed(\n            translation_domain=DOMAIN, translation_key=\"invalid_auth\"\n        ) from err\n    except (\n        AirOSConnectionSetupError,\n        AirOSDeviceConnectionError,\n        TimeoutError,\n    ) as err:\n        _LOGGER.error(\"Error connecting to airOS device: %s\", err)\n        raise UpdateFailed(\n            translation_domain=DOMAIN,\n            translation_key=\"cannot_connect\",\n        ) from err\n    except AirOSDataMissingError as err:\n        _LOGGER.error(\"Expected data not returned by airOS device: %s\", err)\n        raise UpdateFailed(\n            translation_domain=DOMAIN,\n            translation_key=\"error_data_missing\",\n        ) from err\n\n\nclass AirOSDataUpdateCoordinator(DataUpdateCoordinator[AirOSDataDetect]):\n    \"\"\"Class to manage fetching AirOS status data from single endpoint.\"\"\"\n\n    config_entry: AirOSConfigEntry\n\n    def __init__(\n        self,\n        hass: HomeAssistant,\n        config_entry: AirOSConfigEntry,\n        device_data: DetectDeviceData,\n        airos_device: AirOSDeviceDetect,\n    ) -> None:\n        \"\"\"Initialize the coordinator.\"\"\"","sourceCodeStart":54,"sourceCodeEnd":90,"githubUrl":"https://github.com/home-assistant/core/blob/58a3fdb3ea0538617f0a07efcfba6294de64fd59/homeassistant/components/airos/coordinator.py#L54-L90","documentation":"UpdateFailed raised by the airos coordinator when the device responds but the response lacks data the integration requires (AirOSDataMissingError). Unlike a connection failure, the device was reachable — it returned an incomplete or unexpected payload, so the parsed AirOSData object was missing required fields.","triggerScenarios":"The update method (e.g. fetching device status) raises AirOSDataMissingError because the JSON from the device omits expected keys — commonly after a firmware change, on an unusual device model, or when the endpoint returns an error page/partial data that still parses.","commonSituations":"Firmware upgrade changed the API response shape, unsupported airOS device variant (e.g. airMAX vs EdgePoint with different payloads), or the device returning degraded data while its web service is overloaded.","solutions":["Check the log line 'Expected data not returned by airOS device: %s' — it names which data was missing.","Update the aiosiso/airos python library and the integration; data-model gaps are usually fixed upstream.","Confirm the device model is officially supported by the integration.","Reboot the airOS device to rule out a wedged web service after firmware changes.","If a recent firmware upgrade preceded the error, report the missing fields to the library maintainers."],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":"def is_airos_data_missing(err: Exception) -> bool:\n    return isinstance(err, UpdateFailed) and getattr(err, \"translation_key\", None) == \"error_data_missing\"","tryCatchPattern":"try:\n    await coordinator.async_refresh()\nexcept UpdateFailed as err:\n    if getattr(err, \"translation_key\", None) == \"error_data_missing\":\n        # device reachable but payload unexpected: do not retry-loop; check firmware/library\n        _LOGGER.warning(\"airOS data model mismatch: %s\", err)","preventionTips":["Pin known-good firmware on airOS devices in environments relying on the integration.","Check release notes of the airos python library before upgrading device firmware.","Report missing-field names from logs upstream so the data model gets patched."],"tags":["home-assistant","airos","data-model","firmware","coordinator"],"backgroundTag":null,"analyzedSha":"58a3fdb3ea0538617f0a07efcfba6294de64fd59","analyzedAt":"2026-08-14T20:54:38.818Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}