Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Advertisements only seldom received/displayed #1065

Open
capiman opened this issue Oct 5, 2022 · 21 comments
Open

Advertisements only seldom received/displayed #1065

capiman opened this issue Oct 5, 2022 · 21 comments
Labels
3rd party issue The issue is with the Bluetooth stack, the BLE device, or other 3rd party code not with Bleak itself Backend: BlueZ Issues and PRs relating to the BlueZ backend

Comments

@capiman
Copy link

capiman commented Oct 5, 2022

  • bleak version: 0.18.1
  • Python version: Python 3.9.2
  • Operating System: Linux test 5.15.61-v7l+ How do I decode bytearray for power data #1579 SMP Fri Aug 26 11:13:03 BST 2022 armv7l GNU/Linux
  • BlueZ version (bluetoothctl -v) in case of Linux: 5.55

Description

I have a device which is sending a lot advertisements. I said it to do in maximum speed.

test@test:~/bleak $ sudo hcitool lescan --duplicate
LE Scan ...
E4:5F:01:BA:05:2D (unknown)
E4:5F:01:BA:05:2D
E4:5F:01:BA:05:2D (unknown)
E4:5F:01:BA:05:2D
E4:5F:01:BA:05:2D (unknown)
E4:5F:01:BA:05:2D

I can see it advertising at a high speed (around 40 advertisements per second).

Then I use (from example):

test@test:~/bleak $ cat detection.py
"""
Detection callback w/ scanner
--------------
Example showing what is returned using the callback upon detection functionality
Updated on 2020-10-11 by bernstern <bernie@allthenticate.net>
"""

import asyncio
import logging
import sys

from bleak import BleakScanner
from bleak.backends.device import BLEDevice
from bleak.backends.scanner import AdvertisementData

logger = logging.getLogger(__name__)


def simple_callback(device: BLEDevice, advertisement_data: AdvertisementData):
    logger.info(f"{device.address}: {advertisement_data}")


async def main(service_uuids):
    scanner = BleakScanner(simple_callback, service_uuids)

    while True:
        print("(re)starting scanner")
        await scanner.start()
        await asyncio.sleep(5.0)
        await scanner.stop()


if __name__ == "__main__":
    logging.basicConfig(
        level=logging.INFO,
        format="%(asctime)-15s %(name)-8s %(levelname)s: %(message)s",
    )
    service_uuids = sys.argv[1:]
    asyncio.run(main(service_uuids))

test@test:~/bleak $

It gives the following output:

$ python3 detection.py
(re)starting scanner
2022-10-05 13:16:40,784 __main__ INFO: E4:5F:01:BA:05:2D: AdvertisementData(manufacturer_data={65535: b'\xbe\xac\x13\xb7\xcbV\x81ZH\xec\xa0\x1f0!\xabI\xa1U\x00\x00:\x98\xc3\x01'})
2022-10-05 13:16:45,775 __main__ INFO: E4:5F:01:BA:05:2D: AdvertisementData(manufacturer_data={65535: b'\xbe\xac\x13\xb7\xcbV\x81ZH\xec\xa0\x1f0!\xabI\xa1U\x00\x00:\x98\xc3\x01'})
(re)starting scanner
2022-10-05 13:16:45,798 __main__ INFO: E4:5F:01:BA:05:2D: AdvertisementData(manufacturer_data={65535: b'\xbe\xac\x13\xb7\xcbV\x81ZH\xec\xa0\x1f0!\xabI\xa1U\x00\x00:\xb1\xc3\x01'})
2022-10-05 13:16:50,799 __main__ INFO: E4:5F:01:BA:05:2D: AdvertisementData(manufacturer_data={65535: b'\xbe\xac\x13\xb7\xcbV\x81ZH\xec\xa0\x1f0!\xabI\xa1U\x00\x00:\xb1\xc3\x01'})
(re)starting scanner
2022-10-05 13:16:50,819 __main__ INFO: E4:5F:01:BA:05:2D: AdvertisementData(manufacturer_data={65535: b'\xbe\xac\x13\xb7\xcbV\x81ZH\xec\xa0\x1f0!\xabI\xa1U\x00\x00:\xca\xc3\x01'})
2022-10-05 13:16:55,823 __main__ INFO: E4:5F:01:BA:05:2D: AdvertisementData(manufacturer_data={65535: b'\xbe\xac\x13\xb7\xcbV\x81ZH\xec\xa0\x1f0!\xabI\xa1U\x00\x00:\xca\xc3\x01'})
(re)starting scanner
2022-10-05 13:16:55,838 __main__ INFO: E4:5F:01:BA:05:2D: AdvertisementData(manufacturer_data={65535: b'\xbe\xac\x13\xb7\xcbV\x81ZH\xec\xa0\x1f0!\xabI\xa1U\x00\x00:\xe3\xc3\x01'})

It gives only seldom data, far away from 40 per second.
I assume the checked fields remain equal, but there shall be at least a counter inside, which increases every 200ms.
So I assume at least I should see an output every 200ms?

Could I tell Bleak to display every received advertisement?
Why is stop/restart needed? Just that duplicates are reported again?
Or do I somehow need to tell BlueZ under Bleak to use something like lescan with --duplicate?

Or could it be that problem is on sender side? Advertisement data not correct? Or only sometimes correct?

@dlech
Copy link
Collaborator

dlech commented Oct 5, 2022

What is the output with BLEAK_LOGGING=1?

@dlech dlech added the Backend: BlueZ Issues and PRs relating to the BlueZ backend label Oct 5, 2022
@capiman
Copy link
Author

capiman commented Oct 5, 2022

test@test:~/bleak $ python3 detection.py
(re)starting scanner
2022-10-05 16:49:32,813 bleak.backends.bluezdbus.manager DEBUG: initial properties: {'/org/bluez': {'org.freedesktop.DBus.Introspectable': {}, 'org.bluez.AgentManager1': {}, 'org.bluez.ProfileManager1': {}, 'org.bluez.HealthManager1': {}}, '/org/bluez/hci0': {'org.freedesktop.DBus.Introspectable': {}, 'org.bluez.Adapter1': {'Address': 'E4:5F:01:BA:08:45', 'AddressType': 'public', 'Name': 'test', 'Alias': 'test', 'Class': 0, 'Powered': True, 'Discoverable': False, 'DiscoverableTimeout': 180, 'Pairable': False, 'PairableTimeout': 0, 'Discovering': False, 'UUIDs': ['00001801-0000-1000-8000-00805f9b34fb', '00001800-0000-1000-8000-00805f9b34fb', '00001200-0000-1000-8000-00805f9b34fb', '0000110c-0000-1000-8000-00805f9b34fb', '0000110e-0000-1000-8000-00805f9b34fb', '0000180a-0000-1000-8000-00805f9b34fb'], 'Modalias': 'usb:v1D6Bp0246d0537', 'Roles': ['central', 'peripheral']}, 'org.freedesktop.DBus.Properties': {}, 'org.bluez.GattManager1': {}, 'org.bluez.LEAdvertisingManager1': {'ActiveInstances': 0, 'SupportedInstances': 5, 'SupportedIncludes': ['tx-power', 'appearance', 'local-name']}, 'org.bluez.Media1': {}, 'org.bluez.NetworkServer1': {}}}
2022-10-05 16:49:32,813 bleak.backends.bluezdbus.manager DEBUG: initial properties: {'/org/bluez': {'org.freedesktop.DBus.Introspectable': {}, 'org.bluez.AgentManager1': {}, 'org.bluez.ProfileManager1': {}, 'org.bluez.HealthManager1': {}}, '/org/bluez/hci0': {'org.freedesktop.DBus.Introspectable': {}, 'org.bluez.Adapter1': {'Address': 'E4:5F:01:BA:08:45', 'AddressType': 'public', 'Name': 'test', 'Alias': 'test', 'Class': 0, 'Powered': True, 'Discoverable': False, 'DiscoverableTimeout': 180, 'Pairable': False, 'PairableTimeout': 0, 'Discovering': False, 'UUIDs': ['00001801-0000-1000-8000-00805f9b34fb', '00001800-0000-1000-8000-00805f9b34fb', '00001200-0000-1000-8000-00805f9b34fb', '0000110c-0000-1000-8000-00805f9b34fb', '0000110e-0000-1000-8000-00805f9b34fb', '0000180a-0000-1000-8000-00805f9b34fb'], 'Modalias': 'usb:v1D6Bp0246d0537', 'Roles': ['central', 'peripheral']}, 'org.freedesktop.DBus.Properties': {}, 'org.bluez.GattManager1': {}, 'org.bluez.LEAdvertisingManager1': {'ActiveInstances': 0, 'SupportedInstances': 5, 'SupportedIncludes': ['tx-power', 'appearance', 'local-name']}, 'org.bluez.Media1': {}, 'org.bluez.NetworkServer1': {}}}
2022-10-05 16:49:32,818 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0): ['org.bluez.Adapter1', {'Discovering': <dbus_fast.signature.Variant ('b', True)>}, []]
2022-10-05 16:49:32,818 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0): ['org.bluez.Adapter1', {'Discovering': <dbus_fast.signature.Variant ('b', True)>}, []]
2022-10-05 16:49:32,824 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.ObjectManager.InterfacesAdded (/): ['/org/bluez/hci0/dev_E4_5F_01_BA_05_2D', {'org.freedesktop.DBus.Introspectable': {}, 'org.bluez.Device1': {'Address': <dbus_fast.signature.Variant ('s', E4:5F:01:BA:05:2D)>, 'AddressType': <dbus_fast.signature.Variant ('s', public)>, 'Alias': <dbus_fast.signature.Variant ('s', E4-5F-01-BA-05-2D)>, 'Paired': <dbus_fast.signature.Variant ('b', False)>, 'Trusted': <dbus_fast.signature.Variant ('b', False)>, 'Blocked': <dbus_fast.signature.Variant ('b', False)>, 'LegacyPairing': <dbus_fast.signature.Variant ('b', False)>, 'RSSI': <dbus_fast.signature.Variant ('n', -70)>, 'Connected': <dbus_fast.signature.Variant ('b', False)>, 'UUIDs': <dbus_fast.signature.Variant ('as', [])>, 'Adapter': <dbus_fast.signature.Variant ('o', /org/bluez/hci0)>, 'ManufacturerData': <dbus_fast.signature.Variant ('a{qv}', {65535: <dbus_fast.signature.Variant ('ay', bytearray(b'\xbe\xac\x13\xb7\xcbV\x81ZH\xec\xa0\x1f0!\xabI\xa1U\x00\x00\x02\xb0\xc3\x01'))>})>, 'ServicesResolved': <dbus_fast.signature.Variant ('b', False)>}, 'org.freedesktop.DBus.Properties': {}}]
2022-10-05 16:49:32,824 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.ObjectManager.InterfacesAdded (/): ['/org/bluez/hci0/dev_E4_5F_01_BA_05_2D', {'org.freedesktop.DBus.Introspectable': {}, 'org.bluez.Device1': {'Address': <dbus_fast.signature.Variant ('s', E4:5F:01:BA:05:2D)>, 'AddressType': <dbus_fast.signature.Variant ('s', public)>, 'Alias': <dbus_fast.signature.Variant ('s', E4-5F-01-BA-05-2D)>, 'Paired': <dbus_fast.signature.Variant ('b', False)>, 'Trusted': <dbus_fast.signature.Variant ('b', False)>, 'Blocked': <dbus_fast.signature.Variant ('b', False)>, 'LegacyPairing': <dbus_fast.signature.Variant ('b', False)>, 'RSSI': <dbus_fast.signature.Variant ('n', -70)>, 'Connected': <dbus_fast.signature.Variant ('b', False)>, 'UUIDs': <dbus_fast.signature.Variant ('as', [])>, 'Adapter': <dbus_fast.signature.Variant ('o', /org/bluez/hci0)>, 'ManufacturerData': <dbus_fast.signature.Variant ('a{qv}', {65535: <dbus_fast.signature.Variant ('ay', bytearray(b'\xbe\xac\x13\xb7\xcbV\x81ZH\xec\xa0\x1f0!\xabI\xa1U\x00\x00\x02\xb0\xc3\x01'))>})>, 'ServicesResolved': <dbus_fast.signature.Variant ('b', False)>}, 'org.freedesktop.DBus.Properties': {}}]
2022-10-05 16:49:32,825 __main__ INFO: E4:5F:01:BA:05:2D: AdvertisementData(manufacturer_data={65535: b'\xbe\xac\x13\xb7\xcbV\x81ZH\xec\xa0\x1f0!\xabI\xa1U\x00\x00\x02\xb0\xc3\x01'})
2022-10-05 16:49:37,830 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0/dev_E4_5F_01_BA_05_2D): ['org.bluez.Device1', {}, ['RSSI']]
2022-10-05 16:49:37,830 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0/dev_E4_5F_01_BA_05_2D): ['org.bluez.Device1', {}, ['RSSI']]
2022-10-05 16:49:37,831 __main__ INFO: E4:5F:01:BA:05:2D: AdvertisementData(manufacturer_data={65535: b'\xbe\xac\x13\xb7\xcbV\x81ZH\xec\xa0\x1f0!\xabI\xa1U\x00\x00\x02\xb0\xc3\x01'})
2022-10-05 16:49:37,831 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.ObjectManager.InterfacesRemoved (/): ['/org/bluez/hci0/dev_E4_5F_01_BA_05_2D', ['org.freedesktop.DBus.Properties', 'org.freedesktop.DBus.Introspectable', 'org.bluez.Device1']]
2022-10-05 16:49:37,831 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.ObjectManager.InterfacesRemoved (/): ['/org/bluez/hci0/dev_E4_5F_01_BA_05_2D', ['org.freedesktop.DBus.Properties', 'org.freedesktop.DBus.Introspectable', 'org.bluez.Device1']]
2022-10-05 16:49:37,832 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0): ['org.bluez.Adapter1', {'Discovering': <dbus_fast.signature.Variant ('b', False)>}, []]
2022-10-05 16:49:37,832 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0): ['org.bluez.Adapter1', {'Discovering': <dbus_fast.signature.Variant ('b', False)>}, []]
(re)starting scanner
2022-10-05 16:49:37,845 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0): ['org.bluez.Adapter1', {'Discovering': <dbus_fast.signature.Variant ('b', True)>}, []]
2022-10-05 16:49:37,845 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0): ['org.bluez.Adapter1', {'Discovering': <dbus_fast.signature.Variant ('b', True)>}, []]
2022-10-05 16:49:37,871 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.ObjectManager.InterfacesAdded (/): ['/org/bluez/hci0/dev_E4_5F_01_BA_05_2D', {'org.freedesktop.DBus.Introspectable': {}, 'org.bluez.Device1': {'Address': <dbus_fast.signature.Variant ('s', E4:5F:01:BA:05:2D)>, 'AddressType': <dbus_fast.signature.Variant ('s', public)>, 'Alias': <dbus_fast.signature.Variant ('s', E4-5F-01-BA-05-2D)>, 'Paired': <dbus_fast.signature.Variant ('b', False)>, 'Trusted': <dbus_fast.signature.Variant ('b', False)>, 'Blocked': <dbus_fast.signature.Variant ('b', False)>, 'LegacyPairing': <dbus_fast.signature.Variant ('b', False)>, 'RSSI': <dbus_fast.signature.Variant ('n', -65)>, 'Connected': <dbus_fast.signature.Variant ('b', False)>, 'UUIDs': <dbus_fast.signature.Variant ('as', [])>, 'Adapter': <dbus_fast.signature.Variant ('o', /org/bluez/hci0)>, 'ManufacturerData': <dbus_fast.signature.Variant ('a{qv}', {65535: <dbus_fast.signature.Variant ('ay', bytearray(b'\xbe\xac\x13\xb7\xcbV\x81ZH\xec\xa0\x1f0!\xabI\xa1U\x00\x00\x02\xc9\xc3\x01'))>})>, 'ServicesResolved': <dbus_fast.signature.Variant ('b', False)>}, 'org.freedesktop.DBus.Properties': {}}]
2022-10-05 16:49:37,871 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.ObjectManager.InterfacesAdded (/): ['/org/bluez/hci0/dev_E4_5F_01_BA_05_2D', {'org.freedesktop.DBus.Introspectable': {}, 'org.bluez.Device1': {'Address': <dbus_fast.signature.Variant ('s', E4:5F:01:BA:05:2D)>, 'AddressType': <dbus_fast.signature.Variant ('s', public)>, 'Alias': <dbus_fast.signature.Variant ('s', E4-5F-01-BA-05-2D)>, 'Paired': <dbus_fast.signature.Variant ('b', False)>, 'Trusted': <dbus_fast.signature.Variant ('b', False)>, 'Blocked': <dbus_fast.signature.Variant ('b', False)>, 'LegacyPairing': <dbus_fast.signature.Variant ('b', False)>, 'RSSI': <dbus_fast.signature.Variant ('n', -65)>, 'Connected': <dbus_fast.signature.Variant ('b', False)>, 'UUIDs': <dbus_fast.signature.Variant ('as', [])>, 'Adapter': <dbus_fast.signature.Variant ('o', /org/bluez/hci0)>, 'ManufacturerData': <dbus_fast.signature.Variant ('a{qv}', {65535: <dbus_fast.signature.Variant ('ay', bytearray(b'\xbe\xac\x13\xb7\xcbV\x81ZH\xec\xa0\x1f0!\xabI\xa1U\x00\x00\x02\xc9\xc3\x01'))>})>, 'ServicesResolved': <dbus_fast.signature.Variant ('b', False)>}, 'org.freedesktop.DBus.Properties': {}}]
2022-10-05 16:49:37,872 __main__ INFO: E4:5F:01:BA:05:2D: AdvertisementData(manufacturer_data={65535: b'\xbe\xac\x13\xb7\xcbV\x81ZH\xec\xa0\x1f0!\xabI\xa1U\x00\x00\x02\xc9\xc3\x01'})
2022-10-05 16:49:40,531 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.ObjectManager.InterfacesAdded (/): ['/org/bluez/hci0/dev_C4_7C_8D_6D_37_02', {'org.freedesktop.DBus.Introspectable': {}, 'org.bluez.Device1': {'Address': <dbus_fast.signature.Variant ('s', C4:7C:8D:6D:37:02)>, 'AddressType': <dbus_fast.signature.Variant ('s', public)>, 'Name': <dbus_fast.signature.Variant ('s', Flower care)>, 'Alias': <dbus_fast.signature.Variant ('s', Flower care)>, 'Paired': <dbus_fast.signature.Variant ('b', False)>, 'Trusted': <dbus_fast.signature.Variant ('b', False)>, 'Blocked': <dbus_fast.signature.Variant ('b', False)>, 'LegacyPairing': <dbus_fast.signature.Variant ('b', False)>, 'RSSI': <dbus_fast.signature.Variant ('n', -97)>, 'Connected': <dbus_fast.signature.Variant ('b', False)>, 'UUIDs': <dbus_fast.signature.Variant ('as', ['0000fe95-0000-1000-8000-00805f9b34fb'])>, 'Adapter': <dbus_fast.signature.Variant ('o', /org/bluez/hci0)>, 'ServiceData': <dbus_fast.signature.Variant ('a{sv}', {'0000fe95-0000-1000-8000-00805f9b34fb': <dbus_fast.signature.Variant ('ay', bytearray(b'q \x98\x00\\\x027m\x8d|\xc4\r\x08\x10\x01\x1a'))>})>, 'ServicesResolved': <dbus_fast.signature.Variant ('b', False)>}, 'org.freedesktop.DBus.Properties': {}}]
2022-10-05 16:49:40,531 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.ObjectManager.InterfacesAdded (/): ['/org/bluez/hci0/dev_C4_7C_8D_6D_37_02', {'org.freedesktop.DBus.Introspectable': {}, 'org.bluez.Device1': {'Address': <dbus_fast.signature.Variant ('s', C4:7C:8D:6D:37:02)>, 'AddressType': <dbus_fast.signature.Variant ('s', public)>, 'Name': <dbus_fast.signature.Variant ('s', Flower care)>, 'Alias': <dbus_fast.signature.Variant ('s', Flower care)>, 'Paired': <dbus_fast.signature.Variant ('b', False)>, 'Trusted': <dbus_fast.signature.Variant ('b', False)>, 'Blocked': <dbus_fast.signature.Variant ('b', False)>, 'LegacyPairing': <dbus_fast.signature.Variant ('b', False)>, 'RSSI': <dbus_fast.signature.Variant ('n', -97)>, 'Connected': <dbus_fast.signature.Variant ('b', False)>, 'UUIDs': <dbus_fast.signature.Variant ('as', ['0000fe95-0000-1000-8000-00805f9b34fb'])>, 'Adapter': <dbus_fast.signature.Variant ('o', /org/bluez/hci0)>, 'ServiceData': <dbus_fast.signature.Variant ('a{sv}', {'0000fe95-0000-1000-8000-00805f9b34fb': <dbus_fast.signature.Variant ('ay', bytearray(b'q \x98\x00\\\x027m\x8d|\xc4\r\x08\x10\x01\x1a'))>})>, 'ServicesResolved': <dbus_fast.signature.Variant ('b', False)>}, 'org.freedesktop.DBus.Properties': {}}]
2022-10-05 16:49:40,531 __main__ INFO: C4:7C:8D:6D:37:02: AdvertisementData(local_name='Flower care', service_data={'0000fe95-0000-1000-8000-00805f9b34fb': b'q \x98\x00\\\x027m\x8d|\xc4\r\x08\x10\x01\x1a'}, service_uuids=['0000fe95-0000-1000-8000-00805f9b34fb'])
2022-10-05 16:49:42,855 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0/dev_E4_5F_01_BA_05_2D): ['org.bluez.Device1', {}, ['RSSI']]
2022-10-05 16:49:42,855 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0/dev_E4_5F_01_BA_05_2D): ['org.bluez.Device1', {}, ['RSSI']]
2022-10-05 16:49:42,856 __main__ INFO: E4:5F:01:BA:05:2D: AdvertisementData(manufacturer_data={65535: b'\xbe\xac\x13\xb7\xcbV\x81ZH\xec\xa0\x1f0!\xabI\xa1U\x00\x00\x02\xc9\xc3\x01'})
2022-10-05 16:49:42,857 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.ObjectManager.InterfacesRemoved (/): ['/org/bluez/hci0/dev_E4_5F_01_BA_05_2D', ['org.freedesktop.DBus.Properties', 'org.freedesktop.DBus.Introspectable', 'org.bluez.Device1']]
2022-10-05 16:49:42,857 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.ObjectManager.InterfacesRemoved (/): ['/org/bluez/hci0/dev_E4_5F_01_BA_05_2D', ['org.freedesktop.DBus.Properties', 'org.freedesktop.DBus.Introspectable', 'org.bluez.Device1']]
2022-10-05 16:49:42,858 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0/dev_C4_7C_8D_6D_37_02): ['org.bluez.Device1', {}, ['RSSI']]
2022-10-05 16:49:42,858 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0/dev_C4_7C_8D_6D_37_02): ['org.bluez.Device1', {}, ['RSSI']]
2022-10-05 16:49:42,858 __main__ INFO: C4:7C:8D:6D:37:02: AdvertisementData(local_name='Flower care', service_data={'0000fe95-0000-1000-8000-00805f9b34fb': b'q \x98\x00\\\x027m\x8d|\xc4\r\x08\x10\x01\x1a'}, service_uuids=['0000fe95-0000-1000-8000-00805f9b34fb'])
2022-10-05 16:49:42,859 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0): ['org.bluez.Adapter1', {'Discovering': <dbus_fast.signature.Variant ('b', False)>}, []]
2022-10-05 16:49:42,859 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0): ['org.bluez.Adapter1', {'Discovering': <dbus_fast.signature.Variant ('b', False)>}, []]
(re)starting scanner
2022-10-05 16:49:42,871 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0): ['org.bluez.Adapter1', {'Discovering': <dbus_fast.signature.Variant ('b', True)>}, []]
2022-10-05 16:49:42,871 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0): ['org.bluez.Adapter1', {'Discovering': <dbus_fast.signature.Variant ('b', True)>}, []]
2022-10-05 16:49:42,894 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.ObjectManager.InterfacesAdded (/): ['/org/bluez/hci0/dev_E4_5F_01_BA_05_2D', {'org.freedesktop.DBus.Introspectable': {}, 'org.bluez.Device1': {'Address': <dbus_fast.signature.Variant ('s', E4:5F:01:BA:05:2D)>, 'AddressType': <dbus_fast.signature.Variant ('s', public)>, 'Alias': <dbus_fast.signature.Variant ('s', E4-5F-01-BA-05-2D)>, 'Paired': <dbus_fast.signature.Variant ('b', False)>, 'Trusted': <dbus_fast.signature.Variant ('b', False)>, 'Blocked': <dbus_fast.signature.Variant ('b', False)>, 'LegacyPairing': <dbus_fast.signature.Variant ('b', False)>, 'RSSI': <dbus_fast.signature.Variant ('n', -65)>, 'Connected': <dbus_fast.signature.Variant ('b', False)>, 'UUIDs': <dbus_fast.signature.Variant ('as', [])>, 'Adapter': <dbus_fast.signature.Variant ('o', /org/bluez/hci0)>, 'ManufacturerData': <dbus_fast.signature.Variant ('a{qv}', {65535: <dbus_fast.signature.Variant ('ay', bytearray(b'\xbe\xac\x13\xb7\xcbV\x81ZH\xec\xa0\x1f0!\xabI\xa1U\x00\x00\x02\xe2\xc3\x01'))>})>, 'ServicesResolved': <dbus_fast.signature.Variant ('b', False)>}, 'org.freedesktop.DBus.Properties': {}}]
2022-10-05 16:49:42,894 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.ObjectManager.InterfacesAdded (/): ['/org/bluez/hci0/dev_E4_5F_01_BA_05_2D', {'org.freedesktop.DBus.Introspectable': {}, 'org.bluez.Device1': {'Address': <dbus_fast.signature.Variant ('s', E4:5F:01:BA:05:2D)>, 'AddressType': <dbus_fast.signature.Variant ('s', public)>, 'Alias': <dbus_fast.signature.Variant ('s', E4-5F-01-BA-05-2D)>, 'Paired': <dbus_fast.signature.Variant ('b', False)>, 'Trusted': <dbus_fast.signature.Variant ('b', False)>, 'Blocked': <dbus_fast.signature.Variant ('b', False)>, 'LegacyPairing': <dbus_fast.signature.Variant ('b', False)>, 'RSSI': <dbus_fast.signature.Variant ('n', -65)>, 'Connected': <dbus_fast.signature.Variant ('b', False)>, 'UUIDs': <dbus_fast.signature.Variant ('as', [])>, 'Adapter': <dbus_fast.signature.Variant ('o', /org/bluez/hci0)>, 'ManufacturerData': <dbus_fast.signature.Variant ('a{qv}', {65535: <dbus_fast.signature.Variant ('ay', bytearray(b'\xbe\xac\x13\xb7\xcbV\x81ZH\xec\xa0\x1f0!\xabI\xa1U\x00\x00\x02\xe2\xc3\x01'))>})>, 'ServicesResolved': <dbus_fast.signature.Variant ('b', False)>}, 'org.freedesktop.DBus.Properties': {}}]
2022-10-05 16:49:42,895 __main__ INFO: E4:5F:01:BA:05:2D: AdvertisementData(manufacturer_data={65535: b'\xbe\xac\x13\xb7\xcbV\x81ZH\xec\xa0\x1f0!\xabI\xa1U\x00\x00\x02\xe2\xc3\x01'})
2022-10-05 16:49:47,883 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0/dev_E4_5F_01_BA_05_2D): ['org.bluez.Device1', {}, ['RSSI']]
2022-10-05 16:49:47,883 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0/dev_E4_5F_01_BA_05_2D): ['org.bluez.Device1', {}, ['RSSI']]
2022-10-05 16:49:47,883 __main__ INFO: E4:5F:01:BA:05:2D: AdvertisementData(manufacturer_data={65535: b'\xbe\xac\x13\xb7\xcbV\x81ZH\xec\xa0\x1f0!\xabI\xa1U\x00\x00\x02\xe2\xc3\x01'})
2022-10-05 16:49:47,884 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.ObjectManager.InterfacesRemoved (/): ['/org/bluez/hci0/dev_E4_5F_01_BA_05_2D', ['org.freedesktop.DBus.Properties', 'org.freedesktop.DBus.Introspectable', 'org.bluez.Device1']]
2022-10-05 16:49:47,884 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.ObjectManager.InterfacesRemoved (/): ['/org/bluez/hci0/dev_E4_5F_01_BA_05_2D', ['org.freedesktop.DBus.Properties', 'org.freedesktop.DBus.Introspectable', 'org.bluez.Device1']]
2022-10-05 16:49:47,885 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0): ['org.bluez.Adapter1', {'Discovering': <dbus_fast.signature.Variant ('b', False)>}, []]
2022-10-05 16:49:47,885 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0): ['org.bluez.Adapter1', {'Discovering': <dbus_fast.signature.Variant ('b', False)>}, []]
(re)starting scanner
2022-10-05 16:49:47,897 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0): ['org.bluez.Adapter1', {'Discovering': <dbus_fast.signature.Variant ('b', True)>}, []]
2022-10-05 16:49:47,897 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0): ['org.bluez.Adapter1', {'Discovering': <dbus_fast.signature.Variant ('b', True)>}, []]
2022-10-05 16:49:47,906 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.ObjectManager.InterfacesAdded (/): ['/org/bluez/hci0/dev_E4_5F_01_BA_05_2D', {'org.freedesktop.DBus.Introspectable': {}, 'org.bluez.Device1': {'Address': <dbus_fast.signature.Variant ('s', E4:5F:01:BA:05:2D)>, 'AddressType': <dbus_fast.signature.Variant ('s', public)>, 'Alias': <dbus_fast.signature.Variant ('s', E4-5F-01-BA-05-2D)>, 'Paired': <dbus_fast.signature.Variant ('b', False)>, 'Trusted': <dbus_fast.signature.Variant ('b', False)>, 'Blocked': <dbus_fast.signature.Variant ('b', False)>, 'LegacyPairing': <dbus_fast.signature.Variant ('b', False)>, 'RSSI': <dbus_fast.signature.Variant ('n', -75)>, 'Connected': <dbus_fast.signature.Variant ('b', False)>, 'UUIDs': <dbus_fast.signature.Variant ('as', [])>, 'Adapter': <dbus_fast.signature.Variant ('o', /org/bluez/hci0)>, 'ManufacturerData': <dbus_fast.signature.Variant ('a{qv}', {65535: <dbus_fast.signature.Variant ('ay', bytearray(b'\xbe\xac\x13\xb7\xcbV\x81ZH\xec\xa0\x1f0!\xabI\xa1U\x00\x00\x02\xfb\xc3\x01'))>})>, 'ServicesResolved': <dbus_fast.signature.Variant ('b', False)>}, 'org.freedesktop.DBus.Properties': {}}]
2022-10-05 16:49:47,906 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.ObjectManager.InterfacesAdded (/): ['/org/bluez/hci0/dev_E4_5F_01_BA_05_2D', {'org.freedesktop.DBus.Introspectable': {}, 'org.bluez.Device1': {'Address': <dbus_fast.signature.Variant ('s', E4:5F:01:BA:05:2D)>, 'AddressType': <dbus_fast.signature.Variant ('s', public)>, 'Alias': <dbus_fast.signature.Variant ('s', E4-5F-01-BA-05-2D)>, 'Paired': <dbus_fast.signature.Variant ('b', False)>, 'Trusted': <dbus_fast.signature.Variant ('b', False)>, 'Blocked': <dbus_fast.signature.Variant ('b', False)>, 'LegacyPairing': <dbus_fast.signature.Variant ('b', False)>, 'RSSI': <dbus_fast.signature.Variant ('n', -75)>, 'Connected': <dbus_fast.signature.Variant ('b', False)>, 'UUIDs': <dbus_fast.signature.Variant ('as', [])>, 'Adapter': <dbus_fast.signature.Variant ('o', /org/bluez/hci0)>, 'ManufacturerData': <dbus_fast.signature.Variant ('a{qv}', {65535: <dbus_fast.signature.Variant ('ay', bytearray(b'\xbe\xac\x13\xb7\xcbV\x81ZH\xec\xa0\x1f0!\xabI\xa1U\x00\x00\x02\xfb\xc3\x01'))>})>, 'ServicesResolved': <dbus_fast.signature.Variant ('b', False)>}, 'org.freedesktop.DBus.Properties': {}}]
2022-10-05 16:49:47,907 __main__ INFO: E4:5F:01:BA:05:2D: AdvertisementData(manufacturer_data={65535: b'\xbe\xac\x13\xb7\xcbV\x81ZH\xec\xa0\x1f0!\xabI\xa1U\x00\x00\x02\xfb\xc3\x01'})
2022-10-05 16:49:52,905 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0/dev_E4_5F_01_BA_05_2D): ['org.bluez.Device1', {}, ['RSSI']]
2022-10-05 16:49:52,905 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0/dev_E4_5F_01_BA_05_2D): ['org.bluez.Device1', {}, ['RSSI']]
2022-10-05 16:49:52,905 __main__ INFO: E4:5F:01:BA:05:2D: AdvertisementData(manufacturer_data={65535: b'\xbe\xac\x13\xb7\xcbV\x81ZH\xec\xa0\x1f0!\xabI\xa1U\x00\x00\x02\xfb\xc3\x01'})
2022-10-05 16:49:52,906 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.ObjectManager.InterfacesRemoved (/): ['/org/bluez/hci0/dev_E4_5F_01_BA_05_2D', ['org.freedesktop.DBus.Properties', 'org.freedesktop.DBus.Introspectable', 'org.bluez.Device1']]
2022-10-05 16:49:52,906 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.ObjectManager.InterfacesRemoved (/): ['/org/bluez/hci0/dev_E4_5F_01_BA_05_2D', ['org.freedesktop.DBus.Properties', 'org.freedesktop.DBus.Introspectable', 'org.bluez.Device1']]
2022-10-05 16:49:52,906 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0): ['org.bluez.Adapter1', {'Discovering': <dbus_fast.signature.Variant ('b', False)>}, []]
2022-10-05 16:49:52,906 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0): ['org.bluez.Adapter1', {'Discovering': <dbus_fast.signature.Variant ('b', False)>}, []]
(re)starting scanner
2022-10-05 16:49:52,917 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0): ['org.bluez.Adapter1', {'Discovering': <dbus_fast.signature.Variant ('b', True)>}, []]
2022-10-05 16:49:52,917 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0): ['org.bluez.Adapter1', {'Discovering': <dbus_fast.signature.Variant ('b', True)>}, []]
2022-10-05 16:49:52,931 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.ObjectManager.InterfacesAdded (/): ['/org/bluez/hci0/dev_E4_5F_01_BA_05_2D', {'org.freedesktop.DBus.Introspectable': {}, 'org.bluez.Device1': {'Address': <dbus_fast.signature.Variant ('s', E4:5F:01:BA:05:2D)>, 'AddressType': <dbus_fast.signature.Variant ('s', public)>, 'Alias': <dbus_fast.signature.Variant ('s', E4-5F-01-BA-05-2D)>, 'Paired': <dbus_fast.signature.Variant ('b', False)>, 'Trusted': <dbus_fast.signature.Variant ('b', False)>, 'Blocked': <dbus_fast.signature.Variant ('b', False)>, 'LegacyPairing': <dbus_fast.signature.Variant ('b', False)>, 'RSSI': <dbus_fast.signature.Variant ('n', -70)>, 'Connected': <dbus_fast.signature.Variant ('b', False)>, 'UUIDs': <dbus_fast.signature.Variant ('as', [])>, 'Adapter': <dbus_fast.signature.Variant ('o', /org/bluez/hci0)>, 'ManufacturerData': <dbus_fast.signature.Variant ('a{qv}', {65535: <dbus_fast.signature.Variant ('ay', bytearray(b'\xbe\xac\x13\xb7\xcbV\x81ZH\xec\xa0\x1f0!\xabI\xa1U\x00\x00\x03\x14\xc3\x01'))>})>, 'ServicesResolved': <dbus_fast.signature.Variant ('b', False)>}, 'org.freedesktop.DBus.Properties': {}}]
2022-10-05 16:49:52,931 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.ObjectManager.InterfacesAdded (/): ['/org/bluez/hci0/dev_E4_5F_01_BA_05_2D', {'org.freedesktop.DBus.Introspectable': {}, 'org.bluez.Device1': {'Address': <dbus_fast.signature.Variant ('s', E4:5F:01:BA:05:2D)>, 'AddressType': <dbus_fast.signature.Variant ('s', public)>, 'Alias': <dbus_fast.signature.Variant ('s', E4-5F-01-BA-05-2D)>, 'Paired': <dbus_fast.signature.Variant ('b', False)>, 'Trusted': <dbus_fast.signature.Variant ('b', False)>, 'Blocked': <dbus_fast.signature.Variant ('b', False)>, 'LegacyPairing': <dbus_fast.signature.Variant ('b', False)>, 'RSSI': <dbus_fast.signature.Variant ('n', -70)>, 'Connected': <dbus_fast.signature.Variant ('b', False)>, 'UUIDs': <dbus_fast.signature.Variant ('as', [])>, 'Adapter': <dbus_fast.signature.Variant ('o', /org/bluez/hci0)>, 'ManufacturerData': <dbus_fast.signature.Variant ('a{qv}', {65535: <dbus_fast.signature.Variant ('ay', bytearray(b'\xbe\xac\x13\xb7\xcbV\x81ZH\xec\xa0\x1f0!\xabI\xa1U\x00\x00\x03\x14\xc3\x01'))>})>, 'ServicesResolved': <dbus_fast.signature.Variant ('b', False)>}, 'org.freedesktop.DBus.Properties': {}}]
2022-10-05 16:49:52,932 __main__ INFO: E4:5F:01:BA:05:2D: AdvertisementData(manufacturer_data={65535: b'\xbe\xac\x13\xb7\xcbV\x81ZH\xec\xa0\x1f0!\xabI\xa1U\x00\x00\x03\x14\xc3\x01'})
2022-10-05 16:49:57,930 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0/dev_E4_5F_01_BA_05_2D): ['org.bluez.Device1', {}, ['RSSI']]
2022-10-05 16:49:57,930 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0/dev_E4_5F_01_BA_05_2D): ['org.bluez.Device1', {}, ['RSSI']]
2022-10-05 16:49:57,931 __main__ INFO: E4:5F:01:BA:05:2D: AdvertisementData(manufacturer_data={65535: b'\xbe\xac\x13\xb7\xcbV\x81ZH\xec\xa0\x1f0!\xabI\xa1U\x00\x00\x03\x14\xc3\x01'})
2022-10-05 16:49:57,932 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.ObjectManager.InterfacesRemoved (/): ['/org/bluez/hci0/dev_E4_5F_01_BA_05_2D', ['org.freedesktop.DBus.Properties', 'org.freedesktop.DBus.Introspectable', 'org.bluez.Device1']]
2022-10-05 16:49:57,932 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.ObjectManager.InterfacesRemoved (/): ['/org/bluez/hci0/dev_E4_5F_01_BA_05_2D', ['org.freedesktop.DBus.Properties', 'org.freedesktop.DBus.Introspectable', 'org.bluez.Device1']]
2022-10-05 16:49:57,933 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0): ['org.bluez.Adapter1', {'Discovering': <dbus_fast.signature.Variant ('b', False)>}, []]
2022-10-05 16:49:57,933 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0): ['org.bluez.Adapter1', {'Discovering': <dbus_fast.signature.Variant ('b', False)>}, []]
(re)starting scanner
2022-10-05 16:49:57,945 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0): ['org.bluez.Adapter1', {'Discovering': <dbus_fast.signature.Variant ('b', True)>}, []]
2022-10-05 16:49:57,945 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0): ['org.bluez.Adapter1', {'Discovering': <dbus_fast.signature.Variant ('b', True)>}, []]
2022-10-05 16:49:57,971 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.ObjectManager.InterfacesAdded (/): ['/org/bluez/hci0/dev_E4_5F_01_BA_05_2D', {'org.freedesktop.DBus.Introspectable': {}, 'org.bluez.Device1': {'Address': <dbus_fast.signature.Variant ('s', E4:5F:01:BA:05:2D)>, 'AddressType': <dbus_fast.signature.Variant ('s', public)>, 'Alias': <dbus_fast.signature.Variant ('s', E4-5F-01-BA-05-2D)>, 'Paired': <dbus_fast.signature.Variant ('b', False)>, 'Trusted': <dbus_fast.signature.Variant ('b', False)>, 'Blocked': <dbus_fast.signature.Variant ('b', False)>, 'LegacyPairing': <dbus_fast.signature.Variant ('b', False)>, 'RSSI': <dbus_fast.signature.Variant ('n', -65)>, 'Connected': <dbus_fast.signature.Variant ('b', False)>, 'UUIDs': <dbus_fast.signature.Variant ('as', [])>, 'Adapter': <dbus_fast.signature.Variant ('o', /org/bluez/hci0)>, 'ManufacturerData': <dbus_fast.signature.Variant ('a{qv}', {65535: <dbus_fast.signature.Variant ('ay', bytearray(b'\xbe\xac\x13\xb7\xcbV\x81ZH\xec\xa0\x1f0!\xabI\xa1U\x00\x00\x03-\xc3\x01'))>})>, 'ServicesResolved': <dbus_fast.signature.Variant ('b', False)>}, 'org.freedesktop.DBus.Properties': {}}]
2022-10-05 16:49:57,971 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.ObjectManager.InterfacesAdded (/): ['/org/bluez/hci0/dev_E4_5F_01_BA_05_2D', {'org.freedesktop.DBus.Introspectable': {}, 'org.bluez.Device1': {'Address': <dbus_fast.signature.Variant ('s', E4:5F:01:BA:05:2D)>, 'AddressType': <dbus_fast.signature.Variant ('s', public)>, 'Alias': <dbus_fast.signature.Variant ('s', E4-5F-01-BA-05-2D)>, 'Paired': <dbus_fast.signature.Variant ('b', False)>, 'Trusted': <dbus_fast.signature.Variant ('b', False)>, 'Blocked': <dbus_fast.signature.Variant ('b', False)>, 'LegacyPairing': <dbus_fast.signature.Variant ('b', False)>, 'RSSI': <dbus_fast.signature.Variant ('n', -65)>, 'Connected': <dbus_fast.signature.Variant ('b', False)>, 'UUIDs': <dbus_fast.signature.Variant ('as', [])>, 'Adapter': <dbus_fast.signature.Variant ('o', /org/bluez/hci0)>, 'ManufacturerData': <dbus_fast.signature.Variant ('a{qv}', {65535: <dbus_fast.signature.Variant ('ay', bytearray(b'\xbe\xac\x13\xb7\xcbV\x81ZH\xec\xa0\x1f0!\xabI\xa1U\x00\x00\x03-\xc3\x01'))>})>, 'ServicesResolved': <dbus_fast.signature.Variant ('b', False)>}, 'org.freedesktop.DBus.Properties': {}}]
2022-10-05 16:49:57,972 __main__ INFO: E4:5F:01:BA:05:2D: AdvertisementData(manufacturer_data={65535: b'\xbe\xac\x13\xb7\xcbV\x81ZH\xec\xa0\x1f0!\xabI\xa1U\x00\x00\x03-\xc3\x01'})
2022-10-05 16:49:58,547 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0/dev_C4_7C_8D_6D_37_02): ['org.bluez.Device1', {'RSSI': <dbus_fast.signature.Variant ('n', -96)>, 'ServiceData': <dbus_fast.signature.Variant ('a{sv}', {'0000fe95-0000-1000-8000-00805f9b34fb': <dbus_fast.signature.Variant ('ay', bytearray(b'q \x98\x00^\x027m\x8d|\xc4\r\x04\x10\x02\xf1\x00'))>})>}, []]
2022-10-05 16:49:58,547 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0/dev_C4_7C_8D_6D_37_02): ['org.bluez.Device1', {'RSSI': <dbus_fast.signature.Variant ('n', -96)>, 'ServiceData': <dbus_fast.signature.Variant ('a{sv}', {'0000fe95-0000-1000-8000-00805f9b34fb': <dbus_fast.signature.Variant ('ay', bytearray(b'q \x98\x00^\x027m\x8d|\xc4\r\x04\x10\x02\xf1\x00'))>})>}, []]
2022-10-05 16:49:58,548 __main__ INFO: C4:7C:8D:6D:37:02: AdvertisementData(local_name='Flower care', service_data={'0000fe95-0000-1000-8000-00805f9b34fb': b'q \x98\x00^\x027m\x8d|\xc4\r\x04\x10\x02\xf1\x00'}, service_uuids=['0000fe95-0000-1000-8000-00805f9b34fb'])
2022-10-05 16:50:02,956 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0/dev_E4_5F_01_BA_05_2D): ['org.bluez.Device1', {}, ['RSSI']]
2022-10-05 16:50:02,956 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0/dev_E4_5F_01_BA_05_2D): ['org.bluez.Device1', {}, ['RSSI']]
2022-10-05 16:50:02,957 __main__ INFO: E4:5F:01:BA:05:2D: AdvertisementData(manufacturer_data={65535: b'\xbe\xac\x13\xb7\xcbV\x81ZH\xec\xa0\x1f0!\xabI\xa1U\x00\x00\x03-\xc3\x01'})
2022-10-05 16:50:02,958 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.ObjectManager.InterfacesRemoved (/): ['/org/bluez/hci0/dev_E4_5F_01_BA_05_2D', ['org.freedesktop.DBus.Properties', 'org.freedesktop.DBus.Introspectable', 'org.bluez.Device1']]
2022-10-05 16:50:02,958 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.ObjectManager.InterfacesRemoved (/): ['/org/bluez/hci0/dev_E4_5F_01_BA_05_2D', ['org.freedesktop.DBus.Properties', 'org.freedesktop.DBus.Introspectable', 'org.bluez.Device1']]
2022-10-05 16:50:02,959 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0/dev_C4_7C_8D_6D_37_02): ['org.bluez.Device1', {}, ['RSSI']]
2022-10-05 16:50:02,959 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0/dev_C4_7C_8D_6D_37_02): ['org.bluez.Device1', {}, ['RSSI']]
2022-10-05 16:50:02,960 __main__ INFO: C4:7C:8D:6D:37:02: AdvertisementData(local_name='Flower care', service_data={'0000fe95-0000-1000-8000-00805f9b34fb': b'q \x98\x00^\x027m\x8d|\xc4\r\x04\x10\x02\xf1\x00'}, service_uuids=['0000fe95-0000-1000-8000-00805f9b34fb'])
2022-10-05 16:50:02,960 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0): ['org.bluez.Adapter1', {'Discovering': <dbus_fast.signature.Variant ('b', False)>}, []]
2022-10-05 16:50:02,960 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0): ['org.bluez.Adapter1', {'Discovering': <dbus_fast.signature.Variant ('b', False)>}, []]
(re)starting scanner
2022-10-05 16:50:02,973 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0): ['org.bluez.Adapter1', {'Discovering': <dbus_fast.signature.Variant ('b', True)>}, []]
2022-10-05 16:50:02,973 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0): ['org.bluez.Adapter1', {'Discovering': <dbus_fast.signature.Variant ('b', True)>}, []]
2022-10-05 16:50:02,994 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.ObjectManager.InterfacesAdded (/): ['/org/bluez/hci0/dev_E4_5F_01_BA_05_2D', {'org.freedesktop.DBus.Introspectable': {}, 'org.bluez.Device1': {'Address': <dbus_fast.signature.Variant ('s', E4:5F:01:BA:05:2D)>, 'AddressType': <dbus_fast.signature.Variant ('s', public)>, 'Alias': <dbus_fast.signature.Variant ('s', E4-5F-01-BA-05-2D)>, 'Paired': <dbus_fast.signature.Variant ('b', False)>, 'Trusted': <dbus_fast.signature.Variant ('b', False)>, 'Blocked': <dbus_fast.signature.Variant ('b', False)>, 'LegacyPairing': <dbus_fast.signature.Variant ('b', False)>, 'RSSI': <dbus_fast.signature.Variant ('n', -70)>, 'Connected': <dbus_fast.signature.Variant ('b', False)>, 'UUIDs': <dbus_fast.signature.Variant ('as', [])>, 'Adapter': <dbus_fast.signature.Variant ('o', /org/bluez/hci0)>, 'ManufacturerData': <dbus_fast.signature.Variant ('a{qv}', {65535: <dbus_fast.signature.Variant ('ay', bytearray(b'\xbe\xac\x13\xb7\xcbV\x81ZH\xec\xa0\x1f0!\xabI\xa1U\x00\x00\x03F\xc3\x01'))>})>, 'ServicesResolved': <dbus_fast.signature.Variant ('b', False)>}, 'org.freedesktop.DBus.Properties': {}}]
2022-10-05 16:50:02,994 bleak.backends.bluezdbus.manager DEBUG: received D-Bus signal: org.freedesktop.DBus.ObjectManager.InterfacesAdded (/): ['/org/bluez/hci0/dev_E4_5F_01_BA_05_2D', {'org.freedesktop.DBus.Introspectable': {}, 'org.bluez.Device1': {'Address': <dbus_fast.signature.Variant ('s', E4:5F:01:BA:05:2D)>, 'AddressType': <dbus_fast.signature.Variant ('s', public)>, 'Alias': <dbus_fast.signature.Variant ('s', E4-5F-01-BA-05-2D)>, 'Paired': <dbus_fast.signature.Variant ('b', False)>, 'Trusted': <dbus_fast.signature.Variant ('b', False)>, 'Blocked': <dbus_fast.signature.Variant ('b', False)>, 'LegacyPairing': <dbus_fast.signature.Variant ('b', False)>, 'RSSI': <dbus_fast.signature.Variant ('n', -70)>, 'Connected': <dbus_fast.signature.Variant ('b', False)>, 'UUIDs': <dbus_fast.signature.Variant ('as', [])>, 'Adapter': <dbus_fast.signature.Variant ('o', /org/bluez/hci0)>, 'ManufacturerData': <dbus_fast.signature.Variant ('a{qv}', {65535: <dbus_fast.signature.Variant ('ay', bytearray(b'\xbe\xac\x13\xb7\xcbV\x81ZH\xec\xa0\x1f0!\xabI\xa1U\x00\x00\x03F\xc3\x01'))>})>, 'ServicesResolved': <dbus_fast.signature.Variant ('b', False)>}, 'org.freedesktop.DBus.Properties': {}}]
2022-10-05 16:50:02,996 __main__ INFO: E4:5F:01:BA:05:2D: AdvertisementData(manufacturer_data={65535: b'\xbe\xac\x13\xb7\xcbV\x81ZH\xec\xa0\x1f0!\xabI\xa1U\x00\x00\x03F\xc3\x01'})

@dlech
Copy link
Collaborator

dlech commented Oct 5, 2022

I'm not sure why each d-bus signal is being logged twice, but Bleak is only receiving a few update from BlueZ. So the next thing to check would be to log Bluetooth packets with Wireshark to see if the adapter is actually receiving advertisements more frequently or not.

@capiman
Copy link
Author

capiman commented Oct 5, 2022

Would hcidump also work?

@dlech
Copy link
Collaborator

dlech commented Oct 5, 2022

yes

@capiman
Copy link
Author

capiman commented Oct 5, 2022

bleak_lescan.zip

@capiman
Copy link
Author

capiman commented Oct 5, 2022

It contains 4 files:
1 bleak log file, suitable hcidump trace (slow)
1 lescan log output, suitable hcidump trace (fast)

I see hcidump also has only less activity, compared to fast case.

@capiman
Copy link
Author

capiman commented Oct 5, 2022

Slow:
< HCI Command: LE Set Scan Enable (0x08|0x000c) plen 2
value 0x01 (scanning enabled)
filter duplicates 0x01 (enabled)

Fast:
< HCI Command: LE Set Scan Enable (0x08|0x000c) plen 2
value 0x01 (scanning enabled)
filter duplicates 0x00 (disabled)

Can I somehow tell bleak to not filter duplicates?

@dlech
Copy link
Collaborator

dlech commented Oct 5, 2022

Yes, you can add bluez=dict(filters=dict(DuplicateData=True)) to the BleakScanner args.

It looks like we need to fix the docs to show the members of BlueZDiscoveryFilters dictionary.

@capiman
Copy link
Author

capiman commented Oct 5, 2022

Many thanks for your fast help! I must say, just using bleak for a few hours.

Is it just by adding it in this way?

scanner = BleakScanner(simple_callback, service_uuids, bluez=dict(filters=dict(DuplicateData=True)))

Or

scanner = BleakScanner(simple_callback, service_uuids, "active", bluez=dict(filters=dict(DuplicateData=True)))

Or

scanner = BleakScanner(simple_callback, bluez=dict(filters=dict(DuplicateData=True)))

But all three variants don't seem to fix my problem. Must it be different?

@dlech
Copy link
Collaborator

dlech commented Oct 5, 2022

I think DuplicateData needs to be False instead of True.

EDIT: nope, I read that wrong. It should be set to True. Bleak overrides BlueZ's default of True and uses False by default.

https://github.com/bluez/bluez/blob/master/doc/adapter-api.txt#L112

@capiman
Copy link
Author

capiman commented Oct 5, 2022

No matter if I use True or False, the parameter "filter duplicates" remains 0x01 (enabled).
There is a "filter duplicates" with value 0x00, when Python app is closed, as well as scanning disabled.

@dlech
Copy link
Collaborator

dlech commented Oct 5, 2022

What is printed if you add print(scanner._backend._filters) after scanner.start()?

@capiman
Copy link
Author

capiman commented Oct 5, 2022

test@test:$ grep Duplicate detection.py
scanner = BleakScanner(simple_callback, bluez=dict(filters=dict(DuplicateData=True)))
test@test:$ python3 detection.py
{'Transport': <dbus_fast.signature.Variant ('s', le)>, 'DuplicateData': <dbus_fast.signature.Variant ('b', True)>}
(re)starting scanner

When I change to False, printed text also changes to False.

@capiman
Copy link
Author

capiman commented Oct 5, 2022

@dlech
Copy link
Collaborator

dlech commented Oct 5, 2022

No, that is the code for blueoothctl. The D-Bus API for the adapter is handled in src/adapter.c.

@dlech
Copy link
Collaborator

dlech commented Oct 5, 2022

Could be related to #235

@capiman
Copy link
Author

capiman commented Oct 5, 2022

I can confirm, that the (bad) workaround from

#235 (comment)

is working also on my side. I get fast advertisement messages for a short time, till it gets slow again.
It is by shooting down current action and starting a new one with different parameters...

@dlech
Copy link
Collaborator

dlech commented Oct 5, 2022

I found torvalds/linux@abfeea4 that indicates the behavoir was changed in Linux kernel 5.17 to not filter duplicates by default. So maybe upgrading the kernel is a possibility?

@capiman
Copy link
Author

capiman commented Oct 5, 2022

We are using a Raspberry Pi. Upgrading the kernel is not so easy. We get it as binary only.
So you think, trying to compile and install a newer BlueZ would not help, if a change in the kernel was needed.

I think I must sleep over it (already late evening here in Germany) and think tomorrow how it can be solved.

I would like to send you a BIG THANK YOU for all your help!

@dlech
Copy link
Collaborator

dlech commented Oct 5, 2022

I tried it on a newer kernel (5.17 and 5.19) and it turns out that it only takes effect if an advertisement watcher is in place. So based on this, I was able to come up with a different workaround. If you enable experimental features in bluetoothd and add an advertisement watcher (currently this is how "passive" advertising is implemented in Bleak) then active scanning will disable the duplicate filter when started.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3rd party issue The issue is with the Bluetooth stack, the BLE device, or other 3rd party code not with Bleak itself Backend: BlueZ Issues and PRs relating to the BlueZ backend
Projects
None yet
Development

No branches or pull requests

2 participants