|
@@ -233,25 +233,7 @@ class ATFC2Controller:
|
|
|
|
|
|
def build_speed_set(self) -> Speed:
|
|
|
speed_controller = SpeedController(self.speed, self.running_status)
|
|
|
- if self.space_realtime and self.space_target:
|
|
|
- if self.season == Season.cooling:
|
|
|
- diff = self.space_realtime - self.space_target
|
|
|
- elif self.season == Season.heating:
|
|
|
- diff = self.space_target - self.space_realtime
|
|
|
- else:
|
|
|
- diff = 0.0
|
|
|
-
|
|
|
- if diff <= -0.2:
|
|
|
- speed = Speed.off
|
|
|
- elif diff <= 0.2:
|
|
|
- speed = Speed.hold
|
|
|
- elif diff < 0.5:
|
|
|
- speed = Speed.low
|
|
|
- elif diff < 1.5:
|
|
|
- speed = Speed.medium
|
|
|
- else:
|
|
|
- speed = Speed.high
|
|
|
- else:
|
|
|
+ if self.feedback != FeedbackValue.null:
|
|
|
speed = Speed.hold
|
|
|
if not self.space_target:
|
|
|
speed = Speed.off
|
|
@@ -268,6 +250,30 @@ class ATFC2Controller:
|
|
|
speed = speed_controller.turn_down()
|
|
|
elif self.season == Season.heating:
|
|
|
speed = speed_controller.turn_up()
|
|
|
+ else:
|
|
|
+ if not self.space_target:
|
|
|
+ speed = Speed.off
|
|
|
+ else:
|
|
|
+ if self.space_realtime:
|
|
|
+ if self.season == Season.cooling:
|
|
|
+ diff = self.space_realtime - self.space_target
|
|
|
+ elif self.season == Season.heating:
|
|
|
+ diff = self.space_target - self.space_realtime
|
|
|
+ else:
|
|
|
+ diff = 0.0
|
|
|
+
|
|
|
+ if diff <= -0.2:
|
|
|
+ speed = Speed.off
|
|
|
+ elif diff <= 0.2:
|
|
|
+ speed = Speed.hold
|
|
|
+ elif diff < 0.5:
|
|
|
+ speed = Speed.low
|
|
|
+ elif diff < 1.5:
|
|
|
+ speed = Speed.medium
|
|
|
+ else:
|
|
|
+ speed = Speed.high
|
|
|
+ else:
|
|
|
+ speed = Speed.hold
|
|
|
|
|
|
return speed
|
|
|
|
|
@@ -322,17 +328,7 @@ class ATFC4Controller(ATFC2Controller):
|
|
|
speed = super().build_speed_set()
|
|
|
if self.season == Season.heating:
|
|
|
speed_controller = SpeedController(self.speed, self.running_status)
|
|
|
- if self.space_target and self.space_realtime:
|
|
|
- diff = abs(self.space_realtime - self.space_target)
|
|
|
- if diff < 0.2:
|
|
|
- speed = Speed.hold
|
|
|
- elif diff < 0.5:
|
|
|
- speed = Speed.low
|
|
|
- elif diff < 1.5:
|
|
|
- speed = Speed.medium
|
|
|
- else:
|
|
|
- speed = Speed.high
|
|
|
- else:
|
|
|
+ if self.feedback != FeedbackValue.null:
|
|
|
if not self.space_target:
|
|
|
speed = Speed.off
|
|
|
else:
|
|
@@ -342,6 +338,24 @@ class ATFC4Controller(ATFC2Controller):
|
|
|
speed = speed_controller.turn_up()
|
|
|
elif self.feedback == FeedbackValue.so_cold or self.feedback == FeedbackValue.a_little_cold:
|
|
|
speed = speed_controller.turn_up()
|
|
|
+ else:
|
|
|
+ speed = Speed.hold
|
|
|
+ else:
|
|
|
+ if not self.space_target:
|
|
|
+ speed = Speed.off
|
|
|
+ else:
|
|
|
+ if self.space_realtime:
|
|
|
+ diff = abs(self.space_realtime - self.space_target)
|
|
|
+ if diff < 0.2:
|
|
|
+ speed = Speed.hold
|
|
|
+ elif diff < 0.5:
|
|
|
+ speed = Speed.low
|
|
|
+ elif diff < 1.5:
|
|
|
+ speed = Speed.medium
|
|
|
+ else:
|
|
|
+ speed = Speed.high
|
|
|
+ else:
|
|
|
+ speed = Speed.hold
|
|
|
|
|
|
return speed
|
|
|
|