devices.py 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. from enum import Enum
  2. from typing import Dict, List, Optional
  3. from pydantic import BaseModel
  4. class ThermalMode(str, Enum):
  5. cooling = 'cooling'
  6. heating = 'heating'
  7. hold = 'hold'
  8. class DevicesInstructionsBaseResponse(BaseModel):
  9. projectId: str
  10. equipId: str
  11. output: Dict
  12. class DevicesEarlyStartTime(BaseModel):
  13. projectId: str
  14. spaceId: str
  15. minutes: float
  16. class ACATVIInstructionsRequest(BaseModel):
  17. return_air_temperature: float
  18. space_temperature_target: float
  19. space_realtime_temperature: float
  20. class ACATVIInstructionsTemporaryResponse(BaseModel):
  21. output: Dict
  22. class ACATVIInstructionsResponse(BaseModel):
  23. switch_set: Optional[str]
  24. speed_set: Optional[str]
  25. temperature_set: Optional[str]
  26. mode_set: Optional[str]
  27. class ACATFCInstructionsRequest(BaseModel):
  28. season: str
  29. space_temperature_target: float
  30. space_realtime_temperature: Optional[float]
  31. class ACATFCInstructionsResponse(BaseModel):
  32. switch_set: int
  33. speed_set: int
  34. temperature_set: float
  35. mode_set: int
  36. water_valve_switch_set: int
  37. class Space(BaseModel):
  38. realtime_temperature: float
  39. temperature_target: float
  40. vav_default_weight: float
  41. vav_temporary_weight: float
  42. vav_temporary_update_time: str
  43. class ACATVAInstructionsRequest(BaseModel):
  44. season: str
  45. supply_air_temperature: float
  46. supply_air_flow: float
  47. supply_air_flow_lower_limit: float
  48. supply_air_flow_upper_limit: float
  49. spaces: List[Space]
  50. class ACATVAInstructionsResponse(BaseModel):
  51. supply_air_flow_set: float
  52. virtual_temperature_target_set: float
  53. virtual_realtime_temperature: float