-
Notifications
You must be signed in to change notification settings - Fork 68
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
non-activity tracked data (i.e. steps, resting heart rate) #132
Comments
I assume that the information is stored in a file on the watch. I have an original Multisport watch that doesn't support this, so I can't check it myself. I guess the way to check would be to download a list of files on the watch and check the IDs against the list of file masks in |
Thanks. Do you expect that there would be ~150 files which don't match any mask in ttwatch? That seems like a lot. This is from a Spark Cardio + Music watch, if that makes a difference. Some of them do include the relevant words (i.e. "steps", "calories", etc) but look like they're just metadata. Considering how cryptic the activity files look, even in a hex editor, I'm not sure I would recognize useful data if I saw it. Do you have any tips for poking around in these files? |
If I change the 'tracker' settings of my adventurer, I see changes in the files 0x00b1xxxx, 0x00b2xxxx, 0x00b3xxxx. Maybe 0x00b4xxxx files may be also involved . These files seem to be in the google protobuf format, just like the uploadable trails (0x00b8xxxx files). At least 0x00b1xxxx and 0x00b3xxxx seem to contain multiple records. |
You just beat me to it. I was just posting that I would try just doing a diff of all the files one day apart and see what's happened. Thanks for the tip on protobuf format. That's a step in the right direction. I guess this is going to wait until this weekend when I have some spare time. Thanks!! |
I am interested in your findings :-) |
Use https://github.com/jmendeth/protobuf-inspector to peek into the files. Gives you the values. You just have to find out the varables... :-) Did this by hand once for the route files, not knowing the format :-( |
Thanks. I found that the other day, now I can get heartrate, timestamps, and one other field that looks like data but I havent identified yet. Wont habe time for it today but tomorrow I will probably be able to make some progress on it. Thanks again for the tips!! |
What I found out so far: Apart from the 0x00b1nnnn files, the activity records (without the added data) are also stored in 0x00b3000n (A<=n<=F). I guess these form a kind of sliding buffers, one file per day. 0x00b3000a always contains the oldest data, 0x00b3000f contains todays data.. So when a day passes, 0x00b3000a is scratched, 0x00b3000b becomes 0x00b3000a, etc. I assume the watch uses these files for displaying the activity tracking (those fancy charts). I added the protobuf definition file that can be used to decode the files. Now we've to find out the meaning of the values and unknown.... (note: you have to modify the options for the language you're using and use protoc to generate the source code) |
Those look promising. I've been looking at 0x00a60003. It seems to be appended frequently. It's huge (like 21MB, and growing) and has timestamps going back to August 1 at 10:40 am. I have no idea why that particular time is significant. Does the adventurer have that file? If so, what do you make of it? I attached mine here if you want to poke around in it. |
These 0x00a6nnnn files are present on my Adventurer (0x00a60000 and 0x00a60001; I cannot open your file, because it is too big; protobuf-inspector gives an out-of-memory). To me they seem internal log files or so, I cannot make sense of the values in it. |
Good work - I've always wanted to look at all the other data that the watch (Runner 2) stores, and which I know you can get off. I suspected these files to contain heartrate for the whole day etc. |
Wow, fantastic! I'm sorry I disappeared for a bit, I've been traveling for work and haven't had time for much else. I'll check out your protobuf definition when I have a chance and maybe add export capability to ttwatch also. Thanks for doing that! |
@scubajorgen — I had a look today at the These are the summaries of each field over a whole day if you could up the values of all records in the files, for the 1—8—1—2 records: 4: 52189 (time in day) I haven't figured out what 9 to 11 are yet, and how "points" are calculated. The watch shows "204" with the summary data from above. For each record, the values: |
@derickr Thanx mate! I found out this already. I just discovered I did not describe this record in my reverse engineering document on my blog: https://blog.studioblueplanet.net/?page_id=627. I will add it one of these days.
|
I found out about 8 and 9 already, but I see a 10 once in a while in the summary files (0x00b3xxxx). I haven't looked at the 0x00b1xxxx files yet, as I had no need. In any case, I did just submit this PR: #153 , which uses the tracker.proto file you attached at #132 (comment) I'm intending to look at the 0x00b1xxxx files next. |
I would like to contribute to this if possible. Has anyone made any more progress since the last post? |
Yes - many parts of this were merged through #153 |
First of all, thank you for your work on this! This project is one of the main reasons I bought a tomtom watch in the first place!
My question is whether or not it's possible to download tracked data that isn't associated with an activity, like steps/day, heart rate, etc. I know it's stored on the watch because the android TomTom app can access it (I downloaded the app specifically to check this).
If it's possible and hasn't been implemented could you point me in the right direction? I'd be happy to contribute.
Thanks!
-Jonathan
The text was updated successfully, but these errors were encountered: