from enum import Enum from typing import Dict, List, Optional from pydantic import BaseModel class ThermalMode(str, Enum): cooling = 'cooling' heating = 'heating' hold = 'hold' class DevicesInstructionsBaseResponse(BaseModel): projectId: str equipId: str output: Dict class DevicesEarlyStartTime(BaseModel): projectId: str spaceId: str minutes: float class ACATVIInstructionsRequest(BaseModel): return_air_temp: float space_temp_target: float space_realtime_temp: float class ACATVIInstructionsTemporaryResponse(BaseModel): output: Dict class ACATVIInstructionsResponse(BaseModel): switch_set: Optional[str] speed_set: Optional[str] temperature_set: Optional[str] mode_set: Optional[str] class ACATFCInstructionsRequest(BaseModel): pass class ACATFCInstructionsResponse(BaseModel): switch_set: int speed_set: int temperature_set: float mode_set: int water_valve_switch_set: int class Space(BaseModel): realtime_temperature: float temperature_target: float vav_default_weight: float vav_temporary_weight: float vav_temporary_update_time: float class ACATVAInstructionsRequest(BaseModel): season: str supply_air_temperature: float supply_air_flow: float supply_air_flow_lower_limit: float supply_air_flow_upper_limit: float spaces: List[Space] class ACATVAInstructionsResponse(BaseModel): supply_air_flow_set: float virtual_target_temperature_set: float virtual_realtime_temperature: float