diff --git a/frigate/comms/dispatcher.py b/frigate/comms/dispatcher.py index 5c6cf0f4c..86ab35a33 100644 --- a/frigate/comms/dispatcher.py +++ b/frigate/comms/dispatcher.py @@ -229,6 +229,6 @@ class Dispatcher: logger.info(f"Setting ptz command to {command} for {camera_name}") except KeyError as k: - logger.error(f"Invalid PTZ command {payload}: {k.with_traceback()}") + logger.error(f"Invalid PTZ command {payload}: {k}") #except Exception as e: # logger.error(f"Error sending {payload} to {camera_name}: {e}") diff --git a/frigate/ptz.py b/frigate/ptz.py index f1be43960..209bdb3bf 100644 --- a/frigate/ptz.py +++ b/frigate/ptz.py @@ -52,7 +52,6 @@ class OnvifController: ptz = onvif.create_ptz_service() request = ptz.create_type("GetConfigurationOptions") request.ConfigurationToken = profile.PTZConfiguration.token - ptz_config = ptz.GetConfigurationOptions(request) # setup moving request move_request = ptz.create_type("ContinuousMove") @@ -64,6 +63,10 @@ class OnvifController: for preset in presets: self.cams[camera_name]["presets"][preset["Name"]] = preset["token"] + # get list of supported features + ptz_config = ptz.GetConfigurationOptions(request) + logger.error(f"ptz config is {ptz_config}") + self.cams[camera_name]["init"] = True def _stop(self, camera_name: str) -> None: @@ -146,7 +149,7 @@ class OnvifController: onvif.get_service("ptz").ContinuousMove(move_request) def handle_command( - self, camera_name: str, command: OnvifCommandEnum, param: str + self, camera_name: str, command: OnvifCommandEnum, param: str = "" ) -> None: if camera_name not in self.cams.keys(): logger.error(f"Onvif is not setup for {camera_name}")