diff --git a/frigate/mqtt.py b/frigate/mqtt.py index 79fb0713f..78efe83a3 100644 --- a/frigate/mqtt.py +++ b/frigate/mqtt.py @@ -26,10 +26,9 @@ class FrigateMqttClient: def __init__( self, config: FrigateConfig, camera_metrics: dict[str, CameraMetricsTypes] ) -> None: - self.config: FrigateConfig = config + self.config = config self.mqtt_config = config.mqtt - self.camera_metrics: dict[str, CameraMetricsTypes] = camera_metrics - self.client: mqtt.Client = None + self.camera_metrics = camera_metrics self.connected: bool = False self._start() diff --git a/frigate/object_processing.py b/frigate/object_processing.py index 56acf7667..575e697e5 100644 --- a/frigate/object_processing.py +++ b/frigate/object_processing.py @@ -12,8 +12,15 @@ from typing import Callable import cv2 import numpy as np -from frigate.config import CameraConfig, SnapshotsConfig, RecordConfig, FrigateConfig +from frigate.config import ( + CameraConfig, + MqttConfig, + SnapshotsConfig, + RecordConfig, + FrigateConfig, +) from frigate.const import CLIPS_DIR +from frigate.mqtt import FrigateMqttClient from frigate.util import ( SharedMemoryFrameManager, calculate_region, @@ -626,7 +633,7 @@ class TrackedObjectProcessor(threading.Thread): def __init__( self, config: FrigateConfig, - client, + client: FrigateMqttClient, topic_prefix, tracked_objects_queue, event_queue, @@ -724,7 +731,7 @@ class TrackedObjectProcessor(threading.Thread): self.event_queue.put(("end", camera, obj.to_dict(include_thumbnail=True))) def snapshot(camera, obj: TrackedObject, current_frame_time): - mqtt_config = self.config.cameras[camera].mqtt + mqtt_config: MqttConfig = self.config.cameras[camera].mqtt if mqtt_config.enabled and self.should_mqtt_snapshot(camera, obj): jpg_bytes = obj.get_jpg_bytes( timestamp=mqtt_config.timestamp, diff --git a/frigate/stats.py b/frigate/stats.py index 62c8eeec6..e8b278e27 100644 --- a/frigate/stats.py +++ b/frigate/stats.py @@ -7,11 +7,11 @@ import shutil import os import requests from typing import Optional, Any -from paho.mqtt.client import Client from multiprocessing.synchronize import Event as MpEvent from frigate.config import FrigateConfig from frigate.const import RECORD_DIR, CLIPS_DIR, CACHE_DIR +from frigate.mqtt import FrigateMqttClient from frigate.types import StatsTrackingTypes, CameraMetricsTypes from frigate.version import VERSION from frigate.util import get_cpu_stats @@ -146,7 +146,7 @@ class StatsEmitter(threading.Thread): self, config: FrigateConfig, stats_tracking: StatsTrackingTypes, - mqtt_client: Client, + mqtt_client: FrigateMqttClient, topic_prefix: str, stop_event: MpEvent, ):