BlueZ D-Bus Adapter API description *********************************** Adapter hierarchy ================= Service org.bluez Interface org.bluez.Adapter1 Object path [variable prefix]/{hci0,hci1,...} Methods void StartDiscovery() This method starts the device discovery session. This includes an inquiry procedure and remote device name resolving. Use StopDiscovery to release the sessions acquired. This process will start creating Device objects as new devices are discovered. During discovery RSSI delta-threshold is imposed. Possible errors: org.bluez.Error.NotReady org.bluez.Error.Failed void StopDiscovery() This method will cancel any previous StartDiscovery transaction. Note that a discovery procedure is shared between all discovery sessions thus calling StopDiscovery will only release a single session. Possible errors: org.bluez.Error.NotReady org.bluez.Error.Failed org.bluez.Error.NotAuthorized void RemoveDevice(object device) This removes the remote device object at the given path. It will remove also the pairing information. Possible errors: org.bluez.Error.InvalidArguments org.bluez.Error.Failed void SetDiscoveryFilter(dict filter) [Experimental] This method sets the device discovery filter for the caller. When this method is called with no filter parameter, filter is removed. Parameters that may be set in the filter dictionary include the following: array{string} UUIDs : filtered service UUIDs int16 RSSI : RSSI threshold value uint16 Pathloss : Pathloss threshold value string Transport : type of scan to run When a remote device is found that advertises any UUID from UUIDs, it will be reported if: - Pathloss and RSSI are both empty, - only Pathloss param is set, device advertise TX pwer, and computed pathloss is less than Pathloss param, - only RSSI param is set, and received RSSI is higher than RSSI param, Transport parameter determines the type of scan: "auto" - interleaved scan, default value "bredr" - BR/EDR inquiry "le" - LE scan only If "le" or "bredr" Transport is requested, and the controller doesn't support it, org.bluez.Error.Failed error will be returned. If "auto" transport is requested, scan will use LE, BREDR, or both, depending on what's currently enabled on the controller. When discovery filter is set, Device objects will be created as new devices with matching criteria are discovered regardless of they are connectable or discoverable which enables listening to non-connectable and non-discoverable devices. PropertiesChanged signals will be emitted for already existing Device objects, with updated RSSI value. If one or more discovery filters have been set, the RSSI delta-threshold, that is imposed by StartDiscovery by default, will not be applied. When multiple clients call SetDiscoveryFilter, their filters are internally merged, and notifications about new devices are sent to all clients. Therefore, each client must check that device updates actually match its filter. When SetDiscoveryFilter is called multiple times by the same client, last filter passed will be active for given client. SetDiscoveryFilter can be called before StartDiscovery. It is useful when client will create first discovery session, to ensure that proper scan will be started right after call to StartDiscovery. Possible errors: org.bluez.Error.NotReady org.bluez.Error.NotSupported org.bluez.Error.Failed Properties string Address [readonly] The Bluetooth device address. string Name [readonly] The Bluetooth system name (pretty hostname). This property is either a static system default or controlled by an external daemon providing access to the pretty hostname configuration. string Alias [readwrite] The Bluetooth friendly name. This value can be changed. In case no alias is set, it will return the system provided name. Setting an empty string as alias will convert it back to the system provided name. When resetting the alias with an empty string, the property will default back to system name. On a well configured system, this property never needs to be changed since it defaults to the system name and provides the pretty hostname. Only if the local name needs to be different from the pretty hostname, this property should be used as last resort. uint32 Class [readonly] The Bluetooth class of device. This property represents the value that is either automatically configured by DMI/ACPI information or provided as static configuration. boolean Powered [readwrite] Switch an adapter on or off. This will also set the appropriate connectable state of the controller. The value of this property is not persistent. After restart or unplugging of the adapter it will reset back to false. boolean Discoverable [readwrite] Switch an adapter to discoverable or non-discoverable to either make it visible or hide it. This is a global setting and should only be used by the settings application. If the DiscoverableTimeout is set to a non-zero value then the system will set this value back to false after the timer expired. In case the adapter is switched off, setting this value will fail. When changing the Powered property the new state of this property will be updated via a PropertiesChanged signal. For any new adapter this settings defaults to false. boolean Pairable [readwrite] Switch an adapter to pairable or non-pairable. This is a global setting and should only be used by the settings application. Note that this property only affects incoming pairing requests. For any new adapter this settings defaults to true. uint32 PairableTimeout [readwrite] The pairable timeout in seconds. A value of zero means that the timeout is disabled and it will stay in pairable mode forever. The default value for pairable timeout should be disabled (value 0). uint32 DiscoverableTimeout [readwrite] The discoverable timeout in seconds. A value of zero means that the timeout is disabled and it will stay in discoverable/limited mode forever. The default value for the discoverable timeout should be 180 seconds (3 minutes). boolean Discovering [readonly] Indicates that a device discovery procedure is active. array{string} UUIDs [readonly] List of 128-bit UUIDs that represents the available local services. string Modalias [readonly, optional] Local Device ID information in modalias format used by the kernel and udev.