#!/usr/bin/python import sys, re import dbus from optparse import OptionParser parser = OptionParser() parser.add_option("-i", "--device", action="store", type="string", dest="dev_id") (options, args) = parser.parse_args() bus = dbus.SystemBus() manager = dbus.Interface(bus.get_object("org.bluez", "/"), "org.bluez.Manager") if options.dev_id: adapter_path = manager.FindAdapter(options.dev_id) else: adapter_path = manager.DefaultAdapter() adapter = dbus.Interface(bus.get_object("org.bluez", adapter_path), "org.bluez.Adapter") for path in adapter.ListDevices(): device = dbus.Interface(bus.get_object("org.bluez", path), "org.bluez.Device") properties = device.GetProperties() if properties['Connected']: print "Disconnecting %s [%s]..." % (properties['Address'], properties['Name']), try: device.Disconnect() print "done" except Exception, e: print "error (%s)" % str(e)