<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Unable to read battery level from battery characteristic on Thingy:52 using bluetoothctl on linux</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/66622/unable-to-read-battery-level-from-battery-characteristic-on-thingy-52-using-bluetoothctl-on-linux</link><description>Below is the output from a &amp;#39;bluetoothctl&amp;#39; session for one of my thingy:52&amp;#39;s 
 This is running on a raspberry pi 4 using Ubuntu Mate 20.xx 
 The output below is using command line &amp;#39;bluetoothctl&amp;#39;. (Clearly the actual Mac adrs you see has been altered for</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 14 Oct 2020 21:40:02 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/66622/unable-to-read-battery-level-from-battery-characteristic-on-thingy-52-using-bluetoothctl-on-linux" /><item><title>RE: Unable to read battery level from battery characteristic on Thingy:52 using bluetoothctl on linux</title><link>https://devzone.nordicsemi.com/thread/274957?ContentTypeID=1</link><pubDate>Wed, 14 Oct 2020 21:40:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e677644e-dda7-4764-ad52-a2b0c263818b</guid><dc:creator>emotive</dc:creator><description>&lt;p&gt;&lt;strong&gt;SOLUTION AT LAST!&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;(Since it appears that this thread has been relegated to the dust bin....)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;// 1. After a determined effort, here is what I was able to do with the Thingy:52&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;// Make sure you have gatttool installed via apt or pip if you are on the Pi.&lt;/strong&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;// 2. IMPORTANT to enable this first...&lt;/strong&gt;&lt;br /&gt;pisys1@piSys1:~$ sudo btmgmt le on&lt;/p&gt;
&lt;p&gt;pisys1@piSys1:~$ sudo gatttool -t random -b yo:ur:ma:c:ad:rs -I&lt;br /&gt;[yo:ur:ma:c:ad:rs][LE]&amp;gt; connect&lt;br /&gt;Attempting to connect to yo:ur:ma:c:ad:rs&lt;br /&gt;Connection successful&lt;/p&gt;
&lt;p&gt;[yo:ur:ma:c:ad:rs][LE]&amp;gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;// 3. Display all the characteristics of the Thingy52...&lt;/strong&gt;&lt;br /&gt;[yo:ur:ma:c:ad:rs][LE]&amp;gt; characteristics&lt;br /&gt;handle: 0x0002, char properties: 0x02, char value handle: 0x0003, uuid: 00002a00-0000-1000-8000-00805f9b34fb&lt;br /&gt;handle: 0x0004, char properties: 0x02, char value handle: 0x0005, uuid: 00002a01-0000-1000-8000-00805f9b34fb&lt;br /&gt;handle: 0x0006, char properties: 0x02, char value handle: 0x0007, uuid: 00002a04-0000-1000-8000-00805f9b34fb&lt;br /&gt;handle: 0x0008, char properties: 0x02, char value handle: 0x0009, uuid: 00002aa6-0000-1000-8000-00805f9b34fb&lt;br /&gt;handle: 0x000b, char properties: 0x20, char value handle: 0x000c, uuid: 00002a05-0000-1000-8000-00805f9b34fb&lt;br /&gt;handle: 0x000f, char properties: 0x0a, char value handle: 0x0010, uuid: ef680101-9b35-4933-9b10-52ffa9740042&lt;br /&gt;handle: 0x0011, char properties: 0x0a, char value handle: 0x0012, uuid: ef680102-9b35-4933-9b10-52ffa9740042&lt;br /&gt;handle: 0x0013, char properties: 0x0a, char value handle: 0x0014, uuid: ef680104-9b35-4933-9b10-52ffa9740042&lt;br /&gt;handle: 0x0015, char properties: 0x0a, char value handle: 0x0016, uuid: ef680105-9b35-4933-9b10-52ffa9740042&lt;br /&gt;handle: 0x0017, char properties: 0x0a, char value handle: 0x0018, uuid: ef680106-9b35-4933-9b10-52ffa9740042&lt;br /&gt;handle: 0x0019, char properties: 0x02, char value handle: 0x001a, uuid: ef680107-9b35-4933-9b10-52ffa9740042&lt;br /&gt;handle: 0x001b, char properties: 0x0a, char value handle: 0x001c, uuid: ef680108-9b35-4933-9b10-52ffa9740042&lt;br /&gt;handle: 0x001d, char properties: 0x0a, char value handle: 0x001e, uuid: ef680109-9b35-4933-9b10-52ffa9740042&lt;br /&gt;&lt;strong&gt;handle: 0x0020, char properties: 0x10, char value handle: 0x0021, uuid: ef680201-9b35-4933-9b10-52ffa9740042&lt;/strong&gt;&lt;br /&gt;handle: 0x0023, char properties: 0x10, char value handle: 0x0024, uuid: ef680202-9b35-4933-9b10-52ffa9740042&lt;br /&gt;handle: 0x0026, char properties: 0x10, char value handle: 0x0027, uuid: ef680203-9b35-4933-9b10-52ffa9740042&lt;br /&gt;handle: 0x0029, char properties: 0x10, char value handle: 0x002a, uuid: ef680204-9b35-4933-9b10-52ffa9740042&lt;br /&gt;handle: 0x002c, char properties: 0x10, char value handle: 0x002d, uuid: ef680205-9b35-4933-9b10-52ffa9740042&lt;br /&gt;handle: 0x002f, char properties: 0x0a, char value handle: 0x0030, uuid: ef680206-9b35-4933-9b10-52ffa9740042&lt;br /&gt;handle: 0x0032, char properties: 0x0a, char value handle: 0x0033, uuid: ef680401-9b35-4933-9b10-52ffa9740042&lt;br /&gt;handle: 0x0034, char properties: 0x10, char value handle: 0x0035, uuid: ef680402-9b35-4933-9b10-52ffa9740042&lt;br /&gt;handle: 0x0037, char properties: 0x10, char value handle: 0x0038, uuid: ef680403-9b35-4933-9b10-52ffa9740042&lt;br /&gt;handle: 0x003a, char properties: 0x10, char value handle: 0x003b, uuid: ef680404-9b35-4933-9b10-52ffa9740042&lt;br /&gt;handle: 0x003d, char properties: 0x10, char value handle: 0x003e, uuid: ef680405-9b35-4933-9b10-52ffa9740042&lt;br /&gt;handle: 0x0040, char properties: 0x10, char value handle: 0x0041, uuid: ef680406-9b35-4933-9b10-52ffa9740042&lt;br /&gt;handle: 0x0043, char properties: 0x10, char value handle: 0x0044, uuid: ef680407-9b35-4933-9b10-52ffa9740042&lt;br /&gt;handle: 0x0046, char properties: 0x10, char value handle: 0x0047, uuid: ef680408-9b35-4933-9b10-52ffa9740042&lt;br /&gt;handle: 0x0049, char properties: 0x10, char value handle: 0x004a, uuid: ef680409-9b35-4933-9b10-52ffa9740042&lt;br /&gt;handle: 0x004c, char properties: 0x10, char value handle: 0x004d, uuid: ef68040a-9b35-4933-9b10-52ffa9740042&lt;br /&gt;handle: 0x0050, char properties: 0x10, char value handle: 0x0051, uuid: ef680302-9b35-4933-9b10-52ffa9740042&lt;br /&gt;handle: 0x0053, char properties: 0x0a, char value handle: 0x0054, uuid: ef680301-9b35-4933-9b10-52ffa9740042&lt;br /&gt;handle: 0x0055, char properties: 0x0a, char value handle: 0x0056, uuid: ef680303-9b35-4933-9b10-52ffa9740042&lt;br /&gt;handle: 0x0058, char properties: 0x0a, char value handle: 0x0059, uuid: ef680501-9b35-4933-9b10-52ffa9740042&lt;br /&gt;handle: 0x005a, char properties: 0x04, char value handle: 0x005b, uuid: ef680502-9b35-4933-9b10-52ffa9740042&lt;br /&gt;handle: 0x005c, char properties: 0x10, char value handle: 0x005d, uuid: ef680503-9b35-4933-9b10-52ffa9740042&lt;br /&gt;handle: 0x005f, char properties: 0x10, char value handle: 0x0060, uuid: ef680504-9b35-4933-9b10-52ffa9740042&lt;br /&gt;&lt;strong&gt;handle: 0x0063, char properties: 0x12, char value handle: 0x0064, uuid: 00002a19-0000-1000-8000-00805f9b34fb&lt;/strong&gt;&lt;br /&gt;handle: 0x0067, char properties: 0x28, char value handle: 0x0068, uuid: 8ec90003-f315-4f60-9fb8-838830daea50&lt;br /&gt;[yo:ur:ma:c:ad:rs][LE]&amp;gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;// Notice all of the offsets shown&amp;nbsp;and specifically &amp;nbsp;&amp;#39;handle: 0x0063 and handle 0x0064&amp;#39; for the&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;// characteristic 00002a19, e.g. The Battery Characteristic.&amp;nbsp;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;// Note that for the battery service, the characteristic is displayed as a full UUID, &lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;// NOT the service 0x180F as a full UUID.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;// Read the battery service characteristic value&lt;/strong&gt;&lt;br /&gt;[yo:ur:ma:c:ad:rs][LE]&amp;gt; char-read-uuid 00002a19-0000-1000-8000-00805f9b34fb 0x0063 0x0066&lt;br /&gt;handle: 0x0064 value: 60 &lt;strong&gt;// &amp;lt;-- Expected 1 byte&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;// Lo and behold, the elusive battery value has finally been read!&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;// Enable notify on Temperature value&lt;/strong&gt; &lt;br /&gt;[yo:ur:ma:c:ad:rs][LE]&amp;gt; char-write-req 0x0022 0100&lt;br /&gt;Characteristic value was written successfully&lt;br /&gt;Notification handle = 0x0021 value: 17 18 &lt;strong&gt;// &amp;lt;-- Expected 2 bytes&lt;/strong&gt;&lt;br /&gt;Notification handle = 0x0021 value: 17 0f &lt;br /&gt;Notification handle = 0x0021 value: 17 16 &lt;br /&gt;Notification handle = 0x0021 value: 17 1c &lt;br /&gt;Notification handle = 0x0021 value: 17 0f &lt;br /&gt;Notification handle = 0x0021 value: 17 21 &lt;br /&gt;Notification handle = 0x0021 value: 17 25&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;// Disable notify on Temperature value&lt;/strong&gt; &lt;br /&gt;[yo:ur:ma:c:ad:rs][LE]&amp;gt; char-write-req 0x0022 0000&lt;br /&gt;Characteristic value was written successfully&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;// Read the name value&lt;/strong&gt; &lt;br /&gt;[yo:ur:ma:c:ad:rs][LE]&amp;gt; char-read-uuid ef680101-9b35-4933-9b10-52ffa9740042 0x000f 0x0010&lt;br /&gt;handle: 0x0010 value: 54 68 69 6e 67 79 32 // &lt;strong&gt;&amp;lt;-- Expected 5 bytes(Thingy2)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;So... if this helps anyone, pls comment. Maybe a bit obsessive, but I knew that one should be able to get at all these characteristics using low level linux tools.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Unable to read battery level from battery characteristic on Thingy:52 using bluetoothctl on linux</title><link>https://devzone.nordicsemi.com/thread/273863?ContentTypeID=1</link><pubDate>Thu, 08 Oct 2020 18:55:53 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b20064e5-f3f0-45a5-8bcf-01f01893bc2f</guid><dc:creator>emotive</dc:creator><description>&lt;p&gt;Well? &lt;/p&gt;
&lt;p&gt;From the last post, it is clear that the Battery is a GSS (Standard service) and not a GATT service.&lt;/p&gt;
&lt;p&gt;So, can anyone in the Nordic Dev Group look into a solution?&lt;/p&gt;
&lt;p&gt;How does one read the value for the Battery Service without writing a full C program?&lt;/p&gt;
&lt;p&gt;How does one take advantage of the basic tools built into linux in order to work with the bluetooth stack graciously provided by Nordic?&lt;/p&gt;
&lt;p&gt;Thank you again.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Unable to read battery level from battery characteristic on Thingy:52 using bluetoothctl on linux</title><link>https://devzone.nordicsemi.com/thread/273326?ContentTypeID=1</link><pubDate>Tue, 06 Oct 2020 21:38:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:48ec0f52-2aa5-45c4-a2e2-2b2c3eb44a4d</guid><dc:creator>emotive</dc:creator><description>&lt;p&gt;&lt;br /&gt;Some additional findings:&lt;/p&gt;
&lt;p&gt;Using btmon (A bluetooth monitor)&lt;br /&gt;I launched btmon from one terminal session (#1)&lt;br /&gt;I launched bluetoothctl from another terminal session (#2)&lt;/p&gt;
&lt;p&gt;From (#2) issue&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:inherit;"&gt;[bluetoothctl]# connect xx:18:81:32:yy:B0&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;[Thingy2]#&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;To read the attribute info, one must first go into the GATT submenu&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;[Thingy2]# menu gatt&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;On connection executed by (#2), the following is reported by #1 (condensed version)&lt;/p&gt;
&lt;p&gt;#23 [hci0] 526.473447&lt;br /&gt; LE Advertising Report (0x02)&lt;br /&gt; Num reports: 1&lt;br /&gt; Event type: Connectable undirected - ADV_IND (0x00)&lt;br /&gt; Address type: Random (0x01)&lt;br /&gt; Address: xx:18:81:32:yy:B0 (Static)&lt;br /&gt; Data length: 30&lt;br /&gt; Flags: 0x06&lt;br /&gt; LE General Discoverable Mode&lt;br /&gt; BR/EDR Not Supported&lt;br /&gt; 128-bit Service UUIDs (partial): 1 entry&lt;br /&gt; Vendor specific (&lt;strong&gt;ef680100-9b35-4933-9b10-52ffa9740042&lt;/strong&gt;)&lt;br /&gt; Name (complete): &lt;strong&gt;Thingy2&lt;/strong&gt;&lt;br /&gt; RSSI: -42 dBm (0xd6)&lt;br /&gt;&amp;lt; HCI Command: LE Set Scan Enable (0x08|0x000c) plen 2&lt;/p&gt;
&lt;p&gt;#43 [hci0] 527.519266&lt;br /&gt; ATT: Read By Group Type Response (0x11) len 13&lt;br /&gt; Attribute data length: 6&lt;br /&gt; Attribute group list: 2 entries&lt;br /&gt; &lt;strong&gt;Handle range: 0x0001-0x0009&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt; UUID: Generic Access Profile (0x1800)&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt; Handle range: 0x000a-0x000d&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt; UUID: Generic Attribute Profile (0x1801)&lt;/strong&gt;&lt;br /&gt;&amp;lt; ACL Data TX: Handle 64 flags 0x00 dlen 9&lt;/p&gt;
&lt;p&gt;#51 [hci0] 527.812983&lt;br /&gt; ATT: Read By Group Type Response (0x11) len 101&lt;br /&gt; Attribute data length: 20&lt;br /&gt; Attribute group list: 5 entries&lt;br /&gt; &lt;strong&gt;Handle range: 0x000e-0x001e&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt; UUID: Vendor specific (ef680100-9b35-4933-9b10-52ffa9740042)&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt; Handle range: 0x001f-0x0030&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt; UUID: Vendor specific (ef680200-9b35-4933-9b10-52ffa9740042)&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt; Handle range: 0x0031-0x004e&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt; UUID: Vendor specific (ef680400-9b35-4933-9b10-52ffa9740042)&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt; Handle range: 0x004f-0x0056&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt; UUID: Vendor specific (ef680300-9b35-4933-9b10-52ffa9740042)&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt; Handle range: 0x0057-0x0061&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt; UUID: Vendor specific (ef680500-9b35-4933-9b10-52ffa9740042)&lt;/strong&gt;&lt;br /&gt;&amp;lt; ACL Data TX: Handle 64 flags 0x00 dlen 11&lt;/p&gt;
&lt;p&gt;#58 [hci0] 527.910473&lt;br /&gt; ATT: Read By Group Type Response (0x11) len 13&lt;br /&gt; Attribute data length: 6&lt;br /&gt; Attribute group list: 2 entries&lt;br /&gt; &lt;strong&gt;Handle range: 0x0062-0x0065&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt; UUID: Battery Service (0x180f)&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt; Handle range: 0x0066-0xffff&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt; UUID: Nordic Semiconductor ASA (0xfe59)&lt;/strong&gt;&lt;br /&gt;&amp;lt; ACL Data TX: Handle 64 flags 0x00 dlen 9&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;Now we try to correlate the btmon &amp;#39;Handle range:&amp;#39; with the service../char.. values&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;// bluetoothctl list report (#2):&lt;br /&gt;[NEW] Primary Service (Handle 0xf000)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/&lt;strong&gt;service001f&lt;/strong&gt;&lt;br /&gt; ef680200-9b35-4933-9b10-52ffa9740042&lt;br /&gt; Vendor specific&lt;br /&gt; &lt;br /&gt;[NEW] Characteristic (Handle 0xaf90)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service001f/&lt;strong&gt;char002f&lt;/strong&gt;&lt;br /&gt; ef680206-9b35-4933-9b10-52ffa9740042&lt;br /&gt; Vendor specific&lt;br /&gt; &lt;br /&gt;// btmon report:&lt;br /&gt; Handle range: &lt;strong&gt;0x001f-0x0030&lt;/strong&gt;&lt;br /&gt; UUID: Vendor specific (ef680200-9b35-4933-9b10-52ffa9740042)&lt;/p&gt;
&lt;p&gt;// Another one...&lt;/p&gt;
&lt;p&gt;// bluetoothctl list report (#2):&lt;br /&gt;[NEW] Primary Service (Handle 0xf000)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/&lt;strong&gt;service0031&lt;/strong&gt;&lt;br /&gt; ef680400-9b35-4933-9b10-52ffa9740042&lt;br /&gt;[NEW] Characteristic (Handle 0xaf90)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service0031/char0032&lt;br /&gt; ef680401-9b35-4933-9b10-52ffa9740042&lt;br /&gt;... &lt;br /&gt;[NEW] Characteristic (Handle 0xaf90)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service0031/char004c&lt;br /&gt; ef68040a-9b35-4933-9b10-52ffa9740042&lt;br /&gt; Vendor specific&lt;br /&gt;[NEW] Descriptor (Handle 0x4a70)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service0031/char004c/&lt;strong&gt;desc004e&lt;/strong&gt;&lt;br /&gt; 00002902-0000-1000-8000-00805f9b34fb&lt;br /&gt; Client Characteristic Configuration &lt;br /&gt; &lt;br /&gt;// btmon report: &lt;br /&gt;Handle range: &lt;strong&gt;0x0031-0x004e&lt;/strong&gt;&lt;br /&gt;UUID: Vendor specific (ef680400-9b35-4933-9b10-52ffa9740042)&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;span style="font-size:inherit;"&gt;&lt;strong&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;// The clues:&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:inherit;"&gt;&lt;strong&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;1.1 The above suggests that btmon shows the vendor specific service for the&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:inherit;"&gt;&lt;strong&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;200 series service with a range of 0x001f-0x0030&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:inherit;"&gt;&lt;strong&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;The [bluetoothctl]# list report corresponds with:&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:inherit;"&gt;&lt;strong&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;service001f //&amp;lt;-- The offset&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:inherit;"&gt;&lt;strong&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt; service001f/char002f //&amp;lt;-- The last characteristic offset&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:inherit;"&gt;&lt;strong&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;And the next service listed has &lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:inherit;"&gt;&lt;strong&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;HandleRange: 0x0031 to 0x004e&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;&lt;span style="font-size:inherit;"&gt;&lt;strong&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;The [bluetoothctl]# list report corresponds with:&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:inherit;"&gt;&lt;strong&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;/service0031 //&amp;lt;-- The offset&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:inherit;"&gt;&lt;strong&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt; and the last charactersitic&amp;#39;s description at &lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:inherit;"&gt;&lt;strong&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt; /service0031/char004c/desc004e //&amp;lt;-- The last characteristic offset&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:inherit;"&gt;&lt;strong&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;1.2 &lt;span style="font-size:150%;"&gt;Maybe the battery can be found at&lt;/span&gt;:&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:inherit;"&gt;&lt;strong&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;Handle range: 0x0062-0x0065 &lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:inherit;"&gt;&lt;strong&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;UUID: Battery Service (0x180f)&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:inherit;"&gt;&lt;strong&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;service0062/&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;[Thingy2:/service0066/char0067]# select-attribute /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service0066/char0067/desc0069&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;Notice the&amp;nbsp;prompt changes only when the attribute is valid:&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;[&lt;strong&gt;Thingy2:/service0066/char0067/desc0069&lt;/strong&gt;]# read&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span&gt;&lt;span&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;A&amp;nbsp;Legitimate read operation producers results:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;Attempting to read /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service0066/char0067/desc0069&lt;br /&gt;[CHG] Attribute /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service0066/char0067/desc0069 Value:&lt;br /&gt; 00 00 .. &lt;br /&gt; 00 00&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;Notice the attempt to read what should be the battery offset:&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;And notice that the prompt does not change indicating attribute is not valid:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;[Thingy2:/service0066/char0067/desc0069]# select-attribute /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service0062/char0063&lt;/p&gt;
&lt;p&gt;[&lt;strong&gt;Thingy2:/service0066/char0067/desc0069&lt;/strong&gt;]# &lt;/p&gt;
&lt;p&gt;Again no joy. So, battery service is present and has an offset but is not a GATT service and therefore cannot be found under the GATT menu.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Unable to read battery level from battery characteristic on Thingy:52 using bluetoothctl on linux</title><link>https://devzone.nordicsemi.com/thread/273307?ContentTypeID=1</link><pubDate>Tue, 06 Oct 2020 17:23:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f5b36bf9-896b-41af-8dab-92a30b797f52</guid><dc:creator>emotive</dc:creator><description>&lt;p&gt;Thank you again for the quick response. &lt;/p&gt;
&lt;p&gt;The link you provided is one that I have used.(At least the command order)&lt;/p&gt;
&lt;p&gt;If there is a specific memory offset from 0000fe59-... would you let me know what the offset is?&lt;/p&gt;
&lt;p&gt;Or, is it necessary to pair with the thingy in order to even see the battery service?&lt;/p&gt;
&lt;p&gt;I have connected to the thingy many times with&lt;/p&gt;
&lt;p&gt;[bluetoothctl]# connect &amp;lt;mac adrs here&amp;gt;&lt;/p&gt;
&lt;p&gt;Each time as included above, I get a list of services with their tiered characteristics and descriptions (partially included here)&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:75%;"&gt;Primary Service (Handle 0xacdc)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service0066&lt;br /&gt; 0000fe59-0000-1000-8000-00805f9b34fb&lt;br /&gt; Nordic Semiconductor ASA&lt;br /&gt;Characteristic (Handle 0x0240)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service0066/char0067&lt;br /&gt; 8ec90003-f315-4f60-9fb8-838830daea50&lt;br /&gt; Vendor specific&lt;br /&gt;Descriptor (Handle 0x0000)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service0066/char0067/desc0069&lt;br /&gt; 00002902-0000-1000-8000-00805f9b34fb&lt;/span&gt; &lt;/p&gt;
&lt;p&gt;...&lt;/p&gt;
&lt;p&gt;However, the one that is never shown is the battery service.&lt;/p&gt;
&lt;p&gt;Using the [bluetoothctl]# list (after having connected to the thingy, not paired)&lt;/p&gt;
&lt;p&gt;I get a list which includes the UUID for the battery service as shown above and repeated here for clarity:&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:75%;"&gt;...&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:75%;"&gt;UUID: Generic Access Profile (00001800-0000-1000-8000-00805f9b34fb)&lt;br /&gt; UUID: Generic Attribute Profile (00001801-0000-1000-8000-00805f9b34fb)&lt;br /&gt; &lt;strong&gt;UUID: Battery Service (0000180f-0000-1000-8000-00805f9b34fb)&lt;/strong&gt;&lt;/span&gt;&amp;nbsp; // &amp;lt;------&lt;/p&gt;
&lt;p&gt;...&lt;/p&gt;
&lt;p&gt;The Bluetooth spec lists the battery service as type GSS.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;However, on completion of the above &amp;#39;connect&amp;#39; command under bluetoothctl, the device/service/characteristic path is not found and does not exist for the battery service.&lt;/p&gt;
&lt;p&gt;This says that the battery service is not enumerated under bluetoothctl?&lt;/p&gt;
&lt;p&gt;So, are there specific offsets from the 0000fe59 location that I missed in the documentation?&lt;/p&gt;
&lt;p&gt;The benefit (supposed) to using bluetoothctl is that it is &amp;#39;standardized&amp;#39; with Bluez under linux.&lt;/p&gt;
&lt;p&gt;This means that much of the software stack that would have to be handwritten/cut-pasted/ etc is already done and optimized for the linux kernel.&lt;/p&gt;
&lt;p&gt;There are older tools which have bee deprecated hcitool and gatttool and those were rolled into bluetoothctl.&lt;/p&gt;
&lt;p&gt;If anyone in your group has insights as to how to get at this ever-elusive battery service under bluetoothctl please let me know.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thank you again...&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Unable to read battery level from battery characteristic on Thingy:52 using bluetoothctl on linux</title><link>https://devzone.nordicsemi.com/thread/273254?ContentTypeID=1</link><pubDate>Tue, 06 Oct 2020 13:33:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c167ff2b-83c2-4a1a-8237-613f5a3bf458</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;As I mentioned, I&amp;#39;m not very familiar with Linux environment. I will try to forward your question to some one that has more experience with Linux here.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;But as I mentioned, please try to test with a simple application first before you go straight to the thingy application.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;In my case, when checking with nrf Connect app, the battery service is located right above&amp;nbsp;&lt;span&gt;0000fe59-0000-1000-8000-00805f9b34fb DFU service.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;br /&gt;Please note again, regarding question on 3rd party platform, please try to ask on other support channels in addition to posting the question here, as we don&amp;#39;t have any control over how&amp;nbsp;bluetoothctl works.&lt;br /&gt;&lt;br /&gt;I did a quick search and in this doc, the battery service is discovered in the example and you have a path to access it:&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://core.docs.ubuntu.com/en/stacks/bluetooth/bluez/docs/reference/gatt-services"&gt;https://core.docs.ubuntu.com/en/stacks/bluetooth/bluez/docs/reference/gatt-services&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Unable to read battery level from battery characteristic on Thingy:52 using bluetoothctl on linux</title><link>https://devzone.nordicsemi.com/thread/273049?ContentTypeID=1</link><pubDate>Mon, 05 Oct 2020 18:44:45 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:38233b64-18fe-44af-97df-8dffaca610e3</guid><dc:creator>emotive</dc:creator><description>&lt;p&gt;With utmost respect for your knowledge, &amp;#39;bluetoothctl&amp;#39; under linux is &amp;#39;the&amp;#39; current standard. It is implemented through Bluez. So one purpose in providing the commands I used (which are basically 4) is so that you or anyone in your group could run the same test on any Ubuntu Linux based system (Current ver 20.xx Ubuntu Mate on Rasberry Pi 4). I would guess that you all have multiple linux based systems for development and test. &lt;/p&gt;
&lt;p&gt;Since this is not something you are familiar with (and again I say this with respect for your position and knowledge), perhaps another engineer could quickly verify whether the service is or is not accessible under bluetoothctl and or bluez?&lt;/p&gt;
&lt;p&gt;Since the other service 1801 is accessible, I do not yet see an explanation as to why 180F would not also be accessible as well?&lt;/p&gt;
&lt;p&gt;I have even read posts that state that the standard bluetooth daemon loads a plugin which blocks the &amp;#39;battery service&amp;#39;? And running systemctl with the correct args can stop this plugin from being loaded. (-P battery or --property --value=battery) as in&lt;/p&gt;
&lt;p&gt;systemctl daemon-reload&lt;/p&gt;
&lt;p&gt;systemctl start bluetooth --property --value=battery&lt;/p&gt;
&lt;p&gt;Well, I tried all that and still no joy.&lt;/p&gt;
&lt;p&gt;Since the Battery service is not under GAP or GATT, but a standard Bluetooth SIG service...&lt;/p&gt;
&lt;p&gt;Can anyone reading this or in your group determine why or how one reads the battery level using the service 180F and the attribute 2A19 by implementing command line bluetoothctl or bluez?&lt;/p&gt;
&lt;p&gt;Thank you.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Unable to read battery level from battery characteristic on Thingy:52 using bluetoothctl on linux</title><link>https://devzone.nordicsemi.com/thread/272921?ContentTypeID=1</link><pubDate>Mon, 05 Oct 2020 09:49:16 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4596dae6-0de5-43f7-a252-27bb434d83f5</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I&amp;#39;m afraid that I&amp;#39;m not very familiar with Bluez, so I don&amp;#39;t know how I can help you.&amp;nbsp;&lt;br /&gt;You may want to post your question at other forum/portal that more specifically to BlueZ stack.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;My suggestion for you is to try to test on one of our example so that the attribute table is smaller and easier to handle than go straight to the Thingy52.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The battery service is not under GAP&amp;nbsp; or GATT service. It&amp;#39;s a Bluetooth SIG standard service.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Unable to read battery level from battery characteristic on Thingy:52 using bluetoothctl on linux</title><link>https://devzone.nordicsemi.com/thread/272807?ContentTypeID=1</link><pubDate>Fri, 02 Oct 2020 23:02:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:25f96e96-0add-4905-b4b9-1bc1f4443ebc</guid><dc:creator>emotive</dc:creator><description>&lt;p&gt;Thank you for your quick response. Yes 0x180F is the battery service. When I execute a [bluetoothctl]# list as below, I do see the battery service. Is the battery service a gatt service?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;After bluetoothctl establishes a connection, it lists all the available gatt services. That &amp;#39;process&amp;#39; assigns the path to the characteristic so one can then use the attribute-select and list-attribute commands. (I am sure you already know all this)&lt;/p&gt;
&lt;p&gt;So, I still do not know how to read the value of the battery service using bluetoothctl since no path to the characteristic is shown even when going into the gatt submenu of bluetoothctl and executing a list-attributes on the device Thingy:52 as shown below (sorry for the whole 250 line dump, I thought it might be useful to see the actual output)&lt;/p&gt;
&lt;p&gt;Unfortunately I do not have a DK to use a sniffer on?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I can see the battery value under this&amp;nbsp;bus&amp;nbsp;command&amp;nbsp;after running the following:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;sudo dbus-send --print-reply=literal --system --dest=org.bluez /org/bluez/hci0/dev_xx_18_81_32_yy_B0 org.freedesktop.DBus.Properties.GetAll string:&amp;quot;org.bluez.Battery1&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="Apple-converted-space"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;array [&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;dict entry(&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="Apple-converted-space"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;Percentage &lt;span class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;variant &lt;span class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;strong&gt;byte 98&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="Apple-converted-space"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;]&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Below is a complete dump and even though the service is listed under info, it is not listed in the gatt service menu, as in there is no path to the service/char as there is for the other services and their characteristics.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;So you have any idea how to read the value of the battery using bluetoothctl?&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I see no way to list the gatt &amp;#39;path&amp;#39; to the battery service.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;[Thingy2]# info&lt;/strong&gt;&lt;br /&gt;Device xx:18:81:32:yy:B0 (random)&lt;br /&gt; Name: Thingy2&lt;br /&gt; Alias: Thingy2&lt;br /&gt; Paired: no&lt;br /&gt; Trusted: no&lt;br /&gt; Blocked: no&lt;br /&gt; Connected: yes&lt;br /&gt; LegacyPairing: no&lt;br /&gt; UUID: Generic Access Profile (00001800-0000-1000-8000-00805f9b34fb)&lt;br /&gt; UUID: Generic Attribute Profile (00001801-0000-1000-8000-00805f9b34fb)&lt;br /&gt; &lt;strong&gt;UUID: Battery Service (0000180f-0000-1000-8000-00805f9b34fb)&lt;/strong&gt;&lt;br /&gt; UUID: Nordic Semiconductor ASA (0000fe59-0000-1000-8000-00805f9b34fb)&lt;br /&gt; UUID: Vendor specific (ef680100-9b35-4933-9b10-52ffa9740042)&lt;br /&gt; UUID: Vendor specific (ef680200-9b35-4933-9b10-52ffa9740042)&lt;br /&gt; UUID: Vendor specific (ef680300-9b35-4933-9b10-52ffa9740042)&lt;br /&gt; UUID: Vendor specific (ef680400-9b35-4933-9b10-52ffa9740042)&lt;br /&gt; UUID: Vendor specific (ef680500-9b35-4933-9b10-52ffa9740042)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:75%;"&gt;&lt;br /&gt;&lt;strong&gt;[Thingy2]# menu gatt&lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:75%;"&gt;&lt;br /&gt;&lt;strong&gt;[Thingy2]# list-attributes xx_18:81:32:yy:B0&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:75%;"&gt;&lt;br /&gt;Primary Service (Handle 0xfbd4)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service000a&lt;br /&gt; 00001801-0000-1000-8000-00805f9b34fb&lt;br /&gt; Generic Attribute Profile&lt;br /&gt;Characteristic (Handle 0x0240)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service000a/char000b&lt;br /&gt; 00002a05-0000-1000-8000-00805f9b34fb&lt;br /&gt; Service Changed&lt;br /&gt;Descriptor (Handle 0x0000)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service000a/char000b/desc000d&lt;br /&gt; 00002902-0000-1000-8000-00805f9b34fb&lt;br /&gt; Client Characteristic Configuration&lt;br /&gt;Primary Service (Handle 0xacdc)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service000e&lt;br /&gt; ef680100-9b35-4933-9b10-52ffa9740042&lt;br /&gt; Vendor specific&lt;br /&gt;Characteristic (Handle 0x0240)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service000e/char000f&lt;br /&gt; ef680101-9b35-4933-9b10-52ffa9740042&lt;br /&gt; Vendor specific&lt;br /&gt;Characteristic (Handle 0x0240)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service000e/char0011&lt;br /&gt; ef680102-9b35-4933-9b10-52ffa9740042&lt;br /&gt; Vendor specific&lt;br /&gt;Characteristic (Handle 0x0240)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service000e/char0013&lt;br /&gt; ef680104-9b35-4933-9b10-52ffa9740042&lt;br /&gt; Vendor specific&lt;br /&gt;Characteristic (Handle 0x0240)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service000e/char0015&lt;br /&gt; ef680105-9b35-4933-9b10-52ffa9740042&lt;br /&gt; Vendor specific&lt;br /&gt;Characteristic (Handle 0x0240)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service000e/char0017&lt;br /&gt; ef680106-9b35-4933-9b10-52ffa9740042&lt;br /&gt; Vendor specific&lt;br /&gt;Characteristic (Handle 0x0240)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service000e/char0019&lt;br /&gt; ef680107-9b35-4933-9b10-52ffa9740042&lt;br /&gt; Vendor specific&lt;br /&gt;Characteristic (Handle 0x0240)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service000e/char001b&lt;br /&gt; ef680108-9b35-4933-9b10-52ffa9740042&lt;br /&gt; Vendor specific&lt;br /&gt;Characteristic (Handle 0x0240)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service000e/char001d&lt;br /&gt; ef680109-9b35-4933-9b10-52ffa9740042&lt;br /&gt; Vendor specific&lt;br /&gt;Primary Service (Handle 0xacdc)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service001f&lt;br /&gt; ef680200-9b35-4933-9b10-52ffa9740042&lt;br /&gt; Vendor specific&lt;br /&gt;Characteristic (Handle 0x0240)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service001f/char0020&lt;br /&gt; ef680201-9b35-4933-9b10-52ffa9740042&lt;br /&gt; Vendor specific&lt;br /&gt;Descriptor (Handle 0x0000)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service001f/char0020/desc0022&lt;br /&gt; 00002902-0000-1000-8000-00805f9b34fb&lt;br /&gt; Client Characteristic Configuration&lt;br /&gt;Characteristic (Handle 0x5230)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service001f/char0023&lt;br /&gt; ef680202-9b35-4933-9b10-52ffa9740042&lt;br /&gt; Vendor specific&lt;br /&gt;Descriptor (Handle 0x0000)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service001f/char0023/desc0025&lt;br /&gt; 00002902-0000-1000-8000-00805f9b34fb&lt;br /&gt; Client Characteristic Configuration&lt;br /&gt;Characteristic (Handle 0x6b90)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service001f/char0026&lt;br /&gt; ef680203-9b35-4933-9b10-52ffa9740042&lt;br /&gt; Vendor specific&lt;br /&gt;Descriptor (Handle 0x0000)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service001f/char0026/desc0028&lt;br /&gt; 00002902-0000-1000-8000-00805f9b34fb&lt;br /&gt; Client Characteristic Configuration&lt;br /&gt;Characteristic (Handle 0x7b50)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service001f/char0029&lt;br /&gt; ef680204-9b35-4933-9b10-52ffa9740042&lt;br /&gt; Vendor specific&lt;br /&gt;Descriptor (Handle 0x0000)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service001f/char0029/desc002b&lt;br /&gt; 00002902-0000-1000-8000-00805f9b34fb&lt;br /&gt; Client Characteristic Configuration&lt;br /&gt;Characteristic (Handle 0x9a90)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service001f/char002c&lt;br /&gt; ef680205-9b35-4933-9b10-52ffa9740042&lt;br /&gt; Vendor specific&lt;br /&gt;Descriptor (Handle 0x0000)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service001f/char002c/desc002e&lt;br /&gt; 00002902-0000-1000-8000-00805f9b34fb&lt;br /&gt; Client Characteristic Configuration&lt;br /&gt;Characteristic (Handle 0xaa30)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service001f/char002f&lt;br /&gt; ef680206-9b35-4933-9b10-52ffa9740042&lt;br /&gt; Vendor specific&lt;br /&gt;Primary Service (Handle 0xacdc)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service0031&lt;br /&gt; ef680400-9b35-4933-9b10-52ffa9740042&lt;br /&gt; Vendor specific&lt;br /&gt;Characteristic (Handle 0x0240)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service0031/char0032&lt;br /&gt; ef680401-9b35-4933-9b10-52ffa9740042&lt;br /&gt; Vendor specific&lt;br /&gt;Characteristic (Handle 0x0240)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service0031/char0034&lt;br /&gt; ef680402-9b35-4933-9b10-52ffa9740042&lt;br /&gt; Vendor specific&lt;br /&gt;Descriptor (Handle 0x0000)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service0031/char0034/desc0036&lt;br /&gt; 00002902-0000-1000-8000-00805f9b34fb&lt;br /&gt; Client Characteristic Configuration&lt;br /&gt;Characteristic (Handle 0xd180)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service0031/char0037&lt;br /&gt; ef680403-9b35-4933-9b10-52ffa9740042&lt;br /&gt; Vendor specific&lt;br /&gt;Descriptor (Handle 0x0000)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service0031/char0037/desc0039&lt;br /&gt; 00002902-0000-1000-8000-00805f9b34fb&lt;br /&gt; Client Characteristic Configuration&lt;br /&gt;Characteristic (Handle 0xdf80)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service0031/char003a&lt;br /&gt; ef680404-9b35-4933-9b10-52ffa9740042&lt;br /&gt; Vendor specific&lt;br /&gt;Descriptor (Handle 0x0000)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service0031/char003a/desc003c&lt;br /&gt; 00002902-0000-1000-8000-00805f9b34fb&lt;br /&gt; Client Characteristic Configuration&lt;br /&gt;Characteristic (Handle 0xed10)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service0031/char003d&lt;br /&gt; ef680405-9b35-4933-9b10-52ffa9740042&lt;br /&gt; Vendor specific&lt;br /&gt;Descriptor (Handle 0x0000)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service0031/char003d/desc003f&lt;br /&gt; 00002902-0000-1000-8000-00805f9b34fb&lt;br /&gt; Client Characteristic Configuration&lt;br /&gt;Characteristic (Handle 0x0170)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service0031/char0040&lt;br /&gt; ef680406-9b35-4933-9b10-52ffa9740042&lt;br /&gt; Vendor specific&lt;br /&gt;Descriptor (Handle 0x0000)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service0031/char0040/desc0042&lt;br /&gt; 00002902-0000-1000-8000-00805f9b34fb&lt;br /&gt; Client Characteristic Configuration&lt;br /&gt;Characteristic (Handle 0x0f20)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service0031/char0043&lt;br /&gt; ef680407-9b35-4933-9b10-52ffa9740042&lt;br /&gt; Vendor specific&lt;br /&gt;Descriptor (Handle 0x0000)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service0031/char0043/desc0045&lt;br /&gt; 00002902-0000-1000-8000-00805f9b34fb&lt;br /&gt; Client Characteristic Configuration&lt;br /&gt;Characteristic (Handle 0x23c0)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service0031/char0046&lt;br /&gt; ef680408-9b35-4933-9b10-52ffa9740042&lt;br /&gt; Vendor specific&lt;br /&gt;Descriptor (Handle 0x0000)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service0031/char0046/desc0048&lt;br /&gt; 00002902-0000-1000-8000-00805f9b34fb&lt;br /&gt; Client Characteristic Configuration&lt;br /&gt;Characteristic (Handle 0x3c10)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service0031/char0049&lt;br /&gt; ef680409-9b35-4933-9b10-52ffa9740042&lt;br /&gt; Vendor specific&lt;br /&gt;Descriptor (Handle 0x0000)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service0031/char0049/desc004b&lt;br /&gt; 00002902-0000-1000-8000-00805f9b34fb&lt;br /&gt; Client Characteristic Configuration&lt;br /&gt;Characteristic (Handle 0x49c0)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service0031/char004c&lt;br /&gt; ef68040a-9b35-4933-9b10-52ffa9740042&lt;br /&gt; Vendor specific&lt;br /&gt;Descriptor (Handle 0x0000)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service0031/char004c/desc004e&lt;br /&gt; 00002902-0000-1000-8000-00805f9b34fb&lt;br /&gt; Client Characteristic Configuration&lt;br /&gt;Primary Service (Handle 0xacdc)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service004f&lt;br /&gt; ef680300-9b35-4933-9b10-52ffa9740042&lt;br /&gt; Vendor specific&lt;br /&gt;Characteristic (Handle 0x0240)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service004f/char0050&lt;br /&gt; ef680302-9b35-4933-9b10-52ffa9740042&lt;br /&gt; Vendor specific&lt;br /&gt;Descriptor (Handle 0x0000)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service004f/char0050/desc0052&lt;br /&gt; 00002902-0000-1000-8000-00805f9b34fb&lt;br /&gt; Client Characteristic Configuration&lt;br /&gt;Characteristic (Handle 0x5ec0)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service004f/char0053&lt;br /&gt; ef680301-9b35-4933-9b10-52ffa9740042&lt;br /&gt; Vendor specific&lt;br /&gt;Characteristic (Handle 0x5ec0)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service004f/char0055&lt;br /&gt; ef680303-9b35-4933-9b10-52ffa9740042&lt;br /&gt; Vendor specific&lt;br /&gt;Primary Service (Handle 0xacdc)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service0057&lt;br /&gt; ef680500-9b35-4933-9b10-52ffa9740042&lt;br /&gt; Vendor specific&lt;br /&gt;Characteristic (Handle 0x0240)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service0057/char0058&lt;br /&gt; ef680501-9b35-4933-9b10-52ffa9740042&lt;br /&gt; Vendor specific&lt;br /&gt;Characteristic (Handle 0x0240)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service0057/char005a&lt;br /&gt; ef680502-9b35-4933-9b10-52ffa9740042&lt;br /&gt; Vendor specific&lt;br /&gt;Characteristic (Handle 0x0240)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service0057/char005c&lt;br /&gt; ef680503-9b35-4933-9b10-52ffa9740042&lt;br /&gt; Vendor specific&lt;br /&gt;Descriptor (Handle 0x0000)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service0057/char005c/desc005e&lt;br /&gt; 00002902-0000-1000-8000-00805f9b34fb&lt;br /&gt; Client Characteristic Configuration&lt;br /&gt;Characteristic (Handle 0x9af0)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service0057/char005f&lt;br /&gt; ef680504-9b35-4933-9b10-52ffa9740042&lt;br /&gt; Vendor specific&lt;br /&gt;Descriptor (Handle 0x0000)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service0057/char005f/desc0061&lt;br /&gt; 00002902-0000-1000-8000-00805f9b34fb&lt;br /&gt; Client Characteristic Configuration&lt;br /&gt;Primary Service (Handle 0xacdc)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service0066&lt;br /&gt; 0000fe59-0000-1000-8000-00805f9b34fb&lt;br /&gt; Nordic Semiconductor ASA&lt;br /&gt;Characteristic (Handle 0x0240)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service0066/char0067&lt;br /&gt; 8ec90003-f315-4f60-9fb8-838830daea50&lt;br /&gt; Vendor specific&lt;br /&gt;Descriptor (Handle 0x0000)&lt;br /&gt; /org/bluez/hci0/dev_xx_18_81_32_yy_B0/service0066/char0067/desc0069&lt;br /&gt; 00002902-0000-1000-8000-00805f9b34fb&lt;br /&gt; Client Characteristic Configuration&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Unable to read battery level from battery characteristic on Thingy:52 using bluetoothctl on linux</title><link>https://devzone.nordicsemi.com/thread/272712?ContentTypeID=1</link><pubDate>Fri, 02 Oct 2020 11:47:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6742fcd7-81e3-4dda-891e-3f912dc2e867</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Emotive,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Are you sure 0x1801 is battery service ?&amp;nbsp;&lt;br /&gt;Battery service is defined as 0x180F&amp;nbsp;&lt;a href="https://www.bluetooth.com/specifications/gatt/services/"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;And you can find the battery level characteristic (0x2A19) listed &lt;a href="https://www.bluetooth.com/specifications/gatt/characteristics/"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;0x1801 is the GAP service , that include the service changed characteristic you may have mistakenly enabled.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I would also suggest to capture a &lt;a href="https://www.nordicsemi.com/Software-and-Tools/Development-Tools/nRF-Sniffer"&gt;sniffer trace&lt;/a&gt; in addition to the log just to double check if the communication was correct.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>