Sposób na przeniesienie sesji treningowych z serwisu Polar FLOW do Garmin Connect

W życiu każdego z nas przychodzi ten moment, że mamy czegoś serdecznie dość, ale czy jedną z takich rzeczy może być nasz treningowy przyjaciel? Może zacznę od początku…

Moja przygoda z pomiarami treningów

Nie lubię zmieniać czegoś co działa. Zmiana zazwyczaj podyktowana była chęcią rozwoju, zyskania jakiejś konkretnej cechy która pozwalała mi zmienić trening lub pozbycia sie problemu.

Moja historia biegowego sprzętu pomiarowego jest bardzo krótka. Moim pierwszym zegarkiem był Garmin Fenix 3, kolejnym Polar Vantage M. Jeśli dobrze orientujecie się w datach wydania każdego z zegarków sportowych zauważycie że nie robiłem tego za często.

Oba zegarki spełniamy swoje funkcje. Zakładałem buty, wybierałem odpowiedni przycisk i po chwili były gotowe do rejestrowania mojej sesji treningowej. Może poza Polarem przez błędy którego, do serwisu zgłaszałem niezliczone ilości problemów a sam zegarek wysyłałem do naprawy lub wymiany. Muszę przyznać ze serwis Polara zawsze bardzo profesjonalnie podchodził to moich zgłoszeń. Chociaż nie śledzę już kolejnych wersji zegarka, zakładam, że były to problemy które producent usunął.

Swoją drogą myślę, że część z nich była zabawna i na tyle irytująca, że nadawałaby się na osobny wpis na blogu ;)

Przyszedł czas na zmianę

Od 2018 na każdą trasę biegową zabierałem mojego partnera i był nim zegarek Polar Vantage M. Przyznam, że początkowo byłem dobrze nastawiony. Zegarek skierowany był do profesjonalnych biegaczy i oferował na swój czas kilka unikalnych funkcji, tj. pomiar mocy biegowej bez użycia specjalistycznych czujników. Od początku jednak nie czułem się z nim najlepiej ale postanowiłem dać mu szansę.

Nie potrafiłem ustawić wszystkich tych rzeczy, które po prostu były mi potrzebne podczas treningu, a które miałem w Garminie. Jako jeden z tych „problemów” był to, że automatyczne zliczanie dystansu co 1 km powodowała pojawianie się dodatkowej tarczy z informacją. Jeśli jednak robiłem trening na stadionie sam odbijałem odległość sposobem „na linie” i jeśli oba te momenty zgrały się w czasie przycisk łapiący lapa nie reagował do momentu kiedy automatyczna tarcza nie znikła z wyświetlacza. Muszę dodać ze trwało to w moim odczuciu kilka sek. I tak wiem, pewnie mogłem to jakoś obejść ale po prostu mi się nie chciało zmieniać tego z treningu na trening.

Inną z opcji, która mnie interesowała była możliwość śledzenia intensywności treningu. Sam nie potrafiłem się hamować i orałem ile było sił, co nie zawsze przekładało się na zyskanie najlepszej formy biegowej. Polar niestety nie potrafił mi w tym temacie pomóc. Patrząc na to jak analizował moje wyniki największe moje zdziwienie budziło to jak przewidywał czas pokonania 10km i pokazywał mi 45 min w momencie, gdy ja prawie każdy swój bieg kończyłem w okolicach 36-37 min. Coś tam po prostu nie grało. A może to ja nie pasowałem do ich algorytmów?

Z każdym miesiącem narastało we mnie uczucie, że przyszedł czas na zmianę i tak po kilku latach mimo dużego zniechęcenia ceną nowych zegarków Garmina, która wydaje się być w jakiś sposób na określona na stałym poziomie postanowiłem nabyć swój egzemplarz. Jeśli chodzi o markę Sunto, z uwagi na doświadczenie z Polarem nie chciałem ryzykować.

Dodatkowym atutem przemawiającym za wyborem Garmina była możliwość wykorzystania ich SDK i sprzedaż oprogramowania skierowanego właśnie na tą platformę. Także, nowy zegarek przede wszystkim stał się czymś na czym mogę odrobine zarobić.

Który model wybrałem? Rozważałem Forerunner 945 i Fenix 6 Pro. Oczywiście jak większość z Was włączając w to mnie chciałbym poczekać na Fenixa 7. Ten mimo, iż poprzednie daty wypuszczenia sugerowałyby jego pojawienie się w czerwcu bieżącego roku pewnie jeszcze długo każe nam na siebie czekać. Zakładam, iż nowy model Garmina z uwagi na dobrze idącą sprzedaż aktualnych wersji jeszcze chwile utrzyma pozycję lidera.

Zastanawialiście się kiedykolwiek co nowego może zaoferować Garmin w siódmej odsłonie Fenixa?

Przeniesienie danych

Zegarek kupiony, jestem po pierwszym treningu, więc przyszedł czas na analizę i zagłębianie się w tym co tygryski lubią najbardziej. Zajrzałem więc do serwisu Garmin Connect (GC) aby zobaczyć co powie mi o tym co wyprawiam na treningach i jak mogę wykorzystać to żeby robić je mądrzej. Co do SDK nie będe się tutaj rozpisywał bo kogo to interesuje?

I tutaj pojawia się problem bo przecież serwis nie ma dostępu do danych z poprzedniego zegarka przez co nie ma wszystkich moich sesji. Nie wie co robiłem przez ostatnie kilka lat. Rozpocząłem poszukiwania opcji przeniesienia danych. Niestety poza jedną aplikacją na mobilki, serwisem internetowym i dwoma rozwiązaniami w BASH i pythonie nie ma nic. Oba serwisy w swoich opcjach nie mają wzajemnej wymiany informacji.

No to może Strava, tam chyba można wszystko synchronizować? Owszem ale Strava lubi brać nasze dane, żeby później móc poprosić nas o opłaty za ich korzystanie. Niekoniecznie zainteresowana jest ich wysyłaniem w czeluści innych serwisów w tym GC.

Szybko przypominam sobie, że przecież jesteśmy w UE, mamy swoje prawa i Polar FLOW (PF) powinno mi dać możliwość pobrania moich danych. Opcje znalazłem po za zalogowaniu do mojego konta Account.polar.com. W menu pojawia się możliwość pobrania danych, klikamy czekamy na maila i po dłuższej chwili dane są u nas. Niestety po ich otrzymaniu stwierdziłem, że format tych danych nie jest w żaden sposób zrozumiały dla GC i nie będę mógł ich przenieść to tego właśnie serwisu.

Postanowiłem zgłębić temat. W serwisie GC znalazłem opcje importowania sesji pozostało więc tylko znaleźć pasującą do tego opcje w serwisie PF. Polar FLOW oferuje możliwość eksportu kilku formatów danych TCX, CSV, GPX i dane HRV. Pobrałem jeden przykładowy plik i spróbowałem wgrać go do GC. Moim oczom ukazał się problem. GC nie potrafił poradzić sobie z importem pliku. Na szczęście jeden z linków na który trafiłem w sieci w temacie importu danych mówił o braku kompatybilności obu formatów. Szybko udało i się zidentyfikować i usunąć problem z pliku TCX polara.

Dlaczego wybrałem TCX? Nie analizowałem obu formatów. Metodą prób i błędów zauważyłem, że PF w plikach w formacie TCX eksportuje więcej informacji (metryk). Jeśli będziecie powtarzać moje kroki sprawdźcie, który format bardziej Wam pasuje.

Miałem już zatem rozwiązanie wystarczyło pobrać plik z serwisu PF i wgrać go do GC. Proste prawda? Myślę, że gdybym nie biegał tak często pewnie byłoby to bardzo proste i skończyło by się na kilku kliknięciach. U mnie jednak były to dane z kilku lat, każdy rok to setki aktywności i tysiące przebiegniętych kilometrów. Klikanie w PF zajęło by mi bardzo dużo czasu i takie rozwiązanie nie wchodziło w grę.

Jeśli śledzicie moje wpisy wiecie, że często podbieram się własnymi rozwiązaniami. I tak było w tym przypadku. Szybko opracowałem program, który zalogował się do PF, zrzucił moje dane po czym bez problemu wgrał je do GC. Rozmiar pobranych przeze mnie plików TCX to kilka GB. Cały process trwał wprawdzie kilka godzin (głównie pobieranie danych) ale mi sie z tym nie śpieszyło.

Od tego momentu mogłem spokojnie oglądać wszystkie swoje sesje w jednym miejscu.

Technicznie o problemie słów kilka

Jeśli nie jesteś technicznym geekiem jak ja pewnie nie zainteresuje Cię ten akapit. Zakładam, że osób z podobnym problem jest wiele a ilość informacji, która pozwala go rozwiązać mało dlatego postaram się w skrócie opisać sposób w jaki udało mi się przenieść dane z serwisu PF do GC bez utraty jakichkolwiek metryk.

Pliki TCX z PF nie chcą być czytane przez Garmina i aby usunąć ten problem najprościej jest usunąć w plikach XML węzły Creator i Author.

Pobranie plików z PF sprowadza się do uwierzytelnionego odwołania do adresu https://flow.polar.com/api/export/training/tcx/12345, gdzie 12345 zamienić należy na numery Waszych sesji z PF. Adresy poprzednich lub następnych aktywności odczytać można z zawartości strony z aktywnością. Wystarczy zacząć od ostatniej i posuwać się wstecz.

Umieszczenie plików w serwisie GC to wywołanie metody POST na adresie https://connect.garmin.com/modern/proxy/upload-service/upload/.tcx Adres również wymaga uwierzytelnienia za pomocą loginu i hasła.

W skrócie to tyle. Reszta mojego rozwiązania to dosłownie kilka linii w języku C# i prosty interfejs użytkownika, który łączy to w całość. Jeśli interesuje Was to co przygotowałem dajcie znać w komentarzach.

Co zrobić jak żyć?

Jest kilka możliwości. Możesz odpuścić i nie przenosić tych danych. Zacznij nowy rozdział swojej biegowej kariery, a ze starych danych korzysta wyłącznie w serwisie Polar FLOW. Takie podejście ma oczywiście swoje wady bo jeśli lubisz analizować albo wracać do swoich wyników nie będzie tego jednego miejsca i tych samych narzędzi do ich analizy.

Są również serwisy takie jak tapiriik.com lub podobne jemu aplikacje mobilne. Nie odbierajcie tego proszę jako reklamy. Korzystałem z tych serwisów ale ich głównym problemem jest to ze trzeba im podać swoje dane do logowania. Czy to nie jest jednak jeden z najprostszych sposobów żeby utracić możliwość dostępu do swojego konta?

Jeśli macie odpowiednie umiejętności i tyle zapału co ja pewnie opracujecie sobie podobne rozwiązanie. W sieci znaleźć można też kilka (dwa) darmowych rozwiań, które pozwalają na automatyczne wgranie plików TCX oraz ich naprawę. Nie jest to jednak kompletne rozwiązanie i tak zostaje część wrzucenia plików ręcznie do serwisu Garmin Connect. Rozwiązania mogą również z uwagi na brak ich rozwoju stać się nieaktualne. Tak samo nieaktualna może stać sie z czasem moja metoda postępowania. Pozostaje liczyć na to ze producenci dogadają się i umożliwią użytkownikom łatwe przeniesienie danych.

2 komentarze

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *