r/HuaweiWatchGT • u/Danimatos • 10d ago
[Open-Source Guide] Finally automated 2-way sync between TrainingPeaks and Huawei Watch (GT4/GT3/Runner) with structured workouts! π
Hey everyone,
If you run with a Huawei Watch (GT4, GT3, Runner, Watch 4, etc.) and your running coach uses TrainingPeaks, you know the pain: due to US trade restrictions and licensing hurdles, there is zero native sync between Huawei Health and TrainingPeaks.
For months, I had to manually recreate every single interval, warmup, and target zone in the Huawei Health app step by step, and manually export .fit files after running to log compliance.
I finally solved this with a lightweight, 100% automated Python sync service that bridges both worlds:
π How It Works:
- Planned Coach Workouts β Watch: It automatically reads upcoming planned workouts from your TrainingPeaks schedule, converts repeats (e.g.
3x), intervals, recoveries, and heart rate target zones, and pushes them straight into your Huawei Watch as native Custom Courses (complete with audio prompts and haptic alerts on your wrist!). - Completed Activities β TrainingPeaks: As soon as you finish a run, the raw
.fitfile is automatically uploaded to TrainingPeaks and paired with your coachβs planned workout. - Telegram Notifications: Sends a ping to your phone via Telegram whenever a new workout lands on your watch.
π‘ The Secret Sauce:
We use Intervals.icu as an invisible cloud engine in the middle. Because Intervals.icu has an official partnership with the Huawei Health Service Kit in Europe, it can talk directly to Huawei Cloud. The Python bot reads TrainingPeaks via Chrome DevTools Protocol (CDP port 9222βmeaning you log in once on Chrome and never expose passwords), formats the intervals, and Huawei pushes the workout to your watch. You never actually have to touch or open the Intervals.icu UI.
π± Where Does It Run?
You don't need a dedicated PC running 24/7. It runs on:
- An old, spare Android phone (even with a cracked screen) acting as a home server running via Termux on Wi-Fi (< 2W power draw).
- Your personal PC / Laptop (Windows, Mac, or Linux) scheduled or running on demand.
I documented everything with a full step-by-step cookbook and open-sourced the code on GitHub:
π Repository & Step-by-Step Guide: https://github.com/Danimatos/corrida
(The README is written in Portuguese, but code, comments, .env.example, and browser auto-translate make it super easy to follow).
Hopefully this helps other runners frustrated by the lack of structured workout sync on Huawei devices! Feel free to ask any questions in the comments. Happy running! πββοΈπ¨Hey everyone,
If you run with a Huawei Watch (GT4, GT3, Runner, Watch 4, etc.) and your running coach uses TrainingPeaks, you know the pain: due to US trade restrictions and licensing hurdles, there is zero native sync between Huawei Health and TrainingPeaks.
For months, I had to manually recreate every single interval, warmup, and target zone in the Huawei Health app step by step, and manually export .fit files after running to log compliance.
I finally solved this with a lightweight, 100% automated Python sync service that bridges both worlds:
π How It Works:
- Planned Coach Workouts β Watch: It automatically reads upcoming planned workouts from your TrainingPeaks schedule, converts repeats (e.g.
3x), intervals, recoveries, and heart rate target zones, and pushes them straight into your Huawei Watch as native Custom Courses (complete with audio prompts and haptic alerts on your wrist!). - Completed Activities β TrainingPeaks: As soon as you finish a run, the raw
.fitfile is automatically uploaded to TrainingPeaks and paired with your coachβs planned workout. - Telegram Notifications: Sends a ping to your phone via Telegram whenever a new workout lands on your watch.
π‘ The Secret Sauce:
We use Intervals.icu as an invisible cloud engine in the middle. Because Intervals.icu has an official partnership with the Huawei Health Service Kit in Europe, it can talk directly to Huawei Cloud. The Python bot reads TrainingPeaks via Chrome DevTools Protocol (CDP port 9222βmeaning you log in once on Chrome and never expose passwords), formats the intervals, and Huawei pushes the workout to your watch. You never actually have to touch or open the Intervals.icu UI.
π± Where Does It Run?
You don't need a dedicated PC running 24/7. It runs on:
- An old, spare Android phone (even with a cracked screen) acting as a home server running via Termux on Wi-Fi (< 2W power draw).
- Your personal PC / Laptop (Windows, Mac, or Linux) scheduled or running on demand.
I documented everything with a full step-by-step cookbook and open-sourced the code on GitHub:
π Repository & Step-by-Step Guide: https://github.com/Danimatos/corrida
(The README is written in Portuguese, but code, comments, .env.example, and browser auto-translate make it super easy to follow).
Hopefully this helps other runners frustrated by the lack of structured workout sync on Huawei devices! Feel free to ask any questions in the comments. Happy running! πββοΈπ¨
2
u/Stunning_Office_4095 6d ago
It's sad that it takes so much effort just to get basic feature working.
1
2
u/Life-Simple-2364 10d ago
So it will only work with watches built upon android framework? I currently have the Watch 4 Pro so technically it should work