summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/discover.py36
1 files changed, 21 insertions, 15 deletions
diff --git a/src/discover.py b/src/discover.py
index 59889d9..478995f 100644
--- a/src/discover.py
+++ b/src/discover.py
@@ -1,21 +1,27 @@
from bleak import BleakScanner
from logger import get_logger
+import asyncio
logger = get_logger("Discovery")
async def discover(debug=False):
- try:
- logger.info("Starting Bluetooth discovery...")
- scan = await BleakScanner.discover()
- logger.info("Completed Bluetooth discovery!")
- logger.debug(scan)
- devices = [{"name": device.name, "address": device.address} for device in scan]
- filtered_devices = [
- device
- for device in devices
- if device["name"] and "TP350S" in device["name"]
- ]
- return filtered_devices
- except Exception as e:
- logger.error(f"There was an issue during Bluetooth discovery: \n {e}")
- raise
+ while True:
+ try:
+ logger.info("Starting Bluetooth discovery...")
+ scan = await BleakScanner.discover()
+ logger.info("Completed Bluetooth discovery!")
+ logger.debug(scan)
+ devices = [{"name": device.name, "address": device.address} for device in scan]
+ filtered_devices = [
+ device
+ for device in devices
+ if device["name"] and "TP350S" in device["name"]
+ ]
+ if filtered_devices:
+ return filtered_devices
+ else:
+ logger.info("No device was found. Trying again in 5 seconds...")
+ await asyncio.sleep(5)
+ except Exception as e:
+ logger.error(f"There was an issue during Bluetooth discovery: \n {e}")
+ raise
git.ajschof.me — hosted by ajschofield — powered by cgit