diff --git a/Makefile.tools b/Makefile.tools
index 1cd8c9e..91599c6 100644
--- a/Makefile.tools
+++ b/Makefile.tools
test/test-device test/test-service test/test-serial \
test/test-telephony test/test-network test/simple-agent \
test/simple-service test/simple-endpoint test/test-audio \
- test/test-input test/test-attrib test/test-sap-server \
- test/test-oob test/service-record.dtd test/service-did.xml \
- test/service-spp.xml test/service-opp.xml test/service-ftp.xml
+ test/test-input test/test-attrib test/test-proximity \
+ test/test-sap-server test/test-oob test/service-record.dtd \
+ test/service-did.xml test/service-spp.xml \
+ test/service-opp.xml test/service-ftp.xml
if HIDD
diff --git a/test/test-proximity b/test/test-proximity
new file mode 100755
index 0000000..04faf4e
--- /dev/null
+++ b/test/test-proximity
+#!/usr/bin/python
+
+'''
+Proximity Monitor test script
+'''
+
+import gobject
+
+import sys
+import dbus
+import dbus.mainloop.glib
+from optparse import OptionParser, make_option
+
+def property_changed(name, value):
+
+ print "PropertyChanged('%s', '%s')" % (name, value)
+ mainloop.quit()
+
+if __name__ == "__main__":
+ dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
+
+ bus = dbus.SystemBus()
+
+ manager = dbus.Interface(bus.get_object("org.bluez", "/"),
+ "org.bluez.Manager")
+
+ option_list = [
+ make_option("-i", "--adapter", action="store",
+ type="string", dest="dev_id"),
+ make_option("-b", "--device", action="store",
+ type="string", dest="address"),
+
+ ]
+ parser = OptionParser(option_list=option_list)
+
+ (options, args) = parser.parse_args()
+
+ 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")
+
+ if (len(args) < 1):
+ print "Usage: %s <command>" % (sys.argv[0])
+ print ""
+ print " LinkLossAlertLevel <none|mild|high>"
+ sys.exit(1)
+
+ device_path = adapter.FindDevice(options.address)
+
+ bus.add_signal_receiver(property_changed, bus_name="org.bluez",
+ dbus_interface="org.bluez.Proximity",
+ signal_name="PropertyChanged")
+
+ proximity = dbus.Interface(bus.get_object("org.bluez",
+ device_path), "org.bluez.Proximity")
+
+ print "Proximity SetProperty('%s', '%s')" % (args[0], args[1])
+ proximity.SetProperty(args[0], args[1])
+
+ mainloop = gobject.MainLoop()
+ mainloop.run()