mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-10-08 15:52:48 +03:00
Improve Notifications (#16453)
* backend * frontend * add notification config at camera level * camera level notifications in dispatcher * initial onconnect * frontend * backend for suspended notifications * frontend * use base communicator * initialize all cameras in suspended array and use 0 for unsuspended * remove switch and use select for suspending in frontend * use timestamp instead of datetime * frontend tweaks * mqtt docs * fix button width * use grid for layout * use thread and queue for processing notifications with 10s timeout * clean up * move async code to main class * tweaks * docs * remove warning message
This commit is contained in:
@@ -8,7 +8,6 @@ from .config import * # noqa: F403
|
||||
from .database import * # noqa: F403
|
||||
from .logger import * # noqa: F403
|
||||
from .mqtt import * # noqa: F403
|
||||
from .notification import * # noqa: F403
|
||||
from .proxy import * # noqa: F403
|
||||
from .telemetry import * # noqa: F403
|
||||
from .tls import * # noqa: F403
|
||||
|
||||
@@ -25,6 +25,7 @@ from .genai import GenAICameraConfig
|
||||
from .live import CameraLiveConfig
|
||||
from .motion import MotionConfig
|
||||
from .mqtt import CameraMqttConfig
|
||||
from .notification import NotificationConfig
|
||||
from .objects import ObjectConfig
|
||||
from .onvif import OnvifConfig
|
||||
from .record import RecordConfig
|
||||
@@ -85,6 +86,9 @@ class CameraConfig(FrigateBaseModel):
|
||||
mqtt: CameraMqttConfig = Field(
|
||||
default_factory=CameraMqttConfig, title="MQTT configuration."
|
||||
)
|
||||
notifications: NotificationConfig = Field(
|
||||
default_factory=NotificationConfig, title="Notifications configuration."
|
||||
)
|
||||
onvif: OnvifConfig = Field(
|
||||
default_factory=OnvifConfig, title="Camera Onvif Configuration."
|
||||
)
|
||||
|
||||
@@ -2,7 +2,7 @@ from typing import Optional
|
||||
|
||||
from pydantic import Field
|
||||
|
||||
from .base import FrigateBaseModel
|
||||
from ..base import FrigateBaseModel
|
||||
|
||||
__all__ = ["NotificationConfig"]
|
||||
|
||||
@@ -46,6 +46,7 @@ from .camera.detect import DetectConfig
|
||||
from .camera.ffmpeg import FfmpegConfig
|
||||
from .camera.genai import GenAIConfig
|
||||
from .camera.motion import MotionConfig
|
||||
from .camera.notification import NotificationConfig
|
||||
from .camera.objects import FilterConfig, ObjectConfig
|
||||
from .camera.record import RecordConfig, RetainModeEnum
|
||||
from .camera.review import ReviewConfig
|
||||
@@ -62,7 +63,6 @@ from .database import DatabaseConfig
|
||||
from .env import EnvVars
|
||||
from .logger import LoggerConfig
|
||||
from .mqtt import MqttConfig
|
||||
from .notification import NotificationConfig
|
||||
from .proxy import ProxyConfig
|
||||
from .telemetry import TelemetryConfig
|
||||
from .tls import TlsConfig
|
||||
@@ -332,7 +332,7 @@ class FrigateConfig(FrigateBaseModel):
|
||||
)
|
||||
mqtt: MqttConfig = Field(title="MQTT configuration.")
|
||||
notifications: NotificationConfig = Field(
|
||||
default_factory=NotificationConfig, title="Notification configuration."
|
||||
default_factory=NotificationConfig, title="Global notification configuration."
|
||||
)
|
||||
proxy: ProxyConfig = Field(
|
||||
default_factory=ProxyConfig, title="Proxy configuration."
|
||||
@@ -452,6 +452,7 @@ class FrigateConfig(FrigateBaseModel):
|
||||
"review": ...,
|
||||
"genai": ...,
|
||||
"motion": ...,
|
||||
"notifications": ...,
|
||||
"detect": ...,
|
||||
"ffmpeg": ...,
|
||||
"timestamp_style": ...,
|
||||
@@ -527,6 +528,9 @@ class FrigateConfig(FrigateBaseModel):
|
||||
# set config pre-value
|
||||
camera_config.audio.enabled_in_config = camera_config.audio.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
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user