Browse Source

amend BLE positioning logic

highing666 3 years ago
parent
commit
de52e67556
1 changed files with 9 additions and 5 deletions
  1. 9 5
      app/controllers/location/ble/space.py

+ 9 - 5
app/controllers/location/ble/space.py

@@ -20,16 +20,20 @@ class SpacePositioningController:
         ibeacon_list = sorted(
             self.realtime_ibeacon_list, key=attrgetter("rssi"), reverse=True
         )
-        strongest_id = ""
+        space = ""
         for ibeacon in ibeacon_list:
             if ibeacon.rssi != 0:
                 strongest = ibeacon
                 logger.debug(strongest)
                 strongest_id = str(strongest.major) + "-" + str(strongest.minor)
-                break
-
-        logger.debug(strongest_id)
-        return self.ibeacon_space_dict.get(strongest_id)
+                space = self.ibeacon_space_dict.get(strongest_id)
+                if space:
+                    logger.debug(strongest_id)
+                    break
+                else:
+                    space = ""
+
+        return space
 
 
 @logger.catch()