home-assistant/core · error · UpdateFailed

consent_required

Error message

consent_required

What it means

Raised as UpdateFailed (translation consent_required, retry_after 900s) inside the Anglian Water coordinator when api.update() throws ConsentRequiredError during a periodic refresh: the T&Cs acceptance lapsed after setup. A repair issue is created and the coordinator backs off 15 minutes instead of hammering the API; data entities keep their last values.

Source

Thrown at homeassistant/components/anglian_water/coordinator.py:77

            hass=hass,
            logger=_LOGGER,
            name=DOMAIN,
            update_interval=UPDATE_INTERVAL,
            config_entry=config_entry,
        )
        self.api = api

    @override
    async def _async_update_data(self) -> None:
        """Update data from Anglian Water's API."""
        try:
            await self.api.update(self.config_entry.data[CONF_ACCOUNT_NUMBER])
            await self._insert_statistics()
        except ConsentRequiredError as err:
            async_create_consent_required_issue(
                self.hass, self.config_entry.data[CONF_ACCOUNT_NUMBER]
            )
            raise UpdateFailed(
                translation_domain=DOMAIN,
                translation_key="consent_required",
                retry_after=900.0,
            ) from err
        except (ExpiredAccessTokenError, InvalidGrantError) as err:
            raise ConfigEntryAuthFailed(
                translation_domain=DOMAIN,
                translation_key="auth_expired",
            ) from err
        except UnknownEndpointError as err:
            raise UpdateFailed(
                translation_domain=DOMAIN,
                translation_key="service_unavailable",
                retry_after=60.0,
            ) from err
        else:
            async_delete_consent_required_issue(
                self.hass, self.config_entry.data[CONF_ACCOUNT_NUMBER]

View on GitHub (pinned to 58a3fdb3ea)

Solutions

  1. Accept the updated terms by logging into the Anglian Water portal/app.
  2. Wait up to 15 minutes (retry_after) or reload the integration to resume immediately.
  3. Verify entities recover and the consent_required repair issue clears on the next successful update.
Defensive patterns

Strategy: retry

Try / catch

except UpdateFailed: honor the 900s retry_after; after the user accepts the terms the else-branch auto-clears the repair issue.

Prevention

When it happens

Trigger: A scheduled coordinator refresh after Anglian Water publishes new terms — api.update() then rejects with ConsentRequiredError even though the entry was previously working.

Common situations: Provider updates T&Cs periodically; all users of the integration start seeing unavailable entities until they visit the portal, then the next successful refresh auto-deletes the issue (the else-branch).

Related errors


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