mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-02-04 18:25:22 +03:00
Fix bugs
This commit is contained in:
parent
6552c10fb8
commit
f6e2357263
@ -70,7 +70,7 @@ class Dispatcher:
|
||||
camera_name = topic.split("/")[-3]
|
||||
command = topic.split("/")[-2]
|
||||
self._camera_settings_handlers[command](camera_name, payload)
|
||||
except Exception as e:
|
||||
except IndexError as e:
|
||||
logger.error(f"Received invalid set command: {topic}")
|
||||
return
|
||||
elif topic.endswith("ptz"):
|
||||
@ -78,7 +78,7 @@ class Dispatcher:
|
||||
# example /cam_name/ptz payload=MOVE_UP|MOVE_DOWN|STOP...
|
||||
camera_name = topic.split("/")[-2]
|
||||
self._on_ptz_command(camera_name, payload)
|
||||
except Exception as e:
|
||||
except IndexError as e:
|
||||
logger.error(f"Received invalid ptz command: {topic}")
|
||||
return
|
||||
elif topic == "restart":
|
||||
@ -222,5 +222,8 @@ class Dispatcher:
|
||||
try:
|
||||
command = OnvifCommandEnum[payload.lower()]
|
||||
self.onvif.handle_command(camera_name, command)
|
||||
except Exception as e:
|
||||
return
|
||||
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()}")
|
||||
#except Exception as e:
|
||||
# logger.error(f"Error sending {payload} to {camera_name}: {e}")
|
||||
|
||||
@ -169,7 +169,7 @@ class MqttClient(Communicator): # type: ignore[misc]
|
||||
|
||||
if self.config.cameras[name].onvif.host:
|
||||
self.client.message_callback_add(
|
||||
f"{self.mqtt_config.topic_prefix}/{name}/ptz/#",
|
||||
f"{self.mqtt_config.topic_prefix}/{name}/ptz",
|
||||
self.on_mqtt_command,
|
||||
)
|
||||
|
||||
|
||||
@ -38,6 +38,7 @@ class OnvifController:
|
||||
}
|
||||
|
||||
def _init_onvif(self, camera_name: str) -> None:
|
||||
logger.error(f"Init onvif...")
|
||||
onvif: ONVIFCamera = self.cams[camera_name]["onvif"]
|
||||
media = onvif.create_media_service()
|
||||
profile = media.GetProfiles()[0]
|
||||
@ -56,6 +57,7 @@ class OnvifController:
|
||||
self.cams[camera_name]["move_request"] = move_request
|
||||
|
||||
def _stop(self, camera_name: str) -> None:
|
||||
logger.error(f"Stop onvif")
|
||||
onvif: ONVIFCamera = self.cams[camera_name]["onvif"]
|
||||
move_request = self.cams[camera_name]["move_request"]
|
||||
onvif.get_service("ptz").Stop(
|
||||
@ -68,6 +70,7 @@ class OnvifController:
|
||||
self.cams[camera_name]["active"] = False
|
||||
|
||||
def _move(self, camera_name: str, command: OnvifCommandEnum) -> None:
|
||||
logger.error(f"Move onvif {command}")
|
||||
if self.cams[camera_name]["active"]:
|
||||
logger.warning(
|
||||
f"{camera_name} is already performing an action, stopping..."
|
||||
@ -78,13 +81,13 @@ class OnvifController:
|
||||
onvif: ONVIFCamera = self.cams[camera_name]["onvif"]
|
||||
move_request = self.cams[camera_name]["move_request"]
|
||||
|
||||
if command == OnvifCommandEnum.left:
|
||||
if command == OnvifCommandEnum.move_left:
|
||||
move_request.Velocity.PanTilt.x = -0.5
|
||||
move_request.Velocity.PanTilt.y = 0
|
||||
elif command == OnvifCommandEnum.right:
|
||||
elif command == OnvifCommandEnum.move_right:
|
||||
move_request.Velocity.PanTilt.x = 0.5
|
||||
move_request.Velocity.PanTilt.y = 0
|
||||
elif command == OnvifCommandEnum.up:
|
||||
elif command == OnvifCommandEnum.move_up:
|
||||
move_request.Velocity.PanTilt.x = 0
|
||||
move_request.Velocity.PanTilt.y = 1
|
||||
else:
|
||||
|
||||
Loading…
Reference in New Issue
Block a user