# Bluetooth Roaming Adapter

This extension adds support for accessing Bluetooth devices from any other configured adapter via a virtual adapter.

# Supported Things

It defines the following bridge type:

Bridge Type ID Description
roaming A virtual Bluetooth adapter that interacts with Bluetooth devices through their nearest Bluetooth adapter.

# Channels

Devices which use a roaming adapter as their bridge also gain the following channels:

Channel ID Item Type Description
adapter-uid String The thingUID of the adapter that is nearest to this device
adapter-location String The nearest adapter's Location value as specified in the adapter's thing properties

# Discovery

Roaming adapters cannot be discovered, they can only be created manually.

# Bridge Configuration

The Roaming bridge has an optional parameter groupUIDs that configures which Bluetooth adapters this roaming bridge will be monitored for the purpose of roaming devices. groupUIDs must be formatted as a comma separated list of Bluetooth adapter thing UID values. If the groupUIDs parameter is not specified or left empty then the Roaming adapter will track devices across all other Bluetooth adapters.

Additionally, the Roaming bridge has the parameter backgroundDiscovery that can be set to true or false. When set to true, a device discovered on any other adapter will have a corresponding roaming discovery. The backgroundDiscovery parameter is true by default.

# Example

This is how a Roaming adapter can be configured textually in a *.things file:

Bridge bluetooth:roaming:ctrl "BLE Roaming Adapter" [ backgroundDiscovery=true]
Bridge bluetooth:roaming:other "BLE Roaming Adapter" [ backgroundDiscovery=true, groupUIDs="bluetooth:bluez:hci0,bluetooth:bluez:hci1"]