From b713a951dd9505932a61035fb7a60f48ab8b5d51 Mon Sep 17 00:00:00 2001 From: Sean Vig Date: Sat, 22 Jan 2022 23:34:36 -0500 Subject: [PATCH] Update the states of the amcrest camera on every update (#56284) --- homeassistant/components/amcrest/camera.py | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/homeassistant/components/amcrest/camera.py b/homeassistant/components/amcrest/camera.py index a794128fe89..6e729a8f1b5 100644 --- a/homeassistant/components/amcrest/camera.py +++ b/homeassistant/components/amcrest/camera.py @@ -185,7 +185,6 @@ class AmcrestCam(Camera): self._rtsp_url: str | None = None self._snapshot_task: asyncio.tasks.Task | None = None self._unsub_dispatcher: list[Callable[[], None]] = [] - self._update_succeeded = False def _check_snapshot_ok(self) -> None: available = self.available @@ -380,9 +379,7 @@ class AmcrestCam(Camera): async def async_update(self) -> None: """Update entity status.""" - if not self.available or self._update_succeeded: - if not self.available: - self._update_succeeded = False + if not self.available: return _LOGGER.debug("Updating %s camera", self.name) try: @@ -427,9 +424,6 @@ class AmcrestCam(Camera): ) except AmcrestError as error: log_update_error(_LOGGER, "get", self.name, "camera attributes", error) - self._update_succeeded = False - else: - self._update_succeeded = True # Other Camera method overrides @@ -539,7 +533,10 @@ class AmcrestCam(Camera): return async def _async_get_video(self) -> bool: - return await self._api.async_video_enabled + stream = {0: "Main", 1: "Extra"} + return await self._api.async_is_video_enabled( + channel=0, stream=stream[self._resolution] + ) async def _async_set_video(self, enable: bool) -> None: await self._api.async_set_video_enabled(enable, channel=0)