{"record":{"id":"8241c6310d3f35b2","repo":"home-assistant/core","slug":"smart-meter-unavailable","errorCode":"smart_meter_unavailable","errorMessage":"This account no longer has a smart meter associated with it.","messagePattern":"This account no longer has a smart meter associated with it\\.","errorType":"exception","errorClass":"ConfigEntryError","httpStatus":null,"severity":"error","filePath":"homeassistant/components/anglian_water/__init__.py","lineNumber":67,"sourceCode":"        await auth.send_refresh_request()\n    except ConsentRequiredError as err:\n        async_create_consent_required_issue(hass, entry.data[CONF_ACCOUNT_NUMBER])\n        raise ConfigEntryNotReady(\n            translation_domain=DOMAIN,\n            translation_key=\"consent_required\",\n        ) from err\n    except (ExpiredAccessTokenError, InvalidGrantError, SelfAssertedError) as err:\n        raise ConfigEntryAuthFailed(\n            translation_domain=DOMAIN,\n            translation_key=\"auth_expired\",\n        ) from err\n\n    _aw = AnglianWater(authenticator=auth)\n\n    try:\n        await _aw.validate_smart_meter(entry.data[CONF_ACCOUNT_NUMBER])\n    except SmartMeterUnavailableError as err:\n        raise ConfigEntryError(\n            translation_domain=DOMAIN, translation_key=\"smart_meter_unavailable\"\n        ) from err\n\n    hass.config_entries.async_update_entry(\n        entry, data={**entry.data, CONF_ACCESS_TOKEN: auth.refresh_token}\n    )\n    entry.runtime_data = coordinator = AnglianWaterUpdateCoordinator(\n        hass=hass, api=_aw, config_entry=entry\n    )\n\n    await coordinator.async_config_entry_first_refresh()\n    await hass.config_entries.async_forward_entry_setups(entry, _PLATFORMS)\n    return True\n\n\nasync def async_unload_entry(\n    hass: HomeAssistant, entry: AnglianWaterConfigEntry\n) -> bool:","sourceCodeStart":49,"sourceCodeEnd":85,"githubUrl":"https://github.com/home-assistant/core/blob/58a3fdb3ea0538617f0a07efcfba6294de64fd59/homeassistant/components/anglian_water/__init__.py#L49-L85","documentation":"Raised as ConfigEntryError (translation smart_meter_unavailable) when _aw.validate_smart_meter() throws SmartMeterUnavailableError after successful auth: the account no longer has an associated smart meter, so there is nothing this integration can poll. ConfigEntryError marks the entry as a hard setup error (no automatic retry); the user must fix the account or remove the entry.","triggerScenarios":"validate_smart_meter(account_number) where the API reports no smart meter device on the account — meter swapped out, account closed/migrated, or wrong account number in the entry.","commonSituations":"Customer switched tariff/provider or replaced the meter; account number typo entered during config; Anglian Water migrated the account to a new system.","solutions":["Verify on the Anglian Water portal that a smart meter is still active on that account number.","If the account number changed, delete the entry and set the integration up again with the new details.","If the meter was genuinely removed, delete the integration entry — the error will not clear itself."],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":"ConfigEntryError has no retry semantics — catch nothing; verify the account/meter on the portal and recreate or delete the entry.","preventionTips":["Confirm the account number and active smart meter before setup.","Remove the entry when the meter is gone; it will not recover."],"tags":["account","water","config-entry-error","no-retry"],"backgroundTag":null,"analyzedSha":"58a3fdb3ea0538617f0a07efcfba6294de64fd59","analyzedAt":"2026-08-14T20:54:38.818Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}