# Bluetooth Service ## Overview Bluetooth service uses the respective BlueZ package to connect to bluetooth devices ## Verbs | Name | Description | JSON Response | |--------------------|---------------------------------------------------------|-------------------------------------------------------------------------| | subscribe | subscribe to bluetooth events | *Request:* {"value": "device_changes"} | | unsubscribe | unsubscribe to bluetooth events | *Request:* {"value": "device_changes"} | | managed_objects | retrieve managed bluetooth devices | see managed_objects verb section | | adapter_state | retrieve or change adapter scan settings | see adapter_state verb section | | default_adapter | retrieve or change default adapter setting | *Request:* {"adapter": "hci1"} | | avrcp_controls | avrcp controls for MediaPlayer1 playback | see avrcp_controls verb section | | connect | connect to already paired device | see connect/disconnect verb section | | disconnect | disconnect to already connected device | see connect/disconnect verb section | | pair | initialize a pairing request | *Request:* {"device":"dev_88_0F_10_96_D3_20"} | | cancel_pairing | cancel an outgoing pair request | | | confirm_pairing | confirm incoming/outgoing bluetooth pairing pincode | *Request:* {"pincode": 31415} | | remove_device | remove already paired device | *Request:* {"device": "dev_88_0F_10_96_D3_20"} | ### managed_objects verb This verb allows an client to get initial paired devices, and discovered unpaired devices before subscriptio to *devices_changed* event.
{ "response": { "adapters": [ { "name": "hci0", "properties": { "address": "00:1A:7D:DA:71:0F", "powered": true, "discoverable": true, "discoverabletimeout": 180, "pairable": true, "pairabletimeout": 0, "discovering": true, "uuids": [ "00001112-0000-1000-8000-00805f9b34fb", "00001801-0000-1000-8000-00805f9b34fb", "0000110e-0000-1000-8000-00805f9b34fb", "00001800-0000-1000-8000-00805f9b34fb", "00001200-0000-1000-8000-00805f9b34fb", "0000110c-0000-1000-8000-00805f9b34fb", "0000110b-0000-1000-8000-00805f9b34fb", "0000110a-0000-1000-8000-00805f9b34fb", "0000111e-0000-1000-8000-00805f9b34fb", "0000111f-0000-1000-8000-00805f9b34fb", "00001108-0000-1000-8000-00805f9b34fb" ] } } ], "devices": [ { "adapter": "hci0", "device": "dev_F8_34_41_DA_BA_46", "properties": { "address": "F8:34:41:DA:BA:46", "name": "roguebox", "alias": "roguebox", "class": 1835276, "icon": "computer", "paired": false, "trusted": false, "blocked": false, "legacypairing": false, "rssi": -63, "connected": false, "uuids": [ "0000110e-0000-1000-8000-00805f9b34fb", "0000110c-0000-1000-8000-00805f9b34fb", "00001112-0000-1000-8000-00805f9b34fb", "00001108-0000-1000-8000-00805f9b34fb", "00001133-0000-1000-8000-00805f9b34fb", "00001132-0000-1000-8000-00805f9b34fb", "0000112f-0000-1000-8000-00805f9b34fb", "00001104-0000-1000-8000-00805f9b34fb", "00001106-0000-1000-8000-00805f9b34fb", "00001105-0000-1000-8000-00805f9b34fb", "0000110a-0000-1000-8000-00805f9b34fb", "0000110b-0000-1000-8000-00805f9b34fb", "00005005-0000-1000-8000-0002ee000001" ], "modalias": "usb:v1D6Bp0246d0530", "adapter": "/org/bluez/hci0", "txpower": 12, "servicesresolved": false } }, { "adapter": "hci0", "device": "dev_67_13_E2_57_29_0F", "properties": { "address": "68:13:E2:57:29:0F", "alias": "67-13-E2-57-29-0F", "paired": false, "trusted": false, "blocked": false, "legacypairing": false, "rssi": -69, "connected": false, "uuids": [], "adapter": "/org/bluez/hci0", "servicesresolved": false } }, ...### adapter_state verb adapter_state verb allows setting and retrieving of requested adapter settings: | Name | Description | |-----------------|------------------------------------------------------------------------| | adapter | Must be the name of the adapter (i.e. hci0) | | discovery | Discover nearby broadcasting devices | | discoverable | Allow other devices to detect this device | | powered | Adapter power state (optional, rfkill should be disabled already) | | filter | Display devices only with respective UUIDS listed (write only setting) | #### avrcp_controls verb avrcp_controls verb allow controlling the playback of the defined device | Name | Description | |-----------------|----------------------------------------------------------------------------------------------| | adapter | Name of the adapter (i.e. hci0) | | device | Must be the name of the device