Open CTHRU opened 4 years ago
Hello coders, First of all thanks for writing this program. I was so sad that my Huawei GT couldn't connect to Strava. So with you help at least I can upload my activities now (although very annoying to do still). I'll send you some of my tracked swimming data. I track my swimming/walking/running/cycling but all at the lowest possible level.
For pool swimming (mostly 25m pool, but there could be 50m in there too) I have the following number per activity: 4,5,3,4,3,3,3,3,3,5,4,3,3,3,3,103,3,3,5,3,102,102,4,102,4,5,4,102,102,4,4,102,102,4,102,102,102,102,102,4,4,4,4,4,4,3,4,5,5,5,3,5
Not sure why there's some numbers in the 100s. Hopefully you do.
@markvanwijhe glad to hear you like Hitrava and thank you for your help. I'm afraid I don't understand the numbers your provided. Are these the sport types you found in the .json files for each single activity? The current program uses 5 = Walk and 3 = Cycle. Or did you find that your swimming activities have once 4, next time 103, next time 102? If you could shed some light on the situation, that would be great.
@CTHRU sorry I misunderstood the option [--sport Swim_Pool] I thought it would only convert the swimming. It's difficult for me to find the data of just one sport then.
The numbers are "sportType" numbers.
@markvanwijhe No problem. I think you could still help me. I think the numbers you listed above could well be the sport types in the json files. I'm missing the values for swimming and running activity sport types. If I have these, Hitrava can automatically set the correct Strava sport type in the generated TCX file, thus allowing Strava to recognize it and you wouldn't need to change the sport type manually in the Upload Activities screen of Strava.
Just to make sure, if you run Hitrava with the --json_export command line argument (e.g. example below):
python Hitrava.py --zip _your_zip_file_name_here_ --json_export
It will generate both (converted) TCX files for Strava (with a .tcx file extension) and a copy of the (unconverted) JSON data from Huawei for the activity with the same name but with a .json file extension.
If you open the JSON file of any swimming or running activity in a text editor(e.g. notepad), you will see something like below:
[{"motionPathData": [{"sportType": ?,
I would need the number where the question mark is in the line above for pool/open water swimming and running activities (or any other unknown activity for that matter, e.g workout, ...)
As an example, a walking activity will look like this:
[{"motionPathData": [{"sportType": 5,
Whereas a cycling activity will look like this:
[{"motionPathData": [{"sportType": 3,
Look forward to hear from you.
I'm also quite happy that this script exists ;). Funnily I discovered the project and this issue just before @markvanwijhe commented.
I've just received my GDPR export and run it through the script. My running activities ("Outdoor run" on my GT-2) always come with sportType
4. My hiking activities ("Hike" on the watch) all have sportType
282 - it seems like it got correctly detected though. Haven't used anything else so far.
@svenstucki Great, thanks for your help! Your observation is correct. If the sport type from the Huawei data is not known, Hitrava uses a small auto-detection algorithm to distinguish between walk/run/cycle/swim.
With your help, Hitrava will be able to auto set the correct sport type in Strava for running and hiking activities (luckily, this was also 1 of the supported types in Strava) in the near future.
SportType Activity 3 Outdoor Cycle 5 Walk 4 Outdoor Run 102 Indoor Swim 103 Indoor Cycle 111 Cross Trainer/Elyptical 117 Other
Do you still need data for Inline skating? Inline Skating is also supported at Strava. Will this amazing script also support it? I should receive my GT2 watch tomorrow, so i can test if needed.
I am unsure if you upload TCX files to Strava that you can change the activity ? Can anyone confirm? Thanks for all the work you put into this. A shame that it is not supported out of the box.
@PrintTheUniverse - It would be great if you could test conversion for inline skating (and provide me with the activity number). If it wouldn't work out of the box, I will be happy to look at it to get it supported. The TCX upload doesn't support the activity type directly (but I have plans to look into a different way to achieve this in the future). You can change the activity type immediately after upload to Strava (when the uploaded activities are presented for review) or by opening the activity details on the Strava web page and clicking the 'Edit this activity' button (the one with the 'pencil' icon).
Hey, I have an unknown activity type number 2, this is called "Climb" in my watch and "Mountain hike" inside Huawei health app.
I see inside the python files, _JSON_SPORT_TYPES already contains hike with number 282, I don't know if it's a mistake or my watch is different. I manually added a new type (2, HiActivity.TYPE_HIKE), and this seems to parse ok.
Btw I'm using a huawei watch gt with software version 1.0.12.8, maybe on other watches hiking has other id?
@dany123 Thanks for the find. I will add the sport type you found in a future release.
Rollerskating does not have an option to record GPS.
Typical Huawei.
On a side note, in the newest huawei health beta there is an option in the device settings page of the app to save GPS files. The option however does not seem to work at this moment. Maybe on my end but i cannot find any GPS files at my phone. But it's a good thing they are indeed working on it. Hopefully they also add GPS to different workout modes.
The beta version is huawei health beta 10.1.1.12 for those who are intrested.
https://aapks.com/apk/com-huawei-health/
Typical APK site, keep your adblocker on.
Hello, my list of SportType Activity 104 - open water swiming (you have -3 in _JSON_SPORT_TYPES (line 1133)) 118 - outdoor run (cross - country run)
Huawei Watch GT, apk Huawei Health 11.0.3.512 export from Huawei Cloud 20210103
(Edited) Hello,
Seems that Huawei has open health kit, with a lot of useful information for developers. I found the list of sports with the correspondent ID: https://developer.huawei.com/consumer/en/doc/development/connectivity-Guides/sport-status-0000001060093588
It does fit with many of the Hitrack files we use to parse the data.
I add here the list:
Workout Modes | Workout Status |
---|---|
0 | Unknown |
1 | Outdoor run |
2 | Outdoor walk |
3 | Outdoor cycle |
4 | Mountain hike |
5 | Indoor run |
6 | Pool swim |
7 | Indoor cycle |
8 | Open water swim |
9 | Other |
10 | Hike |
11 | Trail run |
13 | Rower |
14 | Elliptical |
15 | Indoor walk |
18 | Cross-country skiing |
19 | Skiing |
20 | Snowboarding |
21 | Driving range |
101 | Yoga |
102 | Aerobics |
103 | Strength |
104 | Spinning |
105 | Stepper |
106 | Air walker |
107 | HIIT |
108 | Group training |
109 | Pilates |
110 | Cross fit |
111 | Functional training |
112 | Physical training |
113 | Taekwondo |
114 | Boxing |
115 | Free sparring |
116 | Karate |
117 | Fencing |
118 | Belly dance |
119 | Jazz dance |
120 | Latin dance |
121 | Ballet |
122 | Core training |
123 | Body combat |
124 | Kendo |
125 | Single bar |
126 | Parallel bars |
127 | Street dance |
128 | Roller skating |
129 | Martial arts |
130 | Plaza dancing |
131 | Tai chi |
132 | Dance |
133 | Hula hoop |
134 | Frisbee |
135 | Darts |
136 | Archery |
137 | Horse riding |
138 | Laser tag |
139 | Kite flying |
140 | Tug of war |
141 | Swinging |
142 | Stair climbing |
143 | Obstacle race |
144 | Badminton |
145 | Table tennis |
146 | Tennis |
147 | Pool |
148 | Bowling |
149 | Volleyball |
150 | Shuttlecock |
151 | Handball |
152 | Baseball |
153 | Softball |
154 | Softball |
155 | Football |
156 | Beach soccer |
157 | Beach volleyball |
158 | Gateball |
159 | Hockey |
160 | Squash |
161 | Sepak takraw |
162 | Dodgeball |
163 | Sailing |
164 | Surfing |
165 | Fishing |
166 | Rafting |
167 | Dragon boating |
168 | Canoeing |
169 | Rowing |
170 | Water scooter |
171 | SUP |
172 | Ice skating |
173 | Ice hockey |
174 | Curling |
175 | Bobsleigh |
176 | Sledding |
177 | Biathlon |
178 | Skateboarding |
179 | Rock climbing |
180 | Bungee jumping |
181 | Parkour |
182 | BMX |
183 | Orienteering |
184 | Parachuting |
185 | Auto racing |
0xFF | Workout ends |
@dan1967 thanks for the info. I will add your information in a next update. @lfer23 thanks for the lookup, I'm aware of this list, but to my knowledge the types are only applicable to the Huawei API.
@lfer23 thanks for the lookup, I'm aware of this list, but to my knowledge the types are only applicable to the Huawei API.
@CTHRU I just edited the comment above to change the list to another one I found. I've found that it fits in with some of your types of sports. I guess it will be more useful than the previous one.
I'm looking for people who have
running,pool swimmingor open water swimming activities in Huawei Health that use the ZIP or JSON conversion.I'm in search of the HiTrack sport type codes for these types of activities in the HiTrack JSON data. You can provide me with the information as follows:
Thank you for helping out.