feat(Q1,Q4): add HighlightsConfig, KioskConfig, HIGHLIGHT/TIMELAPSE triggers
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -297,6 +297,27 @@ class VisitorsConfig(BaseModel):
|
||||
face_crop_dir: str = "/var/vigilar/faces"
|
||||
|
||||
|
||||
# --- Highlights Config ---
|
||||
|
||||
class HighlightsConfig(BaseModel):
|
||||
enabled: bool = True
|
||||
generate_time: str = "06:00"
|
||||
max_clips: int = 10
|
||||
clip_duration_s: int = 5
|
||||
cameras: list[str] = Field(default_factory=list)
|
||||
event_types: list[str] = Field(default_factory=list)
|
||||
|
||||
|
||||
class KioskConfig(BaseModel):
|
||||
ambient_enabled: bool = True
|
||||
camera_rotation_s: int = 10
|
||||
alert_timeout_s: int = 30
|
||||
predator_alert_timeout_s: int = 60
|
||||
dim_start: str = "23:00"
|
||||
dim_end: str = "06:00"
|
||||
highlight_play_time: str = "07:00"
|
||||
|
||||
|
||||
# --- Location Config ---
|
||||
|
||||
class LocationConfig(BaseModel):
|
||||
@@ -358,6 +379,8 @@ class VigilarConfig(BaseModel):
|
||||
health: HealthConfig = Field(default_factory=HealthConfig)
|
||||
pets: PetsConfig = Field(default_factory=PetsConfig)
|
||||
visitors: VisitorsConfig = Field(default_factory=VisitorsConfig)
|
||||
highlights: HighlightsConfig = Field(default_factory=HighlightsConfig)
|
||||
kiosk: KioskConfig = Field(default_factory=KioskConfig)
|
||||
security: SecurityConfig = Field(default_factory=SecurityConfig)
|
||||
location: LocationConfig = Field(default_factory=LocationConfig)
|
||||
cameras: list[CameraConfig] = Field(default_factory=list)
|
||||
|
||||
@@ -82,6 +82,8 @@ class RecordingTrigger(StrEnum):
|
||||
VEHICLE = "VEHICLE"
|
||||
PET = "PET"
|
||||
WILDLIFE = "WILDLIFE"
|
||||
HIGHLIGHT = "HIGHLIGHT"
|
||||
TIMELAPSE = "TIMELAPSE"
|
||||
|
||||
|
||||
# --- Alert Channels ---
|
||||
|
||||
Reference in New Issue
Block a user