On 2/28/22 13:31, Sonny Sasaka wrote:
Hi Ed,
Your understanding is correct about the purpose of that flag. So I can
confirm that (1) is true. For (2), I can confirm otherwise, since I am
able to get both battery values from GATT API and Battery1 API. Here
is my output:
```
// pair and connect to an LE device with battery service first (e.g an LE Mouse)
// [bluetoothctl]# gatt.list-attributes
// [bluetoothctl]# gatt.select-attribute
/org/bluez/hci0/dev_C6_XX/service000e/char000f
// via GATT API
[BluetoothMouse3600:/service000e/char000f]# gatt.read
Attempting to read /org/bluez/hci0/dev_C6_XX/service000e/char000f
[CHG] Attribute /org/bluez/hci0/dev_C6_XX/service000e/char000f Value:
4d M
4d M
// via Battery API
[BluetoothMouse3600:/service000e/char000f]# info
Device C6:XX (random)
Name: BluetoothMouse3600
Alias: BluetoothMouse3600
...
Battery Percentage: 0x4e (78)
[BluetoothMouse3600:/service000e/char000f]#
```
Could you try the same with bluetoothctl and share the output?
I'm not very sure of how to use bluetoothctl (no man page and I wasn't
able to find a lot in my searches on the internet) but what I did was to
pair and list the attributes using gatt.list-attributes, but I didn't
find anything that I could identify as a battery service or battery
attribute. I looked for 180f or 2a19 and found neither:
[sturgeon]# gatt.list-attributes 43:43:A0:12:1F:AC
Primary Service (Handle 0x0000)
/org/bluez/hci0/dev_43_43_A0_12_1F_AC/service0049
00005071-0000-0000-0000-00a57e401d05
Vendor specific
Characteristic (Handle 0x0000)
/org/bluez/hci0/dev_43_43_A0_12_1F_AC/service0049/char004a
00005001-0000-0000-0000-00a57e401d05
Vendor specific
Descriptor (Handle 0x0000)
/org/bluez/hci0/dev_43_43_A0_12_1F_AC/service0049/char004a/desc004c
00002900-0000-1000-8000-00805f9b34fb
Characteristic Extended Properties
Primary Service (Handle 0x0000)
/org/bluez/hci0/dev_43_43_A0_12_1F_AC/service0041
00006071-0000-0000-0000-00a57e401d05
Vendor specific
Characteristic (Handle 0x0000)
/org/bluez/hci0/dev_43_43_A0_12_1F_AC/service0041/char0045
00006002-0000-0000-0000-00a57e401d05
Vendor specific
Descriptor (Handle 0x0000)
/org/bluez/hci0/dev_43_43_A0_12_1F_AC/service0041/char0045/desc0048
00002900-0000-1000-8000-00805f9b34fb
Characteristic Extended Properties
Descriptor (Handle 0x0000)
/org/bluez/hci0/dev_43_43_A0_12_1F_AC/service0041/char0045/desc0047
00002902-0000-1000-8000-00805f9b34fb
Client Characteristic Configuration
Characteristic (Handle 0x0000)
/org/bluez/hci0/dev_43_43_A0_12_1F_AC/service0041/char0042
00006001-0000-0000-0000-00a57e401d05
Vendor specific
Descriptor (Handle 0x0000)
/org/bluez/hci0/dev_43_43_A0_12_1F_AC/service0041/char0042/desc0044
00002900-0000-1000-8000-00805f9b34fb
Characteristic Extended Properties
Primary Service (Handle 0x0000)
/org/bluez/hci0/dev_43_43_A0_12_1F_AC/service0029
00007071-0000-0000-0000-00a57e401d05
Vendor specific
Characteristic (Handle 0x0000)
/org/bluez/hci0/dev_43_43_A0_12_1F_AC/service0029/char0039
00007006-0000-0000-0000-00a57e401d05
Vendor specific
Descriptor (Handle 0x0000)
/org/bluez/hci0/dev_43_43_A0_12_1F_AC/service0029/char0039/desc003b
00002900-0000-1000-8000-00805f9b34fb
Characteristic Extended Properties
Characteristic (Handle 0x0000)
/org/bluez/hci0/dev_43_43_A0_12_1F_AC/service0029/char0036
00007005-0000-0000-0000-00a57e401d05
Vendor specific
Descriptor (Handle 0x0000)
/org/bluez/hci0/dev_43_43_A0_12_1F_AC/service0029/char0036/desc0038
00002902-0000-1000-8000-00805f9b34fb
Client Characteristic Configuration
Characteristic (Handle 0x0000)
/org/bluez/hci0/dev_43_43_A0_12_1F_AC/service0029/char0033
00007004-0000-0000-0000-00a57e401d05
Vendor specific
Descriptor (Handle 0x0000)
/org/bluez/hci0/dev_43_43_A0_12_1F_AC/service0029/char0033/desc0035
00002900-0000-1000-8000-00805f9b34fb
Characteristic Extended Properties
Characteristic (Handle 0x0000)
/org/bluez/hci0/dev_43_43_A0_12_1F_AC/service0029/char0030
00007003-0000-0000-0000-00a57e401d05
Vendor specific
Descriptor (Handle 0x0000)
/org/bluez/hci0/dev_43_43_A0_12_1F_AC/service0029/char0030/desc0032
00002900-0000-1000-8000-00805f9b34fb
Characteristic Extended Properties
Characteristic (Handle 0x0000)
/org/bluez/hci0/dev_43_43_A0_12_1F_AC/service0029/char002d
00007002-0000-0000-0000-00a57e401d05
Vendor specific
Descriptor (Handle 0x0000)
/org/bluez/hci0/dev_43_43_A0_12_1F_AC/service0029/char002d/desc002f
00002900-0000-1000-8000-00805f9b34fb
Characteristic Extended Properties
Characteristic (Handle 0x0000)
/org/bluez/hci0/dev_43_43_A0_12_1F_AC/service0029/char002a
00007001-0000-0000-0000-00a57e401d05
Vendor specific
Descriptor (Handle 0x0000)
/org/bluez/hci0/dev_43_43_A0_12_1F_AC/service0029/char002a/desc002c
00002900-0000-1000-8000-00805f9b34fb
Characteristic Extended Properties
Primary Service (Handle 0x0000)
/org/bluez/hci0/dev_43_43_A0_12_1F_AC/service001c
00008071-0000-0000-0000-00a57e401d05
Vendor specific
Characteristic (Handle 0x0000)
/org/bluez/hci0/dev_43_43_A0_12_1F_AC/service001c/char0026
00008003-0000-0000-0000-00a57e401d05
Vendor specific
Descriptor (Handle 0x0000)
/org/bluez/hci0/dev_43_43_A0_12_1F_AC/service001c/char0026/desc0028
00002900-0000-1000-8000-00805f9b34fb
Characteristic Extended Properties
Characteristic (Handle 0x0000)
/org/bluez/hci0/dev_43_43_A0_12_1F_AC/service001c/char0023
00008004-0000-0000-0000-00a57e401d05
Vendor specific
Descriptor (Handle 0x0000)
/org/bluez/hci0/dev_43_43_A0_12_1F_AC/service001c/char0023/desc0025
00002900-0000-1000-8000-00805f9b34fb
Characteristic Extended Properties
Characteristic (Handle 0x0000)
/org/bluez/hci0/dev_43_43_A0_12_1F_AC/service001c/char0020
00008002-0000-0000-0000-00a57e401d05
Vendor specific
Descriptor (Handle 0x0000)
/org/bluez/hci0/dev_43_43_A0_12_1F_AC/service001c/char0020/desc0022
00002900-0000-1000-8000-00805f9b34fb
Characteristic Extended Properties
Characteristic (Handle 0x0000)
/org/bluez/hci0/dev_43_43_A0_12_1F_AC/service001c/char001d
00008001-0000-0000-0000-00a57e401d05
Vendor specific
Descriptor (Handle 0x0000)
/org/bluez/hci0/dev_43_43_A0_12_1F_AC/service001c/char001d/desc001f
00002900-0000-1000-8000-00805f9b34fb
Characteristic Extended Properties
Primary Service (Handle 0x0000)
/org/bluez/hci0/dev_43_43_A0_12_1F_AC/service0015
00009071-0000-0000-0000-00a57e401d05
Vendor specific
Characteristic (Handle 0x0000)
/org/bluez/hci0/dev_43_43_A0_12_1F_AC/service0015/char0019
00009002-0000-0000-0000-00a57e401d05
Vendor specific
Descriptor (Handle 0x0000)
/org/bluez/hci0/dev_43_43_A0_12_1F_AC/service0015/char0019/desc001b
00002902-0000-1000-8000-00805f9b34fb
Client Characteristic Configuration
Characteristic (Handle 0x0000)
/org/bluez/hci0/dev_43_43_A0_12_1F_AC/service0015/char0016
00009001-0000-0000-0000-00a57e401d05
Vendor specific
Descriptor (Handle 0x0000)
/org/bluez/hci0/dev_43_43_A0_12_1F_AC/service0015/char0016/desc0018
00002900-0000-1000-8000-00805f9b34fb
Characteristic Extended Properties
Primary Service (Handle 0x0000)
/org/bluez/hci0/dev_43_43_A0_12_1F_AC/service0012
0000180a-0000-1000-8000-00805f9b34fb
Device Information
Characteristic (Handle 0x0000)
/org/bluez/hci0/dev_43_43_A0_12_1F_AC/service0012/char0013
00002a50-0000-1000-8000-00805f9b34fb
PnP ID
Primary Service (Handle 0x0000)
/org/bluez/hci0/dev_43_43_A0_12_1F_AC/service0008
00001801-0000-1000-8000-00805f9b34fb
Generic Attribute Profile
Characteristic (Handle 0x0000)
/org/bluez/hci0/dev_43_43_A0_12_1F_AC/service0008/char000e
00002b3a-0000-1000-8000-00805f9b34fb
Server Supported Features
Characteristic (Handle 0x0000)
/org/bluez/hci0/dev_43_43_A0_12_1F_AC/service0008/char000c
00002b29-0000-1000-8000-00805f9b34fb
Client Supported Features
Characteristic (Handle 0x0000)
/org/bluez/hci0/dev_43_43_A0_12_1F_AC/service0008/char0009
00002a05-0000-1000-8000-00805f9b34fb
Service Changed
Descriptor (Handle 0x0000)
/org/bluez/hci0/dev_43_43_A0_12_1F_AC/service0008/char0009/desc000b
00002902-0000-1000-8000-00805f9b34fb
Client Characteristic Configuration
However when I try info, it correctly reports both the battery service
and the battery percentage
Battery Percentage: 0x2b (43)
So I'm not sure how to make the step from gatt.list-attributes to
gatt.select-attributes. Any guidance?
Ed