The Future of SuuntoLink / Movesink / DM
-
This is not quite on topic I’m afraid, but played around with some Movescount and Suunto app fit exports today. SA fit files origin from Strava /export_original . SA is also connected to TP, so checked with Training Peaks Uploaded FIles and fit-files from both sources are basically identical, only difference is start time; so this fit file is not something that is crafted specially for Strava.
I just wanted to know what this quote from FIT description actually means in real life:
Used to record heart rate variability data. The hrv data messages contain an array of RR intervals and are interleaved with record and event messages in chronological order.
And It’s just small arrays of IBI values beween other, timestamped, records:
#Exported from Movescount and fed trough SDK's FitToCsv: Data,6,record,timestamp,"916920666",s,position_ Data,1,hrv,time,"0.466|0.472",s,,,,,,,,,,,,,,,, Data,7,record,timestamp,"916920667",s,altitude, Data,1,hrv,time,"0.473|0.466",s,,,,,,,,,,,,,,,, Data,6,record,timestamp,"916920668",s,position_ Data,1,hrv,time,"0.472|0.471",s,,,,,,,,,,,,,,,, Data,7,record,timestamp,"916920669",s,altitude, Data,3,hrv,time,"0.466|0.471|0.473",s,,,,,,,,,, Data,6,record,timestamp,"916920670",s,position_ Data,1,hrv,time,"0.466|0.473",s,,,,,,,,,,,,,,,, Data,7,record,timestamp,"916920671",s,altitude,
Suunto app seems to have a bolder approach with either averaging or dropping about half of original samples - same time window, but instead of 11 samples there are only 5, one per record:
#Exported from SA / Strva and fed trough SDK's FitToCsv: Data,7,record,timestamp,"916920666",s,distance, Data,1,hrv,time,"0.472",s,,,,,,,,,,,,,,,,,,,,,, Data,5,record,timestamp,"916920667",s,position_ Data,1,hrv,time,"0.466",s,,,,,,,,,,,,,,,,,,,,,, Data,7,record,timestamp,"916920668",s,distance, Data,1,hrv,time,"0.473",s,,,,,,,,,,,,,,,,,,,,,, Data,5,record,timestamp,"916920669",s,position_ Data,1,hrv,time,"0.473",s,,,,,,,,,,,,,,,,,,,,,, Data,7,record,timestamp,"916920670",s,distance, Data,1,hrv,time,"0.47",s,,,,,,,,,,,,,,,,,,,,,,, Data,7,record,timestamp,"916920671",s,distance,
@Dimitrios-Kanellopoulos , is this by design?
Sum of all IBI samples is supposed to result total workout time, for Movescount export it was 03:44:45 (matches)
and for Suunto app export 01:44:08 .Also geeked out a bit over Runalyze (they, btw, do import SML files) and for that same activity from different sources HRV analysis results were somewhat different, yet less than I would have expected. Graphs differ mostly because of some outlier samples screw up the scale - at the end of Movescount IBI data there’s some kind correction sample that seems to be total_time - sum(ibi) or something, it’s already present in SML files.
Left: fit from Suunto app / Strava / TP; Rigth: Movescount fit export -
@margusl how did you get the IBI from the Suunto app?
Yes the sum should match pretty much the activity Absolute duration aka, should include pauses as IBI should come in while paused to maintain the time delta.
-
@margusl I like the plot of those IBI what are the y and x Axis values?
I do have raw ibi data access from the watches and I am developing a tool so I might be able to support those graphs as well. -
@Dimitrios-Kanellopoulos said in The Future of SuuntoLink / Movesink / DM:
@margusl how did you get the IBI from the Suunto app?
Suunto app syncs to both Strava & TP . And Strava /export_original output is a fit file with those hrv records. As said, TP export for the same activity is exactly the same.
@Dimitrios-Kanellopoulos said in The Future of SuuntoLink / Movesink / DM:
@margusl I like the plot of those IBI what are the y and x Axis values?
Plots are from Runalyze,
1st R-R intervals plot is samples [ms] over activity duration [hh:mm:ss]
2nd successive differences plot is time diff [ms] over activity duration [hh:mm:ss]
3rd is Poincaré plot, RR interval against next interval or RR(n)[ms] as x vs RR(n+1) [ms] as y -
@margusl are you sure it has hrv?
On the fit file records?
Where exactly on the fit file because I can’t find any ibi or HRV data
-
@Dimitrios-Kanellopoulos said in The Future of SuuntoLink / Movesink / DM:
@margusl are you sure it has hrv?
On the fit file records?
Where exactly on the fit file because I can’t find any ibi or HRV data
Yes, as you see from above snippets, hrv messages are all over the place, after every single timestamped record thorugh whole file, from top to bottom. Those snippets are from csv output of FitToCsv.bat, from FIT SDK. I would be bit suprised if hrv presence is related to watch model (A3P in my case) , but more than likely HR source plays a role here. Those are from Polar H10.
There’s one thing I did not check - there’s a chance that SA fit exports include just a fake HRV, calculated form HR. Though it would be verry much same as averaging.Just check again, activity was synced with SA today few hours ago and Strava export_original still returns fit-file with hrv messages:
Data,1,hrv,time,"0.391",s,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, Data,3,record,timestamp,"917371937",s,position_lat,"708543526",semicircles,position_long,"294059066",semicircles,distance,"15300.0",m,heart_ra Data,1,hrv,time,"0.39",s,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, Data,3,record,timestamp,"917371938",s,position_lat,"708543276",semicircles,position_long,"294058231",semicircles,distance,"15304.0",m,heart_ra Data,1,hrv,time,"0.387",s,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, Data,3,record,timestamp,"917371939",s,position_lat,"708542977",semicircles,position_long,"294057253",semicircles,distance,"15310.0",m,heart_ra Data,1,hrv,time,"0.388",s,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, Data,2,record,timestamp,"917371940",s,position_lat,"708542691",semicircles,position_long,"294056298",semicircles,distance,"15315.0",m,heart_ra Data,1,hrv,time,"0.293",s,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, Data,2,record,timestamp,"917371941",s,position_lat,"708542500",semicircles,position_long,"294055356",semicircles,distance,"15320.0",m,heart_ra Data,1,hrv,time,"0.391",s,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, Data,2,record,timestamp,"917371942",s,position_lat,"708542285",semicircles,position_long,"294054378",semicircles,distance,"15325.0",m,heart_ra Data,1,hrv,time,"0.38",s,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, Data,2,record,timestamp,"917371943",s,position_lat,"708542059",semicircles,position_long,"294053411",semicircles,distance,"15330.0",m,heart_ra Data,1,hrv,time,"0.377",s,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, Data,2,record,timestamp,"917371944",s,position_lat,"708541761",semicircles,position_long,"294052540",semicircles,distance,"15335.0",m,heart_ra Data,1,hrv,time,"0.376",s,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-
@margusl this is something the fitTocsv does. SA does not include hrv so you are most probably seeing generated data.
-
@margusl However you might also be right. I am now checking the fitSDK. Myabe the lib I am using is more old. I ll get back to you about this
-
-
@margusl this should be fixed from today on
-
The moveslink also manage updates of satellite position data. Can I update satellite position data after 2020 for my Ambit 1?