Garmin Strava duplicate handling for indoor activities

Hi,

I sync all my rides with garmin and strava and love the function that intervals pulls the name from strava and otherwise prefers the garmin data.

Anyway, for my Zwift indoor rides, I sync with strava and the actvitiy goes to intervals. I also dual record with my garmin edge. To not loose the speed and distance data, I cancel the “garmin - intervals sync” before every indoor ride so that the garmin data doesn’t sync.

Would it by possible to prefer the strava file for indoor rides only? Maybe as option to choose? Then I could leave both connections active.

For indoor rides, you only option is Zwift → Strava → Intervals.
Garmin wont sent Zwift rides anywhere.

if you dual record, then you will get Garmin → Intervals but it will not have distance / Speed and all the other stuffs from Zwift. It’s 2 separate things. AFAIK, no way to consolidate the 2 of them unless you do it manually via some apps to merge the fit files.

If you’re on iOS, I have a feature coming up soon.

Yes, I could merge it manually but it’s too much work for every activity. I only search a way that intervals recognize my garmin indoor ride as duplicate when there is a strava file with same date/time.

I don’t sync Zwift to Garmin.

Here is my sync:
Outdoor:
Garmin → intervals.icu
Garmin → Strava

Indoor:
Zwift → Strava
Garmin: no sync, just record as Indoor ride on my edge

For indoor, on my garmin, I deactivate strava and intervals sync.

Isn’t it easier to delete the Garmin one afterwards? I know it’s not automatic but it is less work compared to deactivating the sync.
Activity list View - select the Garmin one and delete.

3 Likes

You do this each time? Disconnect Strava and intervals each time you do an indoor ride then reconnect it back after?

I agree with @MedTechCD. Just delete it after.

1 Like

I don’t know the internal algorithm, but you will have 2 files with POSSIBLE similar timing but recorded by 2 diff devices and recording very different data and no algorithm should delete any activity unless explicitly requested by the user.

Yes, but it’s not a complete disconnect. Just in Garmin Connect settings I deactivate activities. Strava Live segments etc. stays as it is.

1 Like

I just checked it again and Strava did exactly this. I just have to make sure that I first save my zwift ride and after that I save my garmin ride. My garmin ride doesn’t sync with Strava then.

Then I got back to intervals and to my surprise it’s the same :slight_smile:
My garmin ride haven’t got synced and I have no duplicate. So, my deactivation and activation was totally unnecessary in the last year or so :see_no_evil:

Anyway, my problem seems solved. I just have to make sure that I first save the zwift ride.

2 Likes

if you’re on iOS, this is my new feature for cases such as this. No need for dual-recording and no data being stripped out from Strava.

1 Like

I was happy too soon. I had activated intervals.icu upload in my garmin connect settings, but on the intervals.icu website the box with download garmin activities was unchecked. So intervals only got the strava file.

Anyway, I tested with both settings activated: The file gots handeled like a outdoor ride. I have the strava name and the garmin data. But I loose speed and distance then.

So again my feature request: David, could you please add an option to favorise the strava file for indoor rides?

I had a feeling that it would end up this way.

Personally I think your request is going to be tough given the many choices/paths users May take.

Think about it.

Some users do not want the speed/distance (indoors). Then when Strava is prioritized, it means some data is lost (LR balance is the main one I’ve seen being discussed).

This is why has been suggested to use the Dropbox method to get zwift rides into intervals.

I don’t know how tough the coding is.
It would be one additional checkbox for the end user, something like “Prioritize strava for indoor rides”.

The dropbox method for zwift isn’t an option for me as I am using an Apple TV for Zwift. And I don’t see the advantage? I wouldn’t get LR balance with dropbox either?

It’s the one that is most mentioned but there’s a lot. Any IQ field data (think W’ AlphaHRV, RespRate…), Garmin Firstbeat metrics (Training Effect, Stamina, VO2…) that have made it to intervals thanks to custom fields… You loose all that if you simply use the Zwift file. I would always prefer to keep that data iso the ‘virtual’ indoor speed/distance data which is fake anyway. You are on the trainer and not going anywhere :wink:

The most complete solution to merge the files is fitfilerepairtools but it has a significant license cost. Gotoes does a very decent job at a lower cost (donation).
Both require you to download the Garmin and Zwift files and do some manual interaction before reuploading.
I’m not aware of any automatic solution.
I don’t have Zwift, but I every now and then use Zoffline which sends the recorded file directly to Intervals. So I download both Garmin and Zoffline fit file from Intervals, run them through Gotoes, reupload the resulting file to Intervals and then delete the originals. Result is a full Garmin file with map, speed, distance and elevation from Zwift.

1 Like

I just got a second power meter and was requested (via a DQ :sweat_smile:) to start dual recording.

So I started dual-recording. Zwift takes my primary source which I’d like to keep for power etc. Garmin Forerunner is recording the secondary source. Both sync to Strava and Garmin Connect, I download the secondary .fit from strava and post it up on zwiftpower for dual record analysis, then delete the secondary on Strava and Garmin Connect but it’s too late

On intervals I have an activity with a nice title and (to me) inferior data.

I’d love to have some sort of functionality that was similar to what is described: for indoor rides prefer file from xyz. Maybe it is even possible to detect it is virtual?

I don’t know but this is going to cause me to do workflow workarounds which is a bit ugh, or I just disconnect garmin temporarily like the original poster. (and I’ll forget sometimes I’m sure so will have to download old data from time to time I guess?).

I’m specifically interested because I live and train mostly at altitude so I’m a big user of the w:alt chart with a correction I put in on my activities afterwards, but the garmin file has no altitude track so I can’t apply the adjustment.

Help?

So for this you would want the indoor ride from Garmin Connect to be discarded by Intervals.icu? Intervals.icu already has incoming activity filters for Coros and Wahoo. I could extend that to Garmin.

Screenshot 2023-12-22 at 06.24.15

Maybe I should look at merging some traces from the Strava activity with the Garmin one? Would be nice to solve this dual recording use-case in a neat way.

So if I implement merging you would want the Strava traces (power etc.) to replace matching traces from Garmin?

1 Like

A ‘merging’ functionality integrated in Intervals would be awesome BUT…
I’ve been using Gotoes now for about 2 years and it works quite well once you found the settings that give you the result you’re after. Merging may look like an easy subject but it’s far from that. You need solutions for appending/joining files from the same or from multiple devices which require the whole stream to be recalculated with the correct settings. If you have overlapping streams with different data from the same activity, but from 2 different devices, the LatLong points are not the same and thus it’s way more complicated then simply joining points per timestamp. Velocity and altitude streams will have differences and can’t simply be put together.
Then you have all the different dev fields which are not always encoded in the same way. Coros for example has a bunch of running dev fields that can’t be viewed on Garmin Connect because they omit the record-name. I can see those in Intervals when using Custom Streams.
All this to warn @david that this may quickly become something very time-consuming. Users will come with endless different situations and expect the Merge to work. I know by experience that david is a wizard, but I just want to point out the possible traps that may cost him considerable dev-time.

3 Likes

Just the ability to filter which activities are downloaded from Garmin Connect, as is already implemented for Coros and Wahoo, would be amazing (and create consistency across all the data sources). For historical reasons (I’ve used a wahoo on my bike for years and only recently acquired a Garmin watch), I would prefer to prioritize the data from Strava (which includes my power data and chest strap HR) whenever it duplicates Garmin data for an activity. I use my garmin to provide a more holistic view of my stress/recovery/exertion/etc. and and occasionally want those other activities (cross-training, weight training, etc.) to be reflected inside intervals.icu. But generally, I’d like the strava data instead. Some might argue (and they might be right) that I should just sync my chest HR and power meters with my garmin. But for whatever reason, I find it simpler to keep all the cycling data on my head unit and “'everything else” on my garmin watch.

I have a similar issue that I cannot resolve currently and seems to only way would be via activity filtering from Garmin.
For my indoor rowing I use Smartrow on my Waterrower. This syncs data with Strava (incl power, distance etc.) For consistency I track indoor rowing on my Garmin Watch too and manually update the distance. This then synced back to Strava where I manually delete the Garmin activity.
For Intervals now: I initially get the Smartrow activity from Strava with Powerdata etc. But as soon as my Garmin watch is synced this activity gets replaced with a new one from Garmin (and Strava). Powerdata, distance etc is gone in the new activity. Is there a way to maybe undo this duplication detection? The only other fix I could think of would be a filter option from Garmin to exclude rowing activities for Intervals.
Thank you very much for your help!

Sorry I have been absent - I see I chimed in here then promptly ignored it for 21 days even after attracting a response from you @david :slight_smile:

I’m a programmer myself and I can’t imagine merge being anything other than a time sink [edit: that is, hard to implement thing] as @MedTechCD mentions.

I think a filter is a constrained (in programming terms: achievable) solution. If there was a filter for Garmin where I could say “ignore Garmin activity IF virtual/indoor” that would be great, I would already have a 99% solution there.

If the filter was even smarter and was able to express the idea “ignore Garmin IF (virtual/indoor AND Strava has activity detected as duplicate)” that would be a 100% solution for me personally

Finally as a programmer, I’ll express my continued appreciation for intervals.icu, it’s a daily destination :-). Cheers

Clarify, your sentence seems to imply that you think it’s simple? @MedTechCD’s post suggests that it is not.