rhyst / linak-controller

A Python script to control Linak standing desks.
MIT License
346 stars 51 forks source link

Bleak connection issue from OrangePi at current version #61

Closed kacpal closed 1 year ago

kacpal commented 1 year ago

Hello,

I've had an issue connecting to the Idasen desk from orange pi zero 2. It was identical to the problem described in #50. I solved the problem by changing the bleak version to 0.16.0. If there's no reason to keep it at 0.14.2, I would suggest updating this dependency.

If you'd like to investigate further, here are logs from bleak (0.14.2) when the problem occurs:

2023-02-03 20:09:59,638 bleak.backends.bluezdbus.client DEBUG: Connecting to device @ D1:C4:1A:04:ED:72 with hci0
2023-02-03 20:09:59,687 bleak.backends.bluezdbus.scanner DEBUG: cached devices: {'/org/bluez/hci0/dev_D1_C4_1A_04_ED_72': {'Address': 'D1:C4:1A:04:ED:72', 'AddressType': 'random', 'Name': 'Desk 0786', 'Alias': 'Desk 0786', 'Paired': True, 'Trusted': False, 'Blocked': False, 'LegacyPairing': False, 'Connected': False, 'UUIDs': ['00001800-0000-1000-8000-00805f9b34fb', '00001801-0000-1000-8000-00805f9b34fb', '99fa0001-338a-1024-8a49-009c0215f78a', '99fa0010-338a-1024-8a49-009c0215f78a', '99fa0020-338a-1024-8a49-009c0215f78a', '99fa0030-338a-1024-8a49-009c0215f78a'], 'Adapter': '/org/bluez/hci0', 'ServicesResolved': False}}
2023-02-03 20:09:59,712 bleak.backends.bluezdbus.scanner DEBUG: received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0): ['org.bluez.Adapter1', {'Discovering': <dbus_next.signature.Variant ('b', True)>}, []]
2023-02-03 20:09:59,745 bleak.backends.bluezdbus.scanner DEBUG: received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0/dev_D1_C4_1A_04_ED_72): ['org.bluez.Device1', {'RSSI': <dbus_next.signature.Variant ('n', -68)>, 'TxPower': <dbus_next.signature.Variant ('n', -8)>}, []]
2023-02-03 20:09:59,753 bleak.backends.bluezdbus.scanner DEBUG: received D-Bus signal: org.freedesktop.DBus.ObjectManager.InterfacesAdded (/): ['/org/bluez/hci0/dev_53_44_D3_03_B6_46', {'org.freedesktop.DBus.Introspectable': {}, 'org.bluez.Device1': {'Address': <dbus_next.signature.Variant ('s', 53:44:D3:03:B6:46)>, 'AddressType': <dbus_next.signature.Variant ('s', random)>, 'Alias': <dbus_next.signature.Variant ('s', 53-44-D3-03-B6-46)>, 'Paired': <dbus_next.signature.Variant ('b', False)>, 'Trusted': <dbus_next.signature.Variant ('b', False)>, 'Blocked': <dbus_next.signature.Variant ('b', False)>, 'LegacyPairing': <dbus_next.signature.Variant ('b', False)>, 'RSSI': <dbus_next.signature.Variant ('n', -57)>, 'Connected': <dbus_next.signature.Variant ('b', False)>, 'UUIDs': <dbus_next.signature.Variant ('as', [])>, 'Adapter': <dbus_next.signature.Variant ('o', /org/bluez/hci0)>, 'ManufacturerData': <dbus_next.signature.Variant ('a{qv}', {6: <dbus_next.signature.Variant ('ay', b'\x01\t \x02j\xb9?\xaf\xf3[U=\x87Q:\x0f\xcf\xac\x02\xa6\xf3{^p\xfdaC')>})>, 'ServicesResolved': <dbus_next.signature.Variant ('b', False)>}, 'org.freedesktop.DBus.Properties': {}}]
2023-02-03 20:09:59,762 bleak.backends.bluezdbus.scanner DEBUG: received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0/dev_53_44_D3_03_B6_46): ['org.bluez.Device1', {}, ['RSSI']]
2023-02-03 20:09:59,765 bleak.backends.bluezdbus.scanner DEBUG: received D-Bus signal: org.freedesktop.DBus.ObjectManager.InterfacesRemoved (/): ['/org/bluez/hci0/dev_53_44_D3_03_B6_46', ['org.freedesktop.DBus.Properties', 'org.freedesktop.DBus.Introspectable', 'org.bluez.Device1']]
2023-02-03 20:09:59,767 bleak.backends.bluezdbus.scanner DEBUG: received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0/dev_D1_C4_1A_04_ED_72): ['org.bluez.Device1', {}, ['TxPower', 'RSSI']]
2023-02-03 20:09:59,769 bleak.backends.bluezdbus.scanner DEBUG: received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0): ['org.bluez.Adapter1', {'Discovering': <dbus_next.signature.Variant ('b', False)>}, []]
2023-02-03 20:10:00,110 bleak.backends.bluezdbus.client DEBUG: received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0/dev_D1_C4_1A_04_ED_72): ['org.bluez.Device1', {'Connected': <dbus_next.signature.Variant ('b', True)>}, []]
2023-02-03 20:10:00,593 bleak.backends.bluezdbus.client DEBUG: Connection successful (/org/bluez/hci0/dev_D1_C4_1A_04_ED_72)
2023-02-03 20:10:00,594 bleak.backends.bluezdbus.client DEBUG: Waiting for ServicesResolved (/org/bluez/hci0/dev_D1_C4_1A_04_ED_72)
2023-02-03 20:10:05,602 bleak.backends.bluezdbus.client DEBUG: _cleanup_all(/org/bluez/hci0/dev_D1_C4_1A_04_ED_72)

Something unexpected went wrong:

I couldn't find anything useful. Seems like it's connecting and throws an error for no reason. Also, every time after running this script, I can see that I am connected to the desk, despite the error (I am not connected before running it).

I believe this issue might be related. I've modified a code to show a traceback and had a very similar error, as described in the issue, in await asyncio.wait_for(self._services_resolved_event.wait(), 5).

rhyst commented 1 year ago

2.0.2 is now published which updates bleak. Closing this issue but feel free to reopen if the problem persists.