From f0270c6e347c36a9129ef456696fd6531e5d8937 Mon Sep 17 00:00:00 2001 From: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com> Date: Tue, 11 Feb 2025 06:19:20 -0600 Subject: [PATCH] fix non-awaited onvif calls (#16469) --- frigate/ptz/autotrack.py | 3 ++- frigate/ptz/onvif.py | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) 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}")