api: implement ccu querying

This commit is contained in:
lilly 2026-05-09 21:16:43 +02:00
commit c1a78e4dc9
Signed by: lilly
SSH key fingerprint: SHA256:y9T5GFw2A20WVklhetIxG1+kcg/Ce0shnQmbu1LQ37g
6 changed files with 628 additions and 22 deletions

View file

@ -1,4 +1,4 @@
from typing import Optional, Self
from typing import Optional, Self, Mapping, Any, Literal
from datetime import datetime
from pydantic import BaseModel, HttpUrl
from enum import Enum
@ -48,14 +48,16 @@ class UserStatus(BaseModel):
user_info: Optional[UserInfo]
class DoorStatus(Enum):
OPEN = "open"
CLOSED = "closed"
UNKNOWN = "unknown"
class LockStatus(BaseModel):
is_unreachable: bool
is_low_battery: bool
is_error_jammed: bool
lock_target_level: Literal["locked", "unlocked", "open"]
lock_state: Literal["unknown", "locked", "unlocked"]
activity_state: Literal["unknown", "locking", "unlocking", "stable"]
class Door(BaseModel):
class Lock(BaseModel):
name: str
description: str
status: DoorStatus
status: LockStatus