add notification config at camera level

This commit is contained in:
Josh Hawkins 2024-12-16 10:24:45 -06:00
parent 67f29fd9f4
commit abba6d2573
4 changed files with 11 additions and 4 deletions

View File

@ -7,7 +7,6 @@ from .config import * # noqa: F403
from .database import * # noqa: F403 from .database import * # noqa: F403
from .logger import * # noqa: F403 from .logger import * # noqa: F403
from .mqtt import * # noqa: F403 from .mqtt import * # noqa: F403
from .notification import * # noqa: F403
from .proxy import * # noqa: F403 from .proxy import * # noqa: F403
from .semantic_search import * # noqa: F403 from .semantic_search import * # noqa: F403
from .telemetry import * # noqa: F403 from .telemetry import * # noqa: F403

View File

@ -25,6 +25,7 @@ from .genai import GenAICameraConfig
from .live import CameraLiveConfig from .live import CameraLiveConfig
from .motion import MotionConfig from .motion import MotionConfig
from .mqtt import CameraMqttConfig from .mqtt import CameraMqttConfig
from .notification import NotificationConfig
from .objects import ObjectConfig from .objects import ObjectConfig
from .onvif import OnvifConfig from .onvif import OnvifConfig
from .record import RecordConfig from .record import RecordConfig
@ -85,6 +86,9 @@ class CameraConfig(FrigateBaseModel):
mqtt: CameraMqttConfig = Field( mqtt: CameraMqttConfig = Field(
default_factory=CameraMqttConfig, title="MQTT configuration." default_factory=CameraMqttConfig, title="MQTT configuration."
) )
notifications: NotificationConfig = Field(
default_factory=NotificationConfig, title="Notifications configuration."
)
onvif: OnvifConfig = Field( onvif: OnvifConfig = Field(
default_factory=OnvifConfig, title="Camera Onvif Configuration." default_factory=OnvifConfig, title="Camera Onvif Configuration."
) )

View File

@ -2,7 +2,7 @@ from typing import Optional
from pydantic import Field from pydantic import Field
from .base import FrigateBaseModel from ..base import FrigateBaseModel
__all__ = ["NotificationConfig"] __all__ = ["NotificationConfig"]

View File

@ -45,6 +45,7 @@ from .camera.detect import DetectConfig
from .camera.ffmpeg import FfmpegConfig from .camera.ffmpeg import FfmpegConfig
from .camera.genai import GenAIConfig from .camera.genai import GenAIConfig
from .camera.motion import MotionConfig from .camera.motion import MotionConfig
from .camera.notification import NotificationConfig
from .camera.objects import FilterConfig, ObjectConfig from .camera.objects import FilterConfig, ObjectConfig
from .camera.record import RecordConfig, RetainModeEnum from .camera.record import RecordConfig, RetainModeEnum
from .camera.review import ReviewConfig from .camera.review import ReviewConfig
@ -55,7 +56,6 @@ from .database import DatabaseConfig
from .env import EnvVars from .env import EnvVars
from .logger import LoggerConfig from .logger import LoggerConfig
from .mqtt import MqttConfig from .mqtt import MqttConfig
from .notification import NotificationConfig
from .proxy import ProxyConfig from .proxy import ProxyConfig
from .semantic_search import SemanticSearchConfig from .semantic_search import SemanticSearchConfig
from .telemetry import TelemetryConfig from .telemetry import TelemetryConfig
@ -308,7 +308,7 @@ class FrigateConfig(FrigateBaseModel):
) )
mqtt: MqttConfig = Field(title="MQTT configuration.") mqtt: MqttConfig = Field(title="MQTT configuration.")
notifications: NotificationConfig = Field( notifications: NotificationConfig = Field(
default_factory=NotificationConfig, title="Notification configuration." default_factory=NotificationConfig, title="Global notification configuration."
) )
proxy: ProxyConfig = Field( proxy: ProxyConfig = Field(
default_factory=ProxyConfig, title="Proxy configuration." default_factory=ProxyConfig, title="Proxy configuration."
@ -418,6 +418,7 @@ class FrigateConfig(FrigateBaseModel):
"review": ..., "review": ...,
"genai": ..., "genai": ...,
"motion": ..., "motion": ...,
"notifications": ...,
"detect": ..., "detect": ...,
"ffmpeg": ..., "ffmpeg": ...,
"timestamp_style": ..., "timestamp_style": ...,
@ -502,6 +503,9 @@ class FrigateConfig(FrigateBaseModel):
# set config pre-value # set config pre-value
camera_config.audio.enabled_in_config = camera_config.audio.enabled camera_config.audio.enabled_in_config = camera_config.audio.enabled
camera_config.record.enabled_in_config = camera_config.record.enabled camera_config.record.enabled_in_config = camera_config.record.enabled
camera_config.notifications.enabled_in_config = (
camera_config.notifications.enabled
)
camera_config.onvif.autotracking.enabled_in_config = ( camera_config.onvif.autotracking.enabled_in_config = (
camera_config.onvif.autotracking.enabled camera_config.onvif.autotracking.enabled
) )