From b408676bf22c579b0b72a97f5b5e81882fbfc94a Mon Sep 17 00:00:00 2001 From: Nick Mowen Date: Tue, 17 Jan 2023 14:50:05 -0700 Subject: [PATCH] Catch onvif error --- frigate/ptz.py | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/frigate/ptz.py b/frigate/ptz.py index e93fc653d..68aae1125 100644 --- a/frigate/ptz.py +++ b/frigate/ptz.py @@ -35,21 +35,24 @@ class OnvifController: continue if cam.onvif.host: - self.cams[cam_name] = { - "onvif": ONVIFCamera( - cam.onvif.host, - cam.onvif.port, - cam.onvif.user, - cam.onvif.password, - wsdl_dir=site.getsitepackages()[0].replace( - "dist-packages", "site-packages" - ) - + "/wsdl", - ), - "init": False, - "active": False, - "presets": {}, - } + try: + self.cams[cam_name] = { + "onvif": ONVIFCamera( + cam.onvif.host, + cam.onvif.port, + cam.onvif.user, + cam.onvif.password, + wsdl_dir=site.getsitepackages()[0].replace( + "dist-packages", "site-packages" + ) + + "/wsdl", + ), + "init": False, + "active": False, + "presets": {}, + } + except ONVIFError as e: + logger.error(f"Onvif connection to {cam.name} failed: {e}") def _init_onvif(self, camera_name: str) -> bool: onvif: ONVIFCamera = self.cams[camera_name]["onvif"]