All fields from Garmin activity

My Bad, I tot CHO == Carbohydrates

Just a comment that you probably live in an athlete bubble, if you think 40 is the lowest observable vo2_max. Maybe people are very sporty in your country, but here, if you take an average guy on the street, I would think that 40 is above the average. The mean is probably 35, and there are people who have a value like maybe 8.

image

2 Likes

Thanks, I’ve corrected the post for anyone reading.
Not sure why I mentioned 40 (was a long time ago).

I have another question: why do I only get payments with GCT Balance?
I have 51% left / 49% right

1 Like

Hello,
There is no one who can tell me what I’m doing wrong or what I need to adjust.

What are you after? GCT Balance is for running, L/R Balance is for Riding.
If you want L/R for Rides, it is there by default.

Thanks for the support

I added a custom field called “Max Performance condition”. This returns the maximal value of the performance condition. It is public and suggestions (like the same value the Garmin Device will show after 10 to 20 minutes after the start of a training?) are welcome.

image

Here is the script:

{
    let maxValue = -Infinity;

    if (icu && icu.fit && icu.fit.record) {
        for (let record of icu.fit.record) {
            let relevantFields = record.filter(field => field.num === 90 && typeof field.value === 'number');
            if (relevantFields.length > 0) {
                let maxFieldValue = Math.max(...relevantFields.map(field => field.value));
                if (maxFieldValue > maxValue) {
                    maxValue = maxFieldValue;
                }
            }
        }

        let v = maxValue;
        if (!Number.isNaN(v)) {
            console.log('Max value:', v);
        } else {
            console.error('Failed to calculate max value');
        }

        v;
    } else {
        console.error('icu or icu.fit or icu.fit.record is null or undefined');
    }
}

Hi, is there a way of getting the road surface info from Garmin too?

Just create a activity field for that.
image

1 Like

Thanks miguell!

Added one more:
image

2 Likes

Small bug, fixed

Hi all!

I’m new to Intervals.icu and analysis of Running data in general, but I greatly appreciate the features shown in this post.

I have a Garmin FR265 and use a Garmin HRM-TRI along with my watch. I import all of my Garmin data to Intervals.icu using the connection on the settings tab.

I’ve added most of the custom fields in this post, re-analysed and reprocessed my activities. I get data on most custom activity fields, with the exception of (1) LTP Detected, and (2) LTHR Detected.

Do anyone have an idea on what i’m doing wrong?

Thanks!

Garmin not always calculates those values, it depends on the activity.

1 Like

I see, thanks!

This is probably an unrelated question as I see that your post is about Garmin Activities, but i’ll try.

On the Garmin Connect Performance stats page, where one can see data on Lactate Threshold, are these stats not the same as the one’s you’ve created?

I haven’t be able to find them on the platform yet.

These are “historical” data / estimates and not based on “per activity” calculation. In some instances, on some activities, if you’ve triggered garmin’s threshold or algorithm, then they will calc (in watch) and write that into the FIT file for that specific activity.

That’s how you get these
Screenshot 2025-02-23 at 11.45.38 PM

2 Likes

Go to your historic and check when it was retrieved. You will see that not all activities updates LTH.

The LTHR / LTP is a very rare thing to happen, and don’t expect it to happen now in the winter (in the northern hemisphere). For me it happens usually during a race or later in the season, during a hard training.

4 Likes

Thank you all for your replies, it has helped a lot! :slight_smile:

1 Like