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_temperature: float space_temperature_target: float space_realtime_temperature: 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): season: str space_temperature_target: float space_realtime_temperature: Optional[float] 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: str 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_temperature_target_set: float virtual_realtime_temperature: float