From 826735bee25eb274b5ccefb180f9d9bec3355008 Mon Sep 17 00:00:00 2001 From: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com> Date: Sat, 7 Mar 2026 16:54:29 -0600 Subject: [PATCH] config updaters in enrichments --- frigate/data_processing/post/license_plate.py | 9 ++++++--- frigate/data_processing/real_time/face.py | 9 ++++++--- frigate/data_processing/real_time/license_plate.py | 9 ++++++--- 3 files changed, 18 insertions(+), 9 deletions(-) diff --git a/frigate/data_processing/post/license_plate.py b/frigate/data_processing/post/license_plate.py index 9f8d72975..024d15ee4 100644 --- a/frigate/data_processing/post/license_plate.py +++ b/frigate/data_processing/post/license_plate.py @@ -12,7 +12,7 @@ from frigate.comms.embeddings_updater import EmbeddingsRequestEnum from frigate.comms.event_metadata_updater import EventMetadataPublisher from frigate.comms.inter_process import InterProcessRequestor from frigate.config import FrigateConfig -from frigate.config.classification import LicensePlateRecognitionConfig +from frigate.config.enrichment_updater import EnrichmentConfigEnum from frigate.data_processing.common.license_plate.mixin import ( WRITE_DEBUG_IMAGES, LicensePlateProcessingMixin, @@ -48,9 +48,12 @@ class LicensePlatePostProcessor(LicensePlateProcessingMixin, PostProcessorApi): self.sub_label_publisher = sub_label_publisher super().__init__(config, metrics, model_runner) - def update_config(self, lpr_config: LicensePlateRecognitionConfig) -> None: + def update_config(self, update_type: EnrichmentConfigEnum, payload: Any) -> None: """Update LPR config at runtime.""" - self.lpr_config = lpr_config + if update_type != EnrichmentConfigEnum.lpr: + return + + self.lpr_config = payload logger.debug("LPR config updated dynamically") def process_data( diff --git a/frigate/data_processing/real_time/face.py b/frigate/data_processing/real_time/face.py index 408a0456e..a3c390dfb 100644 --- a/frigate/data_processing/real_time/face.py +++ b/frigate/data_processing/real_time/face.py @@ -19,7 +19,7 @@ from frigate.comms.event_metadata_updater import ( ) from frigate.comms.inter_process import InterProcessRequestor from frigate.config import FrigateConfig -from frigate.config.classification import FaceRecognitionConfig +from frigate.config.enrichment_updater import EnrichmentConfigEnum from frigate.const import FACE_DIR, MODEL_CACHE_DIR from frigate.data_processing.common.face.model import ( ArcFaceRecognizer, @@ -96,9 +96,12 @@ class FaceRealTimeProcessor(RealTimeProcessorApi): self.recognizer.build() - def update_config(self, face_config: FaceRecognitionConfig) -> None: + def update_config(self, update_type: EnrichmentConfigEnum, payload: Any) -> None: """Update face recognition config at runtime.""" - self.face_config = face_config + if update_type != EnrichmentConfigEnum.face_recognition: + return + + self.face_config = payload logger.debug("Face recognition config updated dynamically") def __download_models(self, path: str) -> None: diff --git a/frigate/data_processing/real_time/license_plate.py b/frigate/data_processing/real_time/license_plate.py index 5c098369f..b76e93cc8 100644 --- a/frigate/data_processing/real_time/license_plate.py +++ b/frigate/data_processing/real_time/license_plate.py @@ -8,7 +8,7 @@ import numpy as np from frigate.comms.event_metadata_updater import EventMetadataPublisher from frigate.comms.inter_process import InterProcessRequestor from frigate.config import FrigateConfig -from frigate.config.classification import LicensePlateRecognitionConfig +from frigate.config.enrichment_updater import EnrichmentConfigEnum from frigate.data_processing.common.license_plate.mixin import ( LicensePlateProcessingMixin, ) @@ -41,9 +41,12 @@ class LicensePlateRealTimeProcessor(LicensePlateProcessingMixin, RealTimeProcess self.camera_current_cars: dict[str, list[str]] = {} super().__init__(config, metrics) - def update_config(self, lpr_config: LicensePlateRecognitionConfig) -> None: + def update_config(self, update_type: EnrichmentConfigEnum, payload: Any) -> None: """Update LPR config at runtime.""" - self.lpr_config = lpr_config + if update_type != EnrichmentConfigEnum.lpr: + return + + self.lpr_config = payload logger.debug("LPR config updated dynamically") def process_frame(