Browse Source

fix a bug

highing666 3 years ago
parent
commit
cffa7b006a
1 changed files with 11 additions and 10 deletions
  1. 11 10
      app/controllers/equipment/vrf/basic.py

+ 11 - 10
app/controllers/equipment/vrf/basic.py

@@ -1,5 +1,6 @@
 from typing import Dict, Optional
 
+import numpy as np
 from loguru import logger
 
 from app.controllers.equipment.controller import EquipmentController
@@ -15,13 +16,10 @@ class VRFController(EquipmentController):
         self.realtime = realtime
 
     def get_switch_set(self, speed: Optional[str] = 'off') -> bool:
-        if self.target and self.target:
-            if speed == 'off':
-                switch_set = False
-            else:
-                switch_set = True
-        else:
+        if speed == 'off':
             switch_set = False
+        else:
+            switch_set = True
 
         self.device.equip_switch_set = switch_set
 
@@ -57,20 +55,20 @@ class VRFController(EquipmentController):
         elif diff >= 2.0:
             speed = 'HH'
         else:
-            speed = 'unknown'
+            speed = 'off'
 
         self.device.speed_set = speed
 
         return speed
 
     async def run(self):
-        if self.target and self.realtime:
+        if np.isnan(self.target) or np.isnan(self.realtime):
+            self.get_switch_set()
+        else:
             speed = self.get_speed_set()
             self.get_switch_set(speed)
             self.get_mode_set()
             self.get_temperature_set()
-        else:
-            self.get_switch_set()
 
     def get_results(self):
         return self.device
@@ -79,6 +77,9 @@ class VRFController(EquipmentController):
 @logger.catch()
 async def get_vrf_instructions(device_id: str, target: float, realtime: float) -> Dict:
     vrf = VRF(id=device_id)
+    target = np.NAN if target == -1.0 else target
+    realtime = np.NAN if realtime == -1.0 else realtime
+
     controller = VRFController(vrf, target, realtime)
     await controller.run()
     regulated_vrf = controller.get_results()