home-assistant/core · error · HomeAssistantError
Blink failed to disarm camera
Error message
Blink failed to disarm camera
What it means
blink alarm_control_panel.async_alarm_disarm raises HomeAssistantError('Blink failed to disarm camera') when the blinkpy SyncModule.async_arm(False) call times out. The disarm command was sent to Blink's cloud but no response arrived in time; the camera may or may not have disarmed, and the coordinator refresh after the try block is skipped because the exception propagates.
Source
Thrown at homeassistant/components/blink/alarm_control_panel.py:94
def _update_attr(self) -> None:
"""Update attributes for alarm control panel."""
self.sync.attributes["network_info"] = self.api.networks
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
View on GitHub (pinned to 58a3fdb3ea)
Solutions
- Retry the disarm command — Blink cloud timeouts are frequently transient.
- Check Blink service status / the Blink app; if the app also fails, it is a cloud-side problem.
- Verify internet connectivity on the HA host.
- If persistent, delete and reconfigure the Blink integration to refresh credentials.
Defensive patterns
Strategy: retry
Try / catch
from homeassistant.exceptions import HomeAssistantError
try:
await alarm.async_alarm_disarm(code)
except HomeAssistantError as err:
if "failed to disarm" in str(err).lower():
await asyncio.sleep(5)
await alarm.async_alarm_disarm(code) # single retry Prevention
- Treat Blink timeout errors as transient; verify final arm state before re-sending.
- Monitor Blink cloud status instead of stacking retries.
When it happens
Trigger: Calling the alarm_control_panel.disarm service on a Blink sync module when the blinkpy API request exceeds its timeout — slow Blink cloud responses, internet outage, or Blink server-side issues.
Common situations: Blink cloud API slowness or outage; local internet drop; token expired handled separately (that raises UnauthorizedError instead); oversized networks with many cameras making responses slow.
Related errors
AI-assisted analysis of home-assistant/core@58a3fdb3ea (2026-08-14).
Data as JSON: /api/errors/6d6516ae986e312c.
Report an issue: GitHub.