diff --git a/frigate/config/camera/profile.py b/frigate/config/camera/profile.py index f9510343d..6a52a9ad6 100644 --- a/frigate/config/camera/profile.py +++ b/frigate/config/camera/profile.py @@ -3,6 +3,10 @@ from typing import Optional from ..base import FrigateBaseModel +from ..classification import ( + CameraFaceRecognitionConfig, + CameraLicensePlateRecognitionConfig, +) from .audio import AudioConfig from .birdseye import BirdseyeCameraConfig from .detect import DetectConfig @@ -29,6 +33,8 @@ class CameraProfileConfig(FrigateBaseModel): audio: Optional[AudioConfig] = None birdseye: Optional[BirdseyeCameraConfig] = None detect: Optional[DetectConfig] = None + face_recognition: Optional[CameraFaceRecognitionConfig] = None + lpr: Optional[CameraLicensePlateRecognitionConfig] = None motion: Optional[MotionConfig] = None notifications: Optional[NotificationConfig] = None objects: Optional[ObjectConfig] = None diff --git a/frigate/config/camera/updater.py b/frigate/config/camera/updater.py index 0c49ec465..261631212 100644 --- a/frigate/config/camera/updater.py +++ b/frigate/config/camera/updater.py @@ -27,6 +27,8 @@ class CameraConfigUpdateEnum(str, Enum): review = "review" review_genai = "review_genai" semantic_search = "semantic_search" # for semantic search triggers + face_recognition = "face_recognition" + lpr = "lpr" snapshots = "snapshots" zones = "zones" @@ -119,6 +121,10 @@ class CameraConfigUpdateSubscriber: config.review.genai = updated_config elif update_type == CameraConfigUpdateEnum.semantic_search: config.semantic_search = updated_config + elif update_type == CameraConfigUpdateEnum.face_recognition: + config.face_recognition = updated_config + elif update_type == CameraConfigUpdateEnum.lpr: + config.lpr = updated_config elif update_type == CameraConfigUpdateEnum.snapshots: config.snapshots = updated_config elif update_type == CameraConfigUpdateEnum.zones: diff --git a/frigate/config/profile_manager.py b/frigate/config/profile_manager.py index f05830693..1c390e526 100644 --- a/frigate/config/profile_manager.py +++ b/frigate/config/profile_manager.py @@ -21,6 +21,8 @@ PROFILE_SECTION_UPDATES: dict[str, CameraConfigUpdateEnum] = { "audio": CameraConfigUpdateEnum.audio, "birdseye": CameraConfigUpdateEnum.birdseye, "detect": CameraConfigUpdateEnum.detect, + "face_recognition": CameraConfigUpdateEnum.face_recognition, + "lpr": CameraConfigUpdateEnum.lpr, "motion": CameraConfigUpdateEnum.motion, "notifications": CameraConfigUpdateEnum.notifications, "objects": CameraConfigUpdateEnum.objects, diff --git a/web/src/types/frigateConfig.ts b/web/src/types/frigateConfig.ts index ffb86217e..9b5178694 100644 --- a/web/src/types/frigateConfig.ts +++ b/web/src/types/frigateConfig.ts @@ -313,6 +313,8 @@ export type CameraProfileConfig = { audio?: Partial; birdseye?: Partial; detect?: Partial; + face_recognition?: Partial; + lpr?: Partial; motion?: Partial; notifications?: Partial; objects?: Partial;