stagedlight
This commit is contained in:
@@ -1,19 +1,9 @@
|
||||
import functools
|
||||
from datetime import datetime, time
|
||||
from pathlib import Path
|
||||
from typing import Annotated, Any
|
||||
from datetime import datetime
|
||||
from typing import Any
|
||||
|
||||
from appdaemon.adapi import ADAPI
|
||||
from pydantic import (
|
||||
BaseModel,
|
||||
BeforeValidator,
|
||||
Field,
|
||||
PrivateAttr,
|
||||
TypeAdapter,
|
||||
field_serializer,
|
||||
field_validator,
|
||||
)
|
||||
from rich import print as rprint
|
||||
from pydantic import BaseModel
|
||||
from pydantic import PrivateAttr
|
||||
from pydantic import field_serializer
|
||||
|
||||
|
||||
class EntityState(BaseModel):
|
||||
@@ -21,16 +11,25 @@ class EntityState(BaseModel):
|
||||
color_temp_kelvin: int
|
||||
brightness: int
|
||||
|
||||
@field_serializer("state")
|
||||
@field_serializer('state')
|
||||
def convert_state(self, val: Any):
|
||||
if val:
|
||||
return "on"
|
||||
return 'on'
|
||||
else:
|
||||
return "off"
|
||||
return 'off'
|
||||
|
||||
|
||||
class Stage(BaseModel):
|
||||
# start: Annotated[time, BeforeValidator(lambda v: parser(v).time())]
|
||||
start: str
|
||||
_start: time = PrivateAttr()
|
||||
_start: datetime = PrivateAttr()
|
||||
scene: dict[str, EntityState]
|
||||
|
||||
def assign_start(self, dt: datetime):
|
||||
self._start = dt
|
||||
|
||||
def formatted_start(self, fmt: str) -> str:
|
||||
return self._start.strftime(fmt)
|
||||
|
||||
def scene_json(self):
|
||||
return self.model_dump(mode='json')['scene']
|
||||
|
||||
Reference in New Issue
Block a user