|
@@ -31,10 +31,10 @@ class FCUController(EquipmentController):
|
|
|
|
|
|
return setting_target
|
|
|
|
|
|
- async def get_mode(self) -> None:
|
|
|
+ async def get_mode(self) -> int:
|
|
|
temperature_target = await self.get_temperature_target()
|
|
|
if self.season == Season.heating:
|
|
|
- if temperature_target > self._equipment.space.realtime_temperature:
|
|
|
+ if temperature_target >= self._equipment.space.realtime_temperature:
|
|
|
mode = 2
|
|
|
else:
|
|
|
mode = 1
|
|
@@ -44,23 +44,31 @@ class FCUController(EquipmentController):
|
|
|
mode = 0
|
|
|
self._equipment.work_mode = mode
|
|
|
|
|
|
+ return mode
|
|
|
+
|
|
|
async def get_air_valve_speed(self):
|
|
|
temperature_target = await self.get_temperature_target()
|
|
|
- mode = await self.get_mode()
|
|
|
if temperature_target > 0:
|
|
|
- if mode == 1:
|
|
|
- diff = self._equipment.space.realtime_temperature - temperature_target
|
|
|
- else:
|
|
|
+ if self.season == Season.heating:
|
|
|
diff = abs(self._equipment.space.realtime_temperature - temperature_target)
|
|
|
-
|
|
|
- if diff >= 1.0:
|
|
|
- self._equipment.air_valve_speed = AirValveSpeed.high
|
|
|
- elif diff >= 0.5:
|
|
|
- self._equipment.air_valve_speed = AirValveSpeed.medium
|
|
|
- elif diff >= 0.0:
|
|
|
- self._equipment.air_valve_speed = AirValveSpeed.low
|
|
|
+ if diff >= 1.5:
|
|
|
+ self._equipment.air_valve_speed = AirValveSpeed.high
|
|
|
+ elif diff >= 1.0:
|
|
|
+ self._equipment.air_valve_speed = AirValveSpeed.medium
|
|
|
+ elif diff >= 0.5:
|
|
|
+ self._equipment.air_valve_speed = AirValveSpeed.low
|
|
|
+ else:
|
|
|
+ self._equipment.air_valve_speed = AirValveSpeed.off
|
|
|
else:
|
|
|
- self._equipment.air_valve_speed = AirValveSpeed.off
|
|
|
+ diff = self._equipment.space.realtime_temperature - temperature_target
|
|
|
+ if diff >= 1.0:
|
|
|
+ self._equipment.air_valve_speed = AirValveSpeed.high
|
|
|
+ elif diff >= 0.5:
|
|
|
+ self._equipment.air_valve_speed = AirValveSpeed.medium
|
|
|
+ elif diff >= 0.0:
|
|
|
+ self._equipment.air_valve_speed = AirValveSpeed.low
|
|
|
+ else:
|
|
|
+ self._equipment.air_valve_speed = AirValveSpeed.off
|
|
|
else:
|
|
|
self._equipment.air_valve_speed = AirValveSpeed.off
|
|
|
|
|
@@ -113,9 +121,8 @@ async def get_fcu_control_result(project_id: str, equipment_id: str) -> Dict:
|
|
|
'onOff': 1 if regulated_fcu.running_status else 0,
|
|
|
'mode': regulated_fcu.work_mode,
|
|
|
'speed': regulated_fcu.air_valve_speed.value,
|
|
|
- 'temperature': int(round_half_up(regulated_fcu.setting_temperature, 1)),
|
|
|
+ 'temperature': float(round_half_up(regulated_fcu.setting_temperature, 1)),
|
|
|
'water': 1 if regulated_fcu.running_status else 0
|
|
|
}
|
|
|
- logger.debug(output)
|
|
|
|
|
|
return output
|