home-assistant/core · error · UpdateFailed

{err}

Error message

{err}

What it means

Raised as UpdateFailed whose message is the string of a PyDroidIPCamException from pydroid-ipcam when self.cam.update() fails. PyDroidIPCamException is the library's catch-all for HTTP errors and connection problems talking to the Android IP Webcam app, so the UpdateFailed text is whatever the library said (often an aiohttp status line).

Source

Thrown at homeassistant/components/android_ip_webcam/coordinator.py:49

        cam: PyDroidIPCam,
    ) -> None:
        """Initialize the Android IP Webcam."""
        self.cam = cam
        super().__init__(
            hass,
            _LOGGER,
            config_entry=config_entry,
            name=f"{DOMAIN} {config_entry.data[CONF_HOST]}",
            update_interval=timedelta(seconds=10),
        )

    @override
    async def _async_update_data(self) -> None:
        """Update Android IP Webcam entities."""
        try:
            await self.cam.update()
        except PyDroidIPCamException as err:
            raise UpdateFailed(err) from err

View on GitHub (pinned to 58a3fdb3ea)

Solutions

  1. Open the IP Webcam app on the phone and confirm it is streaming.
  2. Verify the host/port in the config entry still points at the phone; prefer a static IP or DNS name.
  3. If the app has authentication enabled, make sure the username/password in the entry match.
  4. Exclude the IP Webcam app from Android battery optimization so it survives sleep.
Defensive patterns

Strategy: retry

Try / catch

except UpdateFailed: rely on the 10s coordinator retry; the UpdateFailed message is the PyDroidIPCamException text, useful for distinguishing 401 vs refused.

Prevention

When it happens

Trigger: Coordinator refresh calls cam.update(), which GETs /status.json on the phone's IP Webcam app; failures include connection refused (app closed), 401 (password set in app but not/incorrectly configured), timeouts, and non-200 responses.

Common situations: The IP Webcam app was swiped away or the phone slept (most common), phone IP changed via DHCP so the configured host is stale, or a video/audio port password mismatch after app reconfiguration.

Related errors


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