home-assistant/core · error · ConfigEntryError

Unknown error

Error message

Unknown error

What it means

The catch-all setup error for the AirOS integration: any Exception during initial connection/device_data retrieval that is not connection-timeout, auth, data-missing, or key-data-missing becomes ConfigEntryError with translation key unknown. The entry lands in a failed state; the original exception is chained for diagnosis.

Source

Thrown at homeassistant/components/airos/__init__.py:114

        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
    )

    try:
        await data_coordinator.async_config_entry_first_refresh()

        firmware_coordinator: AirOSFirmwareUpdateCoordinator | None = None
        if device_data["fw_major"] >= 8:

View on GitHub (pinned to 58a3fdb3ea)

Solutions

  1. Open the HA log and read the chained `from err` original exception — that is the real cause
  2. Verify the host, username, and password against the device web UI
  3. Update the device firmware and the pyairos library (update HA core)
  4. If the underlying error is a parsing bug, open an issue with the traceback and device model/firmware
Defensive patterns

Strategy: try-catch

Try / catch

try:
    await hass.config_entries.async_setup(entry.entry_id)
except ConfigEntryError as err:
    # unknown: inspect __cause__ in logs; entry is failed, needs user action not retry

Prevention

When it happens

Trigger: Unexpected exception during _async_connect/device data parsing — e.g. SSL errors, unexpected response schemas from unsupported firmware, or bugs — anything not matched by the specific except clauses above it.

Common situations: Device with an unanticipated firmware build returning unexpected payloads, TLS interception on the network, or library bugs against specific hardware revisions.

Related errors


AI-assisted analysis of home-assistant/core@58a3fdb3ea (2026-08-14). Data as JSON: /api/errors/acc2a95c31dfd89f. Report an issue: GitHub.