#!/usr/bin/python import dbus bus = dbus.SystemBus() def extract_uuids(uuid_list): list = '' for uuid in uuid_list: if (uuid.endswith('-0000-1000-8000-00805f9b34fb')): if (uuid.startswith('0000')): val = '0x' + uuid[4:8] else: val = '0x' + uuid[0:8] else: val = str(uuid) list = list + val + ' ' return list manager = dbus.Interface(bus.get_object('org.bluez', '/'), 'org.bluez.Manager') adapter_list = manager.ListAdapters() for i in adapter_list: adapter = dbus.Interface(bus.get_object('org.bluez', i), 'org.bluez.Adapter') print '[ ' + i + ' ]' properties = adapter.GetProperties() for key in properties.keys(): print ' %s = %s' % (key, properties[key]) device_list = adapter.ListDevices() for n in device_list: device = dbus.Interface(bus.get_object('org.bluez', n), 'org.bluez.Device') print ' [ ' + n + ' ]' properties = device.GetProperties() for key in properties.keys(): value = properties[key] if (key == 'UUID' or key == 'UUIDs'): list = extract_uuids(value) print ' %s = %s' % (key, list) elif (key == "Class"): print ' %s = 0x%06x' % (key, value) else: print ' %s = %s' % (key, value) print