Add SetSynchronizationPoint fallback to onvif (#86400)

Co-authored-by: J. Nick Koston <nick@koston.org>
This commit is contained in:
Meow 2023-04-15 21:41:34 +02:00 committed by Franck Nijhof
parent b5ac3ee288
commit 47398f03dd
No known key found for this signature in database
GPG Key ID: D62583BA8AB11CA3

View File

@ -20,11 +20,9 @@ from .models import Event
from .parsers import PARSERS
UNHANDLED_TOPICS: set[str] = set()
SUBSCRIPTION_ERRORS = (
Fault,
asyncio.TimeoutError,
TransportError,
)
SUBSCRIPTION_ERRORS = (Fault, asyncio.TimeoutError, TransportError)
SET_SYNCHRONIZATION_POINT_ERRORS = (*SUBSCRIPTION_ERRORS, TypeError)
def _stringify_onvif_error(error: Exception) -> str:
@ -99,7 +97,7 @@ class EventManager:
# Initialize events
pullpoint = self.device.create_pullpoint_service()
with suppress(*SUBSCRIPTION_ERRORS):
with suppress(*SET_SYNCHRONIZATION_POINT_ERRORS):
await pullpoint.SetSynchronizationPoint()
response = await pullpoint.PullMessages(
{"MessageLimit": 100, "Timeout": dt.timedelta(seconds=5)}