Browse Source

fix a bug in FCU controller V2 where speed was set high when missing realtime data

chenhaiyang 4 years ago
parent
commit
907f284bd2
1 changed files with 14 additions and 11 deletions
  1. 14 11
      app/controllers/equipment/fcu/basic.py

+ 14 - 11
app/controllers/equipment/fcu/basic.py

@@ -110,17 +110,20 @@ class FCUControllerV2(EquipmentController):
     def build_air_valve_speed(self):
     def build_air_valve_speed(self):
         target = self.equipment.space.temperature_target
         target = self.equipment.space.temperature_target
         if target > 0:
         if target > 0:
-            if self.season == Season.heating:
-                diff = target - self.equipment.space.realtime_temperature
-                if diff < 0:
-                    speed = AirValveSpeed.off
-                elif diff < 0.5:
-                    speed = AirValveSpeed.low
-                elif diff < 1.5:
-                    speed = AirValveSpeed.medium
-                else:
-                    speed = AirValveSpeed.high
-                self.equipment.air_valve_speed = speed
+            if self.equipment.space.realtime_temperature > 0:
+                if self.season == Season.heating:
+                    diff = target - self.equipment.space.realtime_temperature
+                    if diff < 0:
+                        speed = AirValveSpeed.off
+                    elif diff < 0.5:
+                        speed = AirValveSpeed.low
+                    elif diff < 1.5:
+                        speed = AirValveSpeed.medium
+                    else:
+                        speed = AirValveSpeed.high
+                    self.equipment.air_valve_speed = speed
+            else:
+                self.equipment.air_valve_speed = AirValveSpeed.medium
         else:
         else:
             self.equipment.air_valve_speed = AirValveSpeed.off
             self.equipment.air_valve_speed = AirValveSpeed.off