home-assistant/core · error · HomeAssistantError

failed_disarm

failed_disarm

Error message

Blink failed to disarm camera.

What it means

blink camera.async_disable_motion_detection wraps a TimeoutError from camera.async_arm(False) into HomeAssistantError with key 'failed_disarm' ('Blink failed to disarm camera.'). The request to disable motion detection timed out; motion_enabled stays True in HA state and the coordinator is not refreshed.

Source

Thrown at homeassistant/components/blink/camera.py:99

        except TimeoutError as er:
            raise HomeAssistantError(
                translation_domain=DOMAIN,
                translation_key="failed_arm",
            ) from er
        except UnauthorizedError as er:
            self.coordinator.config_entry.async_start_reauth(self.hass)
            raise ConfigEntryAuthFailed("Blink authorization failed") from er

        self._camera.motion_enabled = True
        await self.coordinator.async_refresh()

    @override
    async def async_disable_motion_detection(self) -> None:
        """Disable motion detection for the camera."""
        try:
            await self._camera.async_arm(False)
        except TimeoutError as er:
            raise HomeAssistantError(
                translation_domain=DOMAIN,
                translation_key="failed_disarm",
            ) from er
        except UnauthorizedError as er:
            self.coordinator.config_entry.async_start_reauth(self.hass)
            raise ConfigEntryAuthFailed("Blink authorization failed") from er

        self._camera.motion_enabled = False
        await self.coordinator.async_refresh()

    @property
    @override
    def motion_detection_enabled(self) -> bool:
        """Return the state of the camera."""
        return self._camera.arm

    @property
    @override

View on GitHub (pinned to 58a3fdb3ea)

Solutions

  1. Verify the camera is online and retry the disable call.
  2. Stagger bulk disable operations instead of firing them all at once.
  3. Check Blink cloud/internet status when many cameras fail together.
Defensive patterns

Strategy: retry

Try / catch

from homeassistant.exceptions import HomeAssistantError

try:
    await camera.async_disable_motion_detection()
except HomeAssistantError as err:
    if err.translation_key == "failed_disarm":
        await asyncio.sleep(10)
        await camera.async_disable_motion_detection()

Prevention

When it happens

Trigger: Calling disable_motion_detection when the blinkpy request to the Blink cloud exceeds its timeout — cloud latency, camera offline/asleep, or HA host network problems.

Common situations: Disabling motion in bulk (e.g. 'disarm all cameras when home') and one camera is slow or asleep; Blink cloud brownouts; battery cameras unreachable.

Related errors


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