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

remove_all_devices raises a DBusException #48

Open
ashesman opened this issue Aug 16, 2019 · 4 comments
Open

remove_all_devices raises a DBusException #48

ashesman opened this issue Aug 16, 2019 · 4 comments

Comments

@ashesman
Copy link

A DBusException can be propagated out of remove_all_devices. I would expect that the user would never see DBus exceptions as are platform specific...

self._manager.remove_all_devices()
File "/usr/local/lib/python3.6/dist-packages/gatt/gatt_linux.py", line 221, in remove_all_devices
self._adapter.RemoveDevice(path)
File "/usr/lib/python3/dist-packages/dbus/proxies.py", line 70, in call
return self._proxy_method(*args, **keywords)
File "/usr/lib/python3/dist-packages/dbus/proxies.py", line 145, in call
**keywords)
File "/usr/lib/python3/dist-packages/dbus/connection.py", line 651, in call_blocking
message, timeout)
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.UnknownMethod: Method "RemoveDevice" with signature "s" on interface "org.bluez.Adapter1" doesn't exist

@larsblumberg
Copy link
Contributor

This error can happen when your bluez library is too old.
Which version are you using?

@ashesman
Copy link
Author

I am using V5.48. My thoughts on this were that a DBusException should never propagate as far as user code. Should be caught inside the library.

@larsblumberg
Copy link
Contributor

larsblumberg commented Aug 19, 2019

Exactly, user code should not receive such exceptions - with that thought in mind I wrote this library. I am surprised you're getting this error, that's why I was asking for your bluez version.
I wrote this library when bluez 4.43 was the latest version but I can only hardly imagine that they removed the "RemoveDevice" from the bluez API in the version you're using.

@ashesman
Copy link
Author

Over the past few weeks, I have received a heap of exceptions due to missing attributes. Mostly using the Adafruit BluefruitLE library. That was the reason I switched to this library, which has been 100 time more robust! RemoveDevice is there normally and works fine, just at that point in time it decided not to be!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants