highing666 2 лет назад
Родитель
Сommit
9bd062274a

+ 17 - 17
app/controllers/equipment/ahu/basic.py

@@ -20,26 +20,26 @@ class AHUController:
         self._system = system
 
     async def build_freq_set(
-        self, supply_air_temperature_set_duration: List, hot_rate: float
+            self, supply_air_temperature_set_duration: List, hot_rate: float
     ) -> float:
         extent = 5
         if (
-            np.isnan(self._equipment.fan_freq_set)
-            or np.isnan(self._system.supply_static_press)
-            or np.isnan(self._system.supply_static_press_set)
+                np.isnan(self._equipment.freq_set)
+                or np.isnan(self._system.supply_static_press)
+                or np.isnan(self._system.supply_static_press_set)
         ):
             temp_freq_set = 80.0
         else:
-            pre_fan_freq_set = self._equipment.fan_freq_set
+            pre_fan_freq_set = self._equipment.freq_set
 
             if (
-                self._system.supply_static_press
-                < self._system.supply_static_press_set - extent
+                    self._system.supply_static_press
+                    < self._system.supply_static_press_set - extent
             ):
                 temp_freq_set = pre_fan_freq_set + 2
             elif (
-                self._system.supply_static_press
-                > self._system.supply_static_press_set + extent
+                    self._system.supply_static_press
+                    > self._system.supply_static_press_set + extent
             ):
                 temp_freq_set = pre_fan_freq_set - 2
             else:
@@ -48,15 +48,15 @@ class AHUController:
         temperature_value_list = np.array(supply_air_temperature_set_duration)
         freq_upper_limit = 90.0
         if (
-            temperature_value_list.size > 0
-            and np.all(temperature_value_list == temperature_value_list[0])
-            and temperature_value_list[0] <= 18.0
-            and hot_rate >= 0.5
+                temperature_value_list.size > 0
+                and np.all(temperature_value_list == temperature_value_list[0])
+                and temperature_value_list[0] <= 18.0
+                and hot_rate >= 0.5
         ):
             freq_upper_limit = 100.0
         freq_set = min(temp_freq_set, freq_upper_limit)
 
-        self._equipment.fan_freq_set = freq_set
+        self._equipment.freq_set = freq_set
 
         return freq_set
 
@@ -75,7 +75,7 @@ async def get_freq_controlled(project_id: str, equipment_id: str) -> None:
         count = await review_service.get_fill_count()
         try:
             hot_rate = count.get("hotNum") / (
-                count.get("hotNum") + count.get("coldNum") + count.get("normalNum")
+                    count.get("hotNum") + count.get("coldNum") + count.get("normalNum")
             )
         except (ZeroDivisionError, KeyError):
             hot_rate = 0.0
@@ -86,7 +86,7 @@ async def get_freq_controlled(project_id: str, equipment_id: str) -> None:
             item["value"] for item in raw_supply_air_temperature_set
         ]
 
-    equip_params = {"id": equipment_id, "fan_freq_set": fan_freq_set}
+    equip_params = {"id": equipment_id, "freq_set": fan_freq_set}
     ahu = AHU(**equip_params)
 
     system_params = {
@@ -113,7 +113,7 @@ async def build_acatah_freq_set(params: ACATAHFreqSetRequest) -> float:
         supply_static_press=params.system_supply_static_press,
         supply_static_press_set=params.system_supply_static_press_set,
     )
-    ahu = AHU(fan_freq_set=params.current_freq_set)
+    ahu = AHU(freq_set=params.current_freq_set)
 
     ahu_controller = AHUController(ahu, acat_system)
     new_freq_set = await ahu_controller.build_freq_set(

+ 36 - 35
app/controllers/equipment/fcu/basic.py

@@ -42,8 +42,8 @@ class FCUController(EquipmentController):
         if self.season == Season.heating:
             mode = 2
             if (
-                temperature_target > 0
-                and self._equipment.space.realtime_temperature > 0
+                    temperature_target > 0
+                    and self._equipment.space.realtime_temperature > 0
             ):
                 if temperature_target < self._equipment.space.realtime_temperature:
                     mode = 1
@@ -110,16 +110,16 @@ class FCUControllerV2(EquipmentController):
     def get_mode(self) -> int:
         if self.equipment.water_in_temperature > 0:
             if (
-                self.equipment.water_in_temperature
-                > self.equipment.space.temperature_target
+                    self.equipment.water_in_temperature
+                    > self.equipment.space.temperature_target
             ):
                 mode = 2
             else:
                 mode = 1
         elif self.equipment.supply_air_temperature > 0:
             if (
-                self.equipment.supply_air_temperature
-                > self.equipment.space.temperature_target
+                    self.equipment.supply_air_temperature
+                    > self.equipment.space.temperature_target
             ):
                 mode = 2
             else:
@@ -230,13 +230,13 @@ class ATFC2Controller:
     """Two-wipe ATFC logic"""
 
     def __init__(
-        self,
-        space_target: float,
-        space_realtime: float,
-        season: Season,
-        feedback: FeedbackValue,
-        running_status: bool,
-        speed: Speed,
+            self,
+            space_target: float,
+            space_realtime: float,
+            season: Season,
+            feedback: FeedbackValue,
+            running_status: bool,
+            speed: Speed,
     ):
         self.space_target = space_target
         self.space_realtime = space_realtime
@@ -273,16 +273,16 @@ class ATFC2Controller:
                 if self.feedback == FeedbackValue.switch_on:
                     speed = Speed.medium
                 elif (
-                    self.feedback == FeedbackValue.so_hot
-                    or self.feedback == FeedbackValue.a_little_hot
+                        self.feedback == FeedbackValue.so_hot
+                        or self.feedback == FeedbackValue.a_little_hot
                 ):
                     if self.season == Season.cooling:
                         speed = speed_controller.turn_up()
                     elif self.season == Season.heating:
                         speed = speed_controller.turn_down()
                 elif (
-                    self.feedback == FeedbackValue.so_cold
-                    or self.feedback == FeedbackValue.a_little_cold
+                        self.feedback == FeedbackValue.so_cold
+                        or self.feedback == FeedbackValue.a_little_cold
                 ):
                     if self.season == Season.cooling:
                         speed = speed_controller.turn_down()
@@ -291,7 +291,8 @@ class ATFC2Controller:
 
         return speed
 
-    def build_switch_set(self, new_speed_set: Speed) -> str:
+    @staticmethod
+    def build_switch_set(new_speed_set: Speed) -> str:
         if new_speed_set == Speed.off:
             switch_set = "off"
         elif new_speed_set == Speed.hold:
@@ -322,13 +323,13 @@ class ATFC4Controller(ATFC2Controller):
     """Four-wipe ATFC logic"""
 
     def __init__(
-        self,
-        space_target: float,
-        space_realtime: float,
-        season: Season,
-        feedback: FeedbackValue,
-        running_status: bool,
-        speed: Speed,
+            self,
+            space_target: float,
+            space_realtime: float,
+            season: Season,
+            feedback: FeedbackValue,
+            running_status: bool,
+            speed: Speed,
     ):
         super().__init__(
             space_target, space_realtime, season, feedback, running_status, speed
@@ -355,13 +356,13 @@ class ATFC4Controller(ATFC2Controller):
                     if self.feedback == FeedbackValue.switch_on:
                         speed = Speed.medium
                     elif (
-                        self.feedback == FeedbackValue.so_hot
-                        or self.feedback == FeedbackValue.a_little_hot
+                            self.feedback == FeedbackValue.so_hot
+                            or self.feedback == FeedbackValue.a_little_hot
                     ):
                         speed = speed_controller.turn_up()
                     elif (
-                        self.feedback == FeedbackValue.so_cold
-                        or self.feedback == FeedbackValue.a_little_cold
+                            self.feedback == FeedbackValue.so_cold
+                            or self.feedback == FeedbackValue.a_little_cold
                     ):
                         speed = speed_controller.turn_up()
 
@@ -390,14 +391,14 @@ class ATFC4Controller(ATFC2Controller):
                         chill_water_valve_set = "off"
                         hot_water_valve_set = "on"
                     elif (
-                        self.feedback == FeedbackValue.so_hot
-                        or self.feedback == FeedbackValue.a_little_hot
+                            self.feedback == FeedbackValue.so_hot
+                            or self.feedback == FeedbackValue.a_little_hot
                     ):
                         chill_water_valve_set = "on"
                         hot_water_valve_set = "off"
                     elif (
-                        self.feedback == FeedbackValue.so_cold
-                        or self.feedback == FeedbackValue.a_little_cold
+                            self.feedback == FeedbackValue.so_cold
+                            or self.feedback == FeedbackValue.a_little_cold
                     ):
                         chill_water_valve_set = "off"
                         hot_water_valve_set = "on"
@@ -481,7 +482,7 @@ async def get_fcu_control_result(project_id: str, equipment_id: str) -> Dict:
 
 @logger.catch()
 async def build_acatfc2_instructions(
-    params: ACATFC2InstructionsRequest,
+        params: ACATFC2InstructionsRequest,
 ) -> ACATFCInstructions:
     space = Space(
         temperature_target=params.space_temperature_target,
@@ -506,7 +507,7 @@ async def build_acatfc2_instructions(
 
 @logger.catch()
 async def build_acatfc4_instructions(
-    params: ACATFC4InstructionsRequest,
+        params: ACATFC4InstructionsRequest,
 ) -> ACATFCInstructions:
     space = Space(
         temperature_target=params.space_temperature_target,

+ 2 - 2
app/models/domain/devices.py

@@ -198,8 +198,8 @@ class ACATAHInstructionsRequest(BaseModel):
     return_air_temperature_set: float
     supply_air_temperature: float
     supply_air_temperature_set: float
-    fan_freq: float
-    fan_freq_set: float
+    freq: float
+    freq_set: float
     fan_freq_upper_limit_set: float
     fan_freq_lower_limit_set: float
 

+ 2 - 2
app/schemas/equipment.py

@@ -61,12 +61,12 @@ class VAVBox(BaseEquipment):
 
 
 class AHU(BaseEquipment):
-    fan_freq_set: Optional[float] = np.NAN
     supply_air_temperature: Optional[float] = np.NAN
     supply_air_temperature_set: Optional[float] = np.NAN
     return_air_temperature: Optional[float] = np.NAN
     return_air_temperature_set: Optional[float] = np.NAN
-    fan_freq: Optional[float] = np.NAN
+    freq: Optional[float] = np.NAN
+    freq_set: Optional[float] = np.NAN
     fan_freq_upper_limit_set: Optional[float] = np.NAN
     fan_freq_lower_limit_set: Optional[float] = np.NAN
 

+ 1 - 1
docker-compose.yml

@@ -2,7 +2,7 @@ version: "3"
 
 services:
   app:
-      image: registry.persagy.com/sagacloud/saga_algo_api:0.4.1
+      image: registry.persagy.com/sagacloud/saga_algo_api:0.4.2
       container_name: saga_algo_api
       ports:
         - "8002:8002"