Camera groups (#10223)

* Add camera group config

* Add saving of camera group selection

* Implement camera groups in config and live view

* Fix warnings

* Add tooltips to camera group items on desktop

* Add camera groups to the filters for events

* Fix tooltips and group selection

* Cleanup
This commit is contained in:
Nicolas Mowen
2024-03-04 16:18:30 -07:00
committed by GitHub
parent 38e76666e7
commit b4b2162ada
11 changed files with 247 additions and 40 deletions

View File

@@ -1003,6 +1003,16 @@ class LoggerConfig(FrigateBaseModel):
)
class CameraGroupConfig(FrigateBaseModel):
"""Represents a group of cameras."""
cameras: list[str] = Field(
default_factory=list, title="List of cameras in this group."
)
icon: str = Field(default="generic", title="Icon that represents camera group.")
order: int = Field(default=0, title="Sort order for group.")
def verify_config_roles(camera_config: CameraConfig) -> None:
"""Verify that roles are setup in the config correctly."""
assigned_roles = list(
@@ -1157,6 +1167,9 @@ class FrigateConfig(FrigateBaseModel):
default_factory=DetectConfig, title="Global object tracking configuration."
)
cameras: Dict[str, CameraConfig] = Field(title="Camera configuration.")
camera_groups: Dict[str, CameraGroupConfig] = Field(
default_factory=CameraGroupConfig, title="Camera group configuration"
)
timestamp_style: TimestampStyleConfig = Field(
default_factory=TimestampStyleConfig,
title="Global timestamp style configuration.",