# -*- coding: utf-8 -*- from typing import List, Optional import numpy as np from pydantic import BaseModel as PydanticBaseModel, validator class BaseModel(PydanticBaseModel): @validator("*") def change_to_nan(cls, v): if v == -999.9: v = np.NAN return v class SpaceBase(BaseModel): id: Optional[str] realtime_temperature: float = np.NAN class Space(SpaceBase): equipment: Optional[List] temperature_target: Optional[float] = np.NAN comfortable_temperature: Optional[float] = np.NAN diff: Optional[float] = np.NAN class SpaceATVA(Space): vav_default_weight: Optional[float] = np.NAN vav_temporary_weight: Optional[float] = np.NAN vav_temporary_update_time: Optional[str] = "" class SpaceATAH(Space): ahu_default_weight: Optional[float] = np.NAN ahu_temporary_weight: Optional[float] = np.NAN ahu_temporary_update_time: Optional[str] = "" class SpaceATFU(SpaceBase): realtime_co2: float