summaryrefslogtreecommitdiffstats
path: root/src/discover.py
blob: 478995fafaf894c2b9a0cb095f73629c1436ee34 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
from bleak import BleakScanner
from logger import get_logger
import asyncio

logger = get_logger("Discovery")

async def discover(debug=False):
    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