|
@@ -31,10 +31,28 @@ class FCUController(EquipmentController):
|
|
|
|
|
|
return setting_target
|
|
|
|
|
|
+ async def get_mode(self) -> None:
|
|
|
+ temperature_target = await self.get_temperature_target()
|
|
|
+ if self.season == Season.heating:
|
|
|
+ if temperature_target > self._equipment.space.realtime_temperature:
|
|
|
+ mode = 2
|
|
|
+ else:
|
|
|
+ mode = 1
|
|
|
+ elif self.season == Season.cooling:
|
|
|
+ mode = 1
|
|
|
+ else:
|
|
|
+ mode = 0
|
|
|
+ self._equipment.work_mode = mode
|
|
|
+
|
|
|
async def get_air_valve_speed(self):
|
|
|
temperature_target = await self.get_temperature_target()
|
|
|
+ mode = await self.get_mode()
|
|
|
if temperature_target > 0:
|
|
|
- diff = self._equipment.space.realtime_temperature - temperature_target
|
|
|
+ if mode == 1:
|
|
|
+ diff = self._equipment.space.realtime_temperature - temperature_target
|
|
|
+ else:
|
|
|
+ diff = abs(self._equipment.space.realtime_temperature - temperature_target)
|
|
|
+
|
|
|
if diff >= 1.0:
|
|
|
self._equipment.air_valve_speed = AirValveSpeed.high
|
|
|
elif diff >= 0.5:
|
|
@@ -52,15 +70,6 @@ class FCUController(EquipmentController):
|
|
|
else:
|
|
|
self._equipment.running_status = True
|
|
|
|
|
|
- async def get_mode(self) -> None:
|
|
|
- if self.season == Season.heating:
|
|
|
- mode = 2
|
|
|
- elif self.season == Season.cooling:
|
|
|
- mode = 1
|
|
|
- else:
|
|
|
- mode = 0
|
|
|
- self._equipment.work_mode = mode
|
|
|
-
|
|
|
async def run(self):
|
|
|
await self.get_temperature_target()
|
|
|
await self.get_air_valve_speed()
|