{"record":{"id":"7bc69bf03b4e6ea2","repo":"home-assistant/core","slug":"failed-disarm-motion","errorCode":"failed_disarm_motion","errorMessage":"Blink failed to disarm camera motion detection.","messagePattern":"Blink failed to disarm camera motion detection\\.","errorType":"exception","errorClass":"HomeAssistantError","httpStatus":null,"severity":"warning","filePath":"homeassistant/components/blink/switch.py","lineNumber":94,"sourceCode":"        except TimeoutError as er:\n            raise HomeAssistantError(\n                translation_domain=DOMAIN,\n                translation_key=\"failed_arm_motion\",\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        await self.coordinator.async_refresh()\n\n    @override\n    async def async_turn_off(self, **kwargs: Any) -> None:\n        \"\"\"Turn the switch off.\"\"\"\n        try:\n            await self._camera.async_arm(False)\n\n        except TimeoutError as er:\n            raise HomeAssistantError(\n                translation_domain=DOMAIN,\n                translation_key=\"failed_disarm_motion\",\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        await self.coordinator.async_refresh()\n\n    @property\n    @override\n    def is_on(self) -> bool:\n        \"\"\"Return if Camera Motion is enabled.\"\"\"\n        return self._camera.motion_enabled\n","sourceCodeStart":76,"sourceCodeEnd":109,"githubUrl":"https://github.com/home-assistant/core/blob/58a3fdb3ea0538617f0a07efcfba6294de64fd59/homeassistant/components/blink/switch.py#L76-L109","documentation":"HomeAssistantError with translation key 'failed_disarm_motion' raised when turning OFF the motion-detection switch times out: async_arm(False) raised TimeoutError. Mirror of the arm failure: the disarm command never got a timely response from Blink cloud.","triggerScenarios":"Toggle the blink motion switch off while the camera is unreachable or Blink servers are slow; async_arm(False) exceeds its request timeout.","commonSituations":"Camera battery dead or offline; Blink cloud incident; leaving/disarming exactly when the coordinator refresh is running.","solutions":["Retry the disarm after a short wait","Confirm the camera and sync module are online in the Blink app","Check battery/quality of the camera link if one specific camera always fails","Look for a Blink outage if all cameras are affected"],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":"try:\n    await switch.async_turn_off()\nexcept HomeAssistantError as err:\n    if \"failed_disarm_motion\" in str(err):\n        await asyncio.sleep(30)\n        await switch.async_turn_off()","preventionTips":["Verify camera/sync module online state before disarm automations run","Retry disarm once after a delay before escalating","Schedule disarm away from known Blink refresh windows"],"tags":["blink","switch","timeout","motion-detection"],"backgroundTag":null,"analyzedSha":"58a3fdb3ea0538617f0a07efcfba6294de64fd59","analyzedAt":"2026-08-14T20:54:38.818Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}