equipment.py 999 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. # -*- coding: utf-8 -*-
  2. from enum import Enum
  3. from typing import List, Optional
  4. from pydantic import BaseModel
  5. from app.models.space import Space
  6. class AirValveSpeed(int, Enum):
  7. off = 0
  8. low = 1
  9. medium = 2
  10. high = 3
  11. auto = 4
  12. class BaseEquipment(BaseModel):
  13. id: str
  14. running_status: Optional[bool] = False
  15. setting_temperature: Optional[float] = 0.0
  16. class FCU(BaseEquipment):
  17. air_valve_speed: Optional[AirValveSpeed] = AirValveSpeed.off
  18. water_valve_status: Optional[bool] = False
  19. space: Optional[Space]
  20. class VAVBox(BaseEquipment):
  21. spaces: Optional[List[Space]]
  22. supply_air_temperature: Optional[float]
  23. supply_air_flow: Optional[float]
  24. supply_air_flow_set: Optional[float]
  25. class EquipmentControlInResponse(BaseModel):
  26. result: str = 'success'
  27. projectId: str
  28. equipId: str
  29. time: str
  30. output: dict
  31. class EquipmentControlInRequest(BaseModel):
  32. equipId: str
  33. # method: str
  34. projectId: str
  35. equipType: str