Deleting the wiki page 'Pebble Datalog' cannot be undone. Continue?
Last but not least:
The pebble watch sends datalog packets at random intervals to its bluetooth peer whenever it is connected. This messages were previously acknowledged (ACKed) and discarded, because they contained no information that could be made use for. With the release of firmware 3.8 and the introduction of pebble Health, some of these messages were identified and decoded, and this page was born. The general packet structure of bluetooth messages is not discussed here: this page focus on the Datalog-related part of the message. Please see the source code to understand how the whole message is structured.
Pebble applications may send datalog messages, but must register/open a session beforehand. The session contains the information about:
After opening a session, further messages may be sent that contain the actual data to be transferred. These contain:
Of course watch apps may as well close the datalog sessions, using the aforementioned id.
Pebble Health - despite having its own UUID - sends the datalog message using UUID 0. Two distinct messages were identified, one for steps/activity data and one for sleep data, they may be identified thanks to the associated tag:
The 99 bytes of the item contain some metadata and information about 15 minutes of activity, several packets are usually sent in one message when the watch wasn’t connected for some time to Gadgetbridge; while connected, it was observed that each message contains only one packet and is sent every 15 minutes. Items may be concatenated within the same datalog message.
Metadata are contained at the beginning of each item. They are:
Records follow the metadata and one another without any separator, the length of each record and the length may be used to point to a specific record. Further the timestamp must be incremented manually by knowing the index of the record of interest. Each record (of version “5”, with length “6”) contains the following information:
The sleep data contain no metadata and information about (usually) one night of sleep. If during the night there were separate sleep sessions, they are reported as separate items. Items may be concatenated within the same datalog message. What is sent if the watch was not connected for more than one whole day has not been tested, but an educated guess is that more items will be used within the same datalog message.
In the case of sleep data an item contains a single record. Its content are:
A new message was introduced, identified by tag 84. It contains shallow and deep sleep data details. The steps message (tag 81) was updated. More details will follow.
The message with tag 84 was modified, further activity types were added, but they are still unknown. More details will follow.
No changes were detected so far.
All Pebble models before Firmware 3.8 already used three different datalog sessions coming from UUID 0 (tag ids 78,79 and 80). The original python libpebble suggested these were analytics and the Gadgetbridge developers also believe so. We will continue to discard these messages and no effort has been made to analyze the contents of these binary data packets.
General
Device Related
Development
Feature Discussion
FAQ
Deleting the wiki page 'Pebble Datalog' cannot be undone. Continue?