Add HA history and model evaluation
This commit is contained in:
@@ -123,6 +123,19 @@ class ModelRecord(BaseModel):
|
||||
trained_at: datetime = Field(default_factory=lambda: datetime.now(timezone.utc))
|
||||
|
||||
|
||||
class ModelEvaluation(BaseModel):
|
||||
evaluation_id: str
|
||||
model_id: str
|
||||
actuator_entity_id: str
|
||||
score: float = Field(default=0.0, ge=0.0, le=1.0)
|
||||
coverage: float = Field(default=0.0, ge=0.0, le=1.0)
|
||||
dry_run_success_rate: float = Field(default=0.0, ge=0.0, le=1.0)
|
||||
feedback_score: float = Field(default=0.0, ge=0.0, le=1.0)
|
||||
verdict: str
|
||||
reasons: list[str] = Field(default_factory=list)
|
||||
evaluated_at: datetime = Field(default_factory=lambda: datetime.now(timezone.utc))
|
||||
|
||||
|
||||
class JobQueueItem(BaseModel):
|
||||
job_id: str
|
||||
kind: str
|
||||
@@ -144,6 +157,8 @@ class HistoryAnalysis(BaseModel):
|
||||
samples: int
|
||||
last_state: str | None = None
|
||||
changed_at: datetime | None = None
|
||||
unique_states: int = 0
|
||||
transitions: int = 0
|
||||
recommendation: str
|
||||
|
||||
|
||||
@@ -181,6 +196,7 @@ class LearningState(BaseModel):
|
||||
scenes: dict[str, SceneProfile] = Field(default_factory=dict)
|
||||
automation_proposals: dict[str, AutomationProposal] = Field(default_factory=dict)
|
||||
models: dict[str, ModelRecord] = Field(default_factory=dict)
|
||||
model_evaluations: dict[str, ModelEvaluation] = Field(default_factory=dict)
|
||||
jobs: dict[str, JobQueueItem] = Field(default_factory=dict)
|
||||
weight_overrides: dict[str, SensorWeightOverride] = Field(default_factory=dict)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user