{"record":{"id":"d292dfbd85b9793b","repo":"home-assistant/core","slug":"failed-disarm","errorCode":"failed_disarm","errorMessage":"Blink failed to disarm camera.","messagePattern":"Blink failed to disarm camera\\.","errorType":"exception","errorClass":"HomeAssistantError","httpStatus":null,"severity":"error","filePath":"homeassistant/components/blink/camera.py","lineNumber":99,"sourceCode":"        except TimeoutError as er:\n            raise HomeAssistantError(\n                translation_domain=DOMAIN,\n                translation_key=\"failed_arm\",\n            ) from er\n        except UnauthorizedError as er:\n            self.coordinator.config_entry.async_start_reauth(self.hass)\n            raise ConfigEntryAuthFailed(\"Blink authorization failed\") from er\n\n        self._camera.motion_enabled = True\n        await self.coordinator.async_refresh()\n\n    @override\n    async def async_disable_motion_detection(self) -> None:\n        \"\"\"Disable motion detection for the camera.\"\"\"\n        try:\n            await self._camera.async_arm(False)\n        except TimeoutError as er:\n            raise HomeAssistantError(\n                translation_domain=DOMAIN,\n                translation_key=\"failed_disarm\",\n            ) from er\n        except UnauthorizedError as er:\n            self.coordinator.config_entry.async_start_reauth(self.hass)\n            raise ConfigEntryAuthFailed(\"Blink authorization failed\") from er\n\n        self._camera.motion_enabled = False\n        await self.coordinator.async_refresh()\n\n    @property\n    @override\n    def motion_detection_enabled(self) -> bool:\n        \"\"\"Return the state of the camera.\"\"\"\n        return self._camera.arm\n\n    @property\n    @override","sourceCodeStart":81,"sourceCodeEnd":117,"githubUrl":"https://github.com/home-assistant/core/blob/58a3fdb3ea0538617f0a07efcfba6294de64fd59/homeassistant/components/blink/camera.py#L81-L117","documentation":"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.","triggerScenarios":"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.","commonSituations":"Disabling motion in bulk (e.g. 'disarm all cameras when home') and one camera is slow or asleep; Blink cloud brownouts; battery cameras unreachable.","solutions":["Verify the camera is online and retry the disable call.","Stagger bulk disable operations instead of firing them all at once.","Check Blink cloud/internet status when many cameras fail together."],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":"from homeassistant.exceptions import HomeAssistantError\n\ntry:\n    await camera.async_disable_motion_detection()\nexcept HomeAssistantError as err:\n    if err.translation_key == \"failed_disarm\":\n        await asyncio.sleep(10)\n        await camera.async_disable_motion_detection()","preventionTips":["Stagger bulk disable operations across cameras.","Verify final motion_detection_enabled state after timeouts."],"tags":["home-assistant","blink","camera","motion-detection","timeout"],"backgroundTag":null,"analyzedSha":"58a3fdb3ea0538617f0a07efcfba6294de64fd59","analyzedAt":"2026-08-14T20:54:38.818Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}