Simplify scenes to capture only target state, add target selector
- Remove DeviceBrightnessSnapshot and AutomationSnapshot from scene data model - Simplify capture_current_snapshot and apply_scene_state to targets only - Remove device/automation dependencies from scene preset API routes - Add target selector (combobox + add/remove) to scene capture modal - Fix stale profiles reference bug in scene_preset_store recapture - Update automation engine call sites for simplified scene functions - Sync scene presets cache between automations and scene-presets modules Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -15,22 +15,13 @@ class TargetSnapshotSchema(BaseModel):
|
||||
auto_start: bool = False
|
||||
|
||||
|
||||
class DeviceBrightnessSnapshotSchema(BaseModel):
|
||||
device_id: str
|
||||
software_brightness: int = 255
|
||||
|
||||
|
||||
class AutomationSnapshotSchema(BaseModel):
|
||||
automation_id: str
|
||||
enabled: bool = True
|
||||
|
||||
|
||||
class ScenePresetCreate(BaseModel):
|
||||
"""Create a scene preset by capturing current state."""
|
||||
|
||||
name: str = Field(description="Preset name", min_length=1, max_length=100)
|
||||
description: str = Field(default="", max_length=500)
|
||||
color: str = Field(default="#4fc3f7", description="Card accent color")
|
||||
target_ids: Optional[List[str]] = Field(None, description="Target IDs to capture (all if omitted)")
|
||||
|
||||
|
||||
class ScenePresetUpdate(BaseModel):
|
||||
@@ -50,8 +41,6 @@ class ScenePresetResponse(BaseModel):
|
||||
description: str
|
||||
color: str
|
||||
targets: List[TargetSnapshotSchema]
|
||||
devices: List[DeviceBrightnessSnapshotSchema]
|
||||
automations: List[AutomationSnapshotSchema]
|
||||
order: int
|
||||
created_at: datetime
|
||||
updated_at: datetime
|
||||
|
||||
Reference in New Issue
Block a user