From 5151a2516a8b36b799a53c1df648892a452927d9 Mon Sep 17 00:00:00 2001 From: Nicolas Mowen Date: Fri, 8 Aug 2025 08:46:09 -0600 Subject: [PATCH] Adjust config propogation behavior --- frigate/config/camera/objects.py | 4 ++++ frigate/config/config.py | 11 ++++++----- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/frigate/config/camera/objects.py b/frigate/config/camera/objects.py index c83dcd228..e52c813f0 100644 --- a/frigate/config/camera/objects.py +++ b/frigate/config/camera/objects.py @@ -108,6 +108,10 @@ class ObjectConfig(FrigateBaseModel): default_factory=dict, title="Object filters." ) mask: Union[str, list[str]] = Field(default="", title="Object mask.") + genai: GenAIObjectConfig = Field( + default_factory=GenAIObjectConfig, + title="Config for using genai to analyze objects.", + ) _all_objects: list[str] = PrivateAttr() @property diff --git a/frigate/config/config.py b/frigate/config/config.py index 83bf59ec0..85686416e 100644 --- a/frigate/config/config.py +++ b/frigate/config/config.py @@ -352,6 +352,11 @@ class FrigateConfig(FrigateBaseModel): default_factory=ModelConfig, title="Detection model configuration." ) + # GenAI config + genai: GenAIConfig = Field( + default_factory=GenAIConfig, title="Generative AI configuration." + ) + # Camera config cameras: Dict[str, CameraConfig] = Field(title="Camera configuration.") audio: AudioConfig = Field( @@ -366,9 +371,6 @@ class FrigateConfig(FrigateBaseModel): ffmpeg: FfmpegConfig = Field( default_factory=FfmpegConfig, title="Global FFmpeg configuration." ) - genai: GenAIConfig = Field( - default_factory=GenAIConfig, title="Generative AI configuration." - ) live: CameraLiveConfig = Field( default_factory=CameraLiveConfig, title="Live playback settings." ) @@ -458,7 +460,6 @@ class FrigateConfig(FrigateBaseModel): "live": ..., "objects": ..., "review": ..., - "genai": ..., "motion": ..., "notifications": ..., "detect": ..., @@ -606,7 +607,7 @@ class FrigateConfig(FrigateBaseModel): camera_config.review.detections.enabled_in_config = ( camera_config.review.detections.enabled ) - camera_config.genai.enabled_in_config = camera_config.genai.enabled + camera_config.objects.genai.enabled_in_config = camera_config.objects.genai.enabled # Add default filters object_keys = camera_config.objects.track