try/except around GetServiceCapabilities call

This commit is contained in:
Josh Hawkins 2024-03-09 08:38:25 -06:00
parent 445268ae12
commit 839819ad56

View File

@ -569,6 +569,7 @@ class OnvifController:
service_capabilities_request = self.cams[camera_name][ service_capabilities_request = self.cams[camera_name][
"service_capabilities_request" "service_capabilities_request"
] ]
try:
service_capabilities = onvif.get_service("ptz").GetServiceCapabilities( service_capabilities = onvif.get_service("ptz").GetServiceCapabilities(
service_capabilities_request service_capabilities_request
) )
@ -579,6 +580,11 @@ class OnvifController:
# MoveStatus is required for autotracking - should return "true" if supported # MoveStatus is required for autotracking - should return "true" if supported
return find_by_key(vars(service_capabilities), "MoveStatus") return find_by_key(vars(service_capabilities), "MoveStatus")
except Exception:
logger.warning(
f"Camera {camera_name} does not support the ONVIF GetServiceCapabilities method. Autotracking will not function correctly and must be disabled in your config."
)
return False
def get_camera_status(self, camera_name: str) -> None: def get_camera_status(self, camera_name: str) -> None:
if camera_name not in self.cams.keys(): if camera_name not in self.cams.keys():