3 from __future__ import absolute_import, print_function, unicode_literals
5 from optparse import OptionParser, make_option
11 bus = dbus.SystemBus()
14 make_option("-i", "--device", action="store",
15 type="string", dest="dev_id"),
17 parser = OptionParser(option_list=option_list)
19 (options, args) = parser.parse_args()
21 adapter_path = bluezutils.find_adapter(options.dev_id).object_path
22 adapter = dbus.Interface(bus.get_object("org.bluez", adapter_path),
23 "org.freedesktop.DBus.Properties")
26 print("Usage: %s <command>" % (sys.argv[0]))
31 print(" alias [alias]")
32 print(" powered [on/off]")
33 print(" pairable [on/off]")
34 print(" pairabletimeout [timeout]")
35 print(" discoverable [on/off]")
36 print(" discoverabletimeout [timeout]")
40 if (args[0] == "address"):
41 addr = adapter.Get("org.bluez.Adapter1", "Address")
45 if (args[0] == "name"):
46 name = adapter.Get("org.bluez.Adapter1", "Name")
50 if (args[0] == "alias"):
52 alias = adapter.Get("org.bluez.Adapter1", "Alias")
55 adapter.Set("org.bluez.Adapter1", "Alias", args[1])
58 if (args[0] == "list"):
60 om = dbus.Interface(bus.get_object("org.bluez", "/"),
61 "org.freedesktop.DBus.ObjectManager")
62 objects = om.GetManagedObjects()
63 for path, interfaces in objects.iteritems():
64 if "org.bluez.Adapter1" not in interfaces:
67 print(" [ %s ]" % (path))
69 props = interfaces["org.bluez.Adapter1"]
71 for (key, value) in props.items():
73 print(" %s = 0x%06x" % (key, value))
75 print(" %s = %s" % (key, value))
79 if (args[0] == "powered"):
81 powered = adapter.Get("org.bluez.Adapter1", "Powered")
85 value = dbus.Boolean(1)
86 elif (args[1] == "off"):
87 value = dbus.Boolean(0)
89 value = dbus.Boolean(args[1])
90 adapter.Set("org.bluez.Adapter1", "Powered", value)
93 if (args[0] == "pairable"):
95 pairable = adapter.Get("org.bluez.Adapter1", "Pairable")
99 value = dbus.Boolean(1)
100 elif (args[1] == "off"):
101 value = dbus.Boolean(0)
103 value = dbus.Boolean(args[1])
104 adapter.Set("org.bluez.Adapter1", "Pairable", value)
107 if (args[0] == "pairabletimeout"):
109 pt = adapter.Get("org.bluez.Adapter1", "PairableTimeout")
112 timeout = dbus.UInt32(args[1])
113 adapter.Set("org.bluez.Adapter1", "PairableTimeout", timeout)
116 if (args[0] == "discoverable"):
118 discoverable = adapter.Get("org.bluez.Adapter1", "Discoverable")
121 if (args[1] == "on"):
122 value = dbus.Boolean(1)
123 elif (args[1] == "off"):
124 value = dbus.Boolean(0)
126 value = dbus.Boolean(args[1])
127 adapter.Set("org.bluez.Adapter1", "Discoverable", value)
130 if (args[0] == "discoverabletimeout"):
132 dt = adapter.Get("org.bluez.Adapter1", "DiscoverableTimeout")
135 to = dbus.UInt32(args[1])
136 adapter.Set("org.bluez.Adapter1", "DiscoverableTimeout", to)
139 if (args[0] == "discovering"):
140 discovering = adapter.Get("org.bluez.Adapter1", "Discovering")
144 print("Unknown command")