fix non-awaited onvif calls (#16469)

This commit is contained in:
Josh Hawkins 2025-02-11 06:19:20 -06:00 committed by GitHub
parent ac3dfbc30d
commit f0270c6e34
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 4 additions and 3 deletions

View File

@ -1,5 +1,6 @@
"""Automatically pan, tilt, and zoom on detected objects via onvif.""" """Automatically pan, tilt, and zoom on detected objects via onvif."""
import asyncio
import copy import copy
import logging import logging
import queue import queue
@ -253,7 +254,7 @@ class PtzAutoTracker:
return return
if not self.onvif.cams[camera]["init"]: 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( logger.warning(
f"Disabling autotracking for {camera}: Unable to initialize onvif" f"Disabling autotracking for {camera}: Unable to initialize onvif"
) )

View File

@ -145,7 +145,7 @@ class OnvifController:
): ):
request = ptz.create_type("GetConfigurationOptions") request = ptz.create_type("GetConfigurationOptions")
request.ConfigurationToken = profile.PTZConfiguration.token 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}") logger.debug(f"Onvif config for {camera_name}: {ptz_config}")
service_capabilities_request = ptz.create_type("GetServiceCapabilities") service_capabilities_request = ptz.create_type("GetServiceCapabilities")
@ -169,7 +169,7 @@ class OnvifController:
status_request.ProfileToken = profile.token status_request.ProfileToken = profile.token
self.cams[camera_name]["status_request"] = status_request self.cams[camera_name]["status_request"] = status_request
try: try:
status = ptz.GetStatus(status_request) status = await ptz.GetStatus(status_request)
logger.debug(f"Onvif status config for {camera_name}: {status}") logger.debug(f"Onvif status config for {camera_name}: {status}")
except Exception as e: except Exception as e:
logger.warning(f"Unable to get status from camera: {camera_name}: {e}") logger.warning(f"Unable to get status from camera: {camera_name}: {e}")