# -*- coding: utf-8 -*- import numpy as np from app.controllers.equipment.controller import EquipmentController from app.models.equipment import FCU, AirValveSpeed class FCUController(EquipmentController): def __init__(self, equipment: FCU): super(FCUController, self).__init__() self._equipment = equipment async def get_temperature_target(self) -> float: target = self._equipment.space.temperature_target if target is not np.NAN and target > 0: setting_target = target else: setting_target = 25.0 self._equipment.setting_temperature = setting_target return setting_target async def get_air_valve_speed(self): temperature_target = await self.get_temperature_target() if temperature_target and temperature_target > 0: self._equipment.air_valve_speed = AirValveSpeed.auto else: self._equipment.air_valve_speed = AirValveSpeed.off async def run(self): await self.get_temperature_target() await self.get_air_valve_speed() def get_results(self): return self._equipment