fcu.py 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. # -*- coding: utf-8 -*-
  2. import numpy as np
  3. from app.controllers.equipment.controller import EquipmentController
  4. from app.models.equipment import FCU, AirValveSpeed
  5. class FCUController(EquipmentController):
  6. def __init__(self, equipment: FCU):
  7. super(FCUController, self).__init__()
  8. self._equipment = equipment
  9. async def get_temperature_target(self) -> float:
  10. target = self._equipment.space.temperature_target
  11. if target is not np.NAN and target > 0:
  12. setting_target = target
  13. else:
  14. setting_target = 25.0
  15. self._equipment.setting_temperature = setting_target
  16. return setting_target
  17. async def get_air_valve_speed(self):
  18. temperature_target = await self.get_temperature_target()
  19. if temperature_target and temperature_target > 0:
  20. self._equipment.air_valve_speed = AirValveSpeed.auto
  21. else:
  22. self._equipment.air_valve_speed = AirValveSpeed.off
  23. async def run(self):
  24. await self.get_temperature_target()
  25. await self.get_air_valve_speed()
  26. def get_results(self):
  27. return self._equipment