Bike and other gear usage tracking

You should be able to update those counters using the API, even on retired stuff. You can also manually enter whatever you like for distance, time and activities on retired stuff using the app.

Thanks David. I see that I can manually enter times/distances. What I was hoping for was to enter the dates that a component was in use, and get intervals.icu to calculate the times/distances based on that info. Is that possible? If not, will it help to post this as a feature request?

2 Likes

I’m playing w/ the API to create a UI for my app…
Now I’m seeing that one can also track “apparel” (things like jerseys and bibs I presume?)

How does this work? Since @david mentioned that he’s only doing 2 levels. (essentially, everything is centered on bikes and components attached to bikes)

BTW - I’m using GC (Garmin Connect) to track mileage on my jerseys and bibs :-p

GC?

With only two levels it’s a bit of a workaround, but if you track the mileage of your actual bike in the “frame” component and use the “bike” “gear” as group you can create all kinda if setups. I’m still trying to figure out how to best track over several nested layers using the api to update components that are not “linked” via icu but rather externally (like a json dict with before/after/parent-id pairs im the description)

(Edited my post to show what GC means)

so basically you;re saying

Outdoor Bike A (BikeA + orange jersey + yellow bib + black gloves + red socks)
Outdoor Bike B (BikeA + red jersey + yellow bib + black gloves + red socks)
Outdoor Bike C (BikeA + green jersey + yellow bib + black gloves + red socks)

like that?

OMG…

but via the API… yes, that’s possible to add it differently cos via the API, the jersey and such are not attached to bike, but can be updated

Yes, it gets really ugly really quick :wink:

My Setup at the moment:

  • Indoor [Road]
    frame:road, trainer:kickr - rest gets tracked via “tags”
  • Indoor [Tri]
    frame:tri, trainer:kickr - rest gets added via “tags”
  • Gravel
    frame:gravel, wheelset:650b - rest gets added via “tags”
  • Road
    frame:gravel, wheelset:700x28 - rest gets added via “tags”

Tags have two meanings here.

  • One it json in the component description to map it to their respective “parent” (as in nesting - to be done - via API)
  • the other is a tag in the activity (like #blue_bib) to not clutter the gear that much (also to be done via API)

All together:

  • I’m adding components for everything (still in the progress to do so unfortunately - so nothing to show yet)
  • I group a few things into “gear” for autoselection based on activity type (I’ll switch from default:Gravel to default:Road when it gets warmer and I swap wheelsets on my gravel bike)
  • components that are nested get a list of json dicts (after/before/parent-id) in their description - over the API they’re “matched” in order to trigger component updates regarding time/distance usage
  • bike computer, power meter, hrm should be accessible via the fit file of the activity - so I’m planning to link them that way (less tags to set manually)
  • other stuff (bib, jersey, lights, helmet, shoes, …) are tracked using tags in the activity and “merged” that way
  • in order to automate the tagging I’m thinking of tagging the workouts that I schedule on the calendar - and then via the API replicate those tags into the linked activity, which in turn updates the components. That way I won’t have to tag the same setup for the same ride. I just schedule that specific route/equipment workout

So much for the theory. Right now I’ve started using tags in order to keep track of stuff. I haven’t added all components and I’m not yet doing anything with the tags, so nothing actually shows the right distances (apart from the frames which get updated via Intervals because of my gear setups I described in the first block)

err… i tot IT was to simplify life :stuck_out_tongue:

I think I’ll might just continue tracking things in GC. since it’s all set-up and I update it after every ride.

however, in your scenario, you can also possibly group jersey/bib combo (I personaly don’t care about the same jersey brand w/ same bib brand combo) and use that as a “combo”

but if you;re updating via the API, you can just access all the diff gears (components) individually. eg: red jersey/ green jersey etc and update it after every ride using details from that ride…

eg:
Outdoor ride (10km, 20mins)
Just update via API red jersey + green bib (+10km & +10m)

well “easy” :wink:

I don’t really have combos. Right now I pick whatever bib is on top of the pile and whatever base layer is available as those two are currently the only cycling related garments I’m using. With temperatures around 0°C I wear pants, shirts, jackets on top.

In the summer I usually have a combo with matching socks/cycling cap and bib/jersey.

Just Messing Around… The other stuffs, Apparel / shoes etc only shows up if it’s associated w/ the bike tho…

1 Like

I just tried to put a random “component” into the activity as a Gear and the CURL request was ignored as “gear is a component”

Hence, my original idea of using the API to attach a list of gears/components to it didn’t work.

Well there is a difference between gear and components

Is there a way to add multiple gear options to one activity, ideally as default per activity type or otherwise manually?

My current gear setup in Intervals.icu is:

  • 1 bike (default for outdoor rides)
  • 1 trainer (default for indoor rides)
  • Several components like chain, cycling shoes etc. which are assigned to the bike & trainer as applicable
  • Several pairs of running shoes which I assign after each run manually

I have now purchased an optical heart rate sensor which only has about 20 hours of battery life. I intend to wear it for basically all activities from now on and would like to get reminded to charge it after say 12 hours of usage.

Is there a way to do this? The only thing that comes to my mind is adding the sensor as a component to all gear items including all the pairs of running shoes, which would be annoying to maintain over time. And even that would not cover everything, since I also intend to use it for gym workouts where I do not assign any gear at all.

Have I overlooked something? Suggestions welcome…

1 Like

Unfortunately not as of yet.

I have the same “problem” but my solutions would require a shitload of components and nesting. At the moment this is not possible and probably not very high in the list of priorities, since it is not something everyone needs.

Pity - thanks for the reply

@david, are there any specific reasons for not allowing more than one gear item (e.g. complicated to implement) or any disadvantages I might overlook?

From my point of view, opening this up to more than one item (and allowing more than one default) would make the otherwise brilliant gear section so much more flexible as to how one would be able to use it.

that could possible even be a workaround for nesting

I was just trying to keep it simple. The gear stuff is already a little complicated with gear + components + reminders. But there have been several requests for this already.

OK, understood. So, here’s hoping that such an option will make it onto the todo list at some point. I think it would be a great enhancement. :slight_smile:

1 Like

Just found this, very useful!

To clarify on use, if I have two sets of wheels I use on one bike, there is no way to go in and click on an activity and say “oh, that was the off road wheelset” and it update, right?

So I’d have to go to ‘Settings > Bike > Components > Remove ‘Road Wheels’ From Bike’ , then assign ‘Off Road Wheels’ to bike, and do the same when I swapped them back? This could work, but if I forget there seems to be no way to fix it afterwards. Hopefully I’ve not missed something obvious! Something like a tick box for what components on the activity would be ideal.

It’s simpler to have a separate ‘equipment’ set up with each wheelset, but use the same frame (and other components). So my equipment has 3 “bikes” that just differ by wheelset.

Untitled
The actual frame component (and others) has the combined total.
Untitled

3 Likes