Procházet zdrojové kódy

modify space limit for VAV logic

highing666 před 3 roky
rodič
revize
a96f3688ca
1 změnil soubory, kde provedl 14 přidání a 7 odebrání
  1. 14 7
      app/controllers/equipment/vav.py

+ 14 - 7
app/controllers/equipment/vav.py

@@ -167,11 +167,18 @@ class VAVControllerV2(VAVController):
     async def rectify(self) -> Tuple[float, float]:
         bad_spaces = list()
         for sp in self.equipment.spaces:
-            if sp.realtime_temperature > max(
-                27.0, sp.temperature_target
-            ) or sp.realtime_temperature < min(21.0, sp.temperature_target):
-                if sp.temperature_target > 0.0:
-                    bad_spaces.append(sp)
+            if self.season == Season.heating:
+                if sp.realtime_temperature > max(
+                    26.0, sp.temperature_target
+                ) or sp.realtime_temperature < min(20.0, sp.temperature_target):
+                    if sp.temperature_target > 0.0:
+                        bad_spaces.append(sp)
+            elif self.season == Season.cooling:
+                if sp.realtime_temperature > max(
+                    27.0, sp.temperature_target
+                ) or sp.realtime_temperature < min(22.0, sp.temperature_target):
+                    if sp.temperature_target > 0.0:
+                        bad_spaces.append(sp)
 
         if bad_spaces:
             virtual_diff = (
@@ -191,7 +198,7 @@ class VAVControllerV2(VAVController):
                         )
                 else:
                     self.equipment.virtual_target_temperature = (
-                        min(21.0, worst.temperature_target) + 0.5
+                        min(22.0, worst.temperature_target) + 0.5
                     )
                     self.equipment.virtual_realtime_temperature = (
                         worst.realtime_temperature
@@ -209,7 +216,7 @@ class VAVControllerV2(VAVController):
                         )
                 else:
                     self.equipment.virtual_target_temperature = (
-                        max(27.0, worst.temperature_target) - 0.5
+                        max(26.0, worst.temperature_target) - 0.5
                     )
                     self.equipment.virtual_realtime_temperature = (
                         worst.realtime_temperature