mirror of
https://github.com/home-assistant/core.git
synced 2025-07-18 02:37:08 +00:00
Update the states of the amcrest camera on every update (#56284)
This commit is contained in:
parent
6de24baf95
commit
b713a951dd
@ -185,7 +185,6 @@ class AmcrestCam(Camera):
|
|||||||
self._rtsp_url: str | None = None
|
self._rtsp_url: str | None = None
|
||||||
self._snapshot_task: asyncio.tasks.Task | None = None
|
self._snapshot_task: asyncio.tasks.Task | None = None
|
||||||
self._unsub_dispatcher: list[Callable[[], None]] = []
|
self._unsub_dispatcher: list[Callable[[], None]] = []
|
||||||
self._update_succeeded = False
|
|
||||||
|
|
||||||
def _check_snapshot_ok(self) -> None:
|
def _check_snapshot_ok(self) -> None:
|
||||||
available = self.available
|
available = self.available
|
||||||
@ -380,9 +379,7 @@ class AmcrestCam(Camera):
|
|||||||
|
|
||||||
async def async_update(self) -> None:
|
async def async_update(self) -> None:
|
||||||
"""Update entity status."""
|
"""Update entity status."""
|
||||||
if not self.available or self._update_succeeded:
|
if not self.available:
|
||||||
if not self.available:
|
|
||||||
self._update_succeeded = False
|
|
||||||
return
|
return
|
||||||
_LOGGER.debug("Updating %s camera", self.name)
|
_LOGGER.debug("Updating %s camera", self.name)
|
||||||
try:
|
try:
|
||||||
@ -427,9 +424,6 @@ class AmcrestCam(Camera):
|
|||||||
)
|
)
|
||||||
except AmcrestError as error:
|
except AmcrestError as error:
|
||||||
log_update_error(_LOGGER, "get", self.name, "camera attributes", error)
|
log_update_error(_LOGGER, "get", self.name, "camera attributes", error)
|
||||||
self._update_succeeded = False
|
|
||||||
else:
|
|
||||||
self._update_succeeded = True
|
|
||||||
|
|
||||||
# Other Camera method overrides
|
# Other Camera method overrides
|
||||||
|
|
||||||
@ -539,7 +533,10 @@ class AmcrestCam(Camera):
|
|||||||
return
|
return
|
||||||
|
|
||||||
async def _async_get_video(self) -> bool:
|
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:
|
async def _async_set_video(self, enable: bool) -> None:
|
||||||
await self._api.async_set_video_enabled(enable, channel=0)
|
await self._api.async_set_video_enabled(enable, channel=0)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user