diff --git a/frigate/ptz/autotrack.py b/frigate/ptz/autotrack.py index 7295fbc6f..c1184f5b5 100644 --- a/frigate/ptz/autotrack.py +++ b/frigate/ptz/autotrack.py @@ -1,5 +1,6 @@ """Automatically pan, tilt, and zoom on detected objects via onvif.""" +import asyncio import copy import logging import queue @@ -253,7 +254,7 @@ class PtzAutoTracker: return if not self.onvif.cams[camera]["init"]: - if not self.onvif._init_onvif(camera): + if not asyncio.run(self.onvif._init_onvif(camera)): logger.warning( f"Disabling autotracking for {camera}: Unable to initialize onvif" ) diff --git a/frigate/ptz/onvif.py b/frigate/ptz/onvif.py index 55832dfb1..7969a169b 100644 --- a/frigate/ptz/onvif.py +++ b/frigate/ptz/onvif.py @@ -145,7 +145,7 @@ class OnvifController: ): request = ptz.create_type("GetConfigurationOptions") request.ConfigurationToken = profile.PTZConfiguration.token - ptz_config = ptz.GetConfigurationOptions(request) + ptz_config = await ptz.GetConfigurationOptions(request) logger.debug(f"Onvif config for {camera_name}: {ptz_config}") service_capabilities_request = ptz.create_type("GetServiceCapabilities") @@ -169,7 +169,7 @@ class OnvifController: status_request.ProfileToken = profile.token self.cams[camera_name]["status_request"] = status_request try: - status = ptz.GetStatus(status_request) + status = await ptz.GetStatus(status_request) logger.debug(f"Onvif status config for {camera_name}: {status}") except Exception as e: logger.warning(f"Unable to get status from camera: {camera_name}: {e}")