home-assistant/core · error · ConfigEntryAuthFailed

Blink authorization failed

Error message

Blink authorization failed

What it means

blink alarm_control_panel.async_alarm_disarm catches UnauthorizedError from sync.async_arm(False), calls config_entry.async_start_reauth to kick off reauthentication, and raises ConfigEntryAuthFailed('Blink authorization failed'). This tells Home Assistant the OAuth/login token is invalid so the entry enters the reauth flow instead of retrying pointlessly.

Source

Thrown at homeassistant/components/blink/alarm_control_panel.py:97

        self.sync.attributes["associated_cameras"] = list(self.sync.cameras)
        self._attr_extra_state_attributes = self.sync.attributes
        self._attr_alarm_state = (
            AlarmControlPanelState.ARMED_AWAY
            if self.sync.arm
            else AlarmControlPanelState.DISARMED
        )

    @override
    async def async_alarm_disarm(self, code: str | None = None) -> None:
        """Send disarm command."""
        try:
            await self.sync.async_arm(False)

        except TimeoutError as er:
            raise HomeAssistantError("Blink failed to disarm camera") from er
        except UnauthorizedError as er:
            self.coordinator.config_entry.async_start_reauth(self.hass)
            raise ConfigEntryAuthFailed("Blink authorization failed") from er

        await self.coordinator.async_refresh()

    @override
    async def async_alarm_arm_away(self, code: str | None = None) -> None:
        """Send arm command."""
        try:
            await self.sync.async_arm(True)

        except TimeoutError as er:
            raise HomeAssistantError("Blink failed to arm camera away") from er
        except UnauthorizedError as er:
            self.coordinator.config_entry.async_start_reauth(self.hass)
            raise ConfigEntryAuthFailed("Blink authorization failed") from er

        await self.coordinator.async_refresh()

View on GitHub (pinned to 58a3fdb3ea)

Solutions

  1. Open Home Assistant > Settings > Devices & Services and complete the Blink reauthentication prompt that appears.
  2. If reauth loops, delete the Blink integration entry and set it up again.
  3. Confirm the Blink credentials still work in the official Blink app first.
  4. Update the blinkpy library / HA core in case auth handling changed.
Defensive patterns

Strategy: try-catch

Try / catch

from homeassistant.exceptions import ConfigEntryAuthFailed

try:
    await alarm.async_alarm_disarm(code)
except ConfigEntryAuthFailed:
    notify_user("Blink session expired — complete reauth in Settings > Devices & Services")

Prevention

When it happens

Trigger: Disarming when Blink rejects the stored credentials: token expired and could not be auto-refreshed, password changed, token revoked by logging in elsewhere, or Blink changed auth requirements.

Common situations: Long-running HA instance whose Blink session token aged out; user changed their Blink password; Blink enforcing re-login after security changes; too many devices using the same account.

Related errors


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