home-assistant/core · error · ConfigEntryError
Key data not returned from device
Error message
Key data not returned from device
What it means
Raised during AirOS (Ubiquiti airOS) config entry setup when device_data fetch raises AirOSKeyDataMissingError — the library connected and authenticated but the device response lacked key data needed to build the device model. ConfigEntryError with translation key key_data_missing marks the entry as failed (not retried) until the user intervenes.
Source
Thrown at homeassistant/components/airos/__init__.py:109
device_data: DetectDeviceData = await async_get_firmware_data(**conn_data)
except (
AirOSConnectionSetupError,
AirOSDeviceConnectionError,
AirOSTLSCompatibilityError,
TimeoutError,
) as err:
await close_session()
raise ConfigEntryNotReady from err
except (
AirOSConnectionAuthenticationError,
AirOSDataMissingError,
) as err:
await close_session()
raise ConfigEntryAuthFailed from err
except AirOSKeyDataMissingError as err:
await close_session()
raise ConfigEntryError(
translation_domain=DOMAIN, translation_key="key_data_missing"
) from err
except Exception as err:
await close_session()
raise ConfigEntryError(
translation_domain=DOMAIN, translation_key="unknown"
) from err
airos_class: type[AirOS8 | AirOS6] = (
AirOS8 if device_data["fw_major"] == 8 else AirOS6
)
airos_device = airos_class(**conn_data)
data_coordinator = AirOSDataUpdateCoordinator(
hass, entry, device_data, airos_device
)
View on GitHub (pinned to 58a3fdb3ea)
Solutions
- Confirm the target is a genuine airOS 6/8 device (check the device web UI)
- Upgrade the device firmware to a supported airOS release and retry setup
- Capture the device's /status JSON and compare against what the pyairos library expects; report a library issue if fields are missing
- Remove the failed entry and re-add it after firmware correction
Defensive patterns
Strategy: validation
Validate before calling
# Before adding the entry, confirm the device is airOS and its status payload parses: # curl -k -u user:pass https://<host>/status -> JSON containing fw_major and key fields.
Prevention
- Only point the integration at airOS 6/8 devices
- Upgrade firmware before setup if it is very old
- If the payload lacks expected fields, report to pyairos maintainers with the JSON
When it happens
Trigger: Device responds to login/status calls but the parsed payload is missing expected fields (e.g. fw_major or device identification data) — typically unsupported/very old firmware or an unexpected airOS response shape.
Common situations: Pointing the integration at a non-airOS device or EdgePoint/other Ubiquiti gear with a different API, ancient airOS versions (<6), or a firmware version the airos library cannot parse.
Related errors
AI-assisted analysis of home-assistant/core@58a3fdb3ea (2026-08-14).
Data as JSON: /api/errors/0b3827d441c32276.
Report an issue: GitHub.