devices.py 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  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_temp: float
  18. space_temp_target: float
  19. space_realtime_temp: 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. pass
  29. class ACATFCInstructionsResponse(BaseModel):
  30. switch_set: int
  31. speed_set: int
  32. temperature_set: float
  33. mode_set: int
  34. water_valve_switch_set: int
  35. class Space(BaseModel):
  36. realtime_temperature: float
  37. temperature_target: float
  38. vav_default_weight: float
  39. vav_temporary_weight: float
  40. vav_temporary_update_time: float
  41. class ACATVAInstructionsRequest(BaseModel):
  42. season: str
  43. supply_air_temperature: float
  44. supply_air_flow: float
  45. supply_air_flow_lower_limit: float
  46. supply_air_flow_upper_limit: float
  47. spaces: List[Space]
  48. class ACATVAInstructionsResponse(BaseModel):
  49. supply_air_flow_set: float
  50. virtual_target_temperature_set: float
  51. virtual_realtime_temperature: float