equipment.py 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. # -*- coding: utf-8 -*-
  2. from enum import Enum
  3. from typing import List, Optional
  4. from pydantic import BaseModel
  5. from app.schemas.space import Space
  6. class AirValveSpeed(float, Enum):
  7. off = 0.0
  8. low = 1.0
  9. medium = 2.0
  10. high = 3.0
  11. class BaseEquipment(BaseModel):
  12. id: str
  13. running_status: Optional[bool] = False
  14. class FCU(BaseEquipment):
  15. work_mode: Optional[int]
  16. air_valve_speed: Optional[AirValveSpeed] = AirValveSpeed.off
  17. space: Optional[Space]
  18. setting_temperature: Optional[float] = 0.0
  19. class VAVBox(BaseEquipment):
  20. spaces: Optional[List[Space]]
  21. supply_air_temperature: Optional[float]
  22. supply_air_flow: Optional[float]
  23. supply_air_flow_set: Optional[float]
  24. supply_air_flow_lower_limit: Optional[float]
  25. supply_air_flow_upper_limit: Optional[float]
  26. setting_temperature: Optional[float] = 0.0
  27. class AHU(BaseEquipment):
  28. fan_freq_set: float
  29. supply_air_temperature_set: Optional[float]
  30. class VentilationFan(BaseEquipment):
  31. in_cloud_status: bool
  32. on_time: str
  33. off_time: str
  34. class PAU(BaseEquipment):
  35. in_cloud_status: bool
  36. on_time: str
  37. off_time: str