Bike and other gear usage tracking

That didn’t work for me.
I changed the gear with the current tyre installed. But then my older tyre stayed on the same km obviously. I pressed calculate und then it was 0.

When you replace a component you need to replace it from whatever gear it is on. Replacing a component will retire it (remove it from any gear and set status to retired) and replace it with a new component copied from the old one (all reminders carried over).

Retired components are kept as history so you can see how long things last:

So I have a reminder set on my chain to check wear after 3300km.

1 Like

This would be nice also for sensors (your Accessories) if that information is available from upstream. Have an ID field for those and if a given accessory is detected and used uniquely in a gear setup you’ll know which bike was used.

1 Like

Is there a way to add both bike and shoes to default gear for cycling? At the moment it looks like only my bike Is getting tracked. Cheers!

I was wondering if anyone would invest in bike tracking and a recording device for your children’s bikes or any other bikes like these. So that when they go on rides you can see where they are and you have a recording to see what happened. Or to also put the recording device on your bike so that you can record your ride together.
I’m working on a product and just want to know if families is a market we should look into!

You can add “Cycling Shoes” as a component to your bike.

1 Like

Thanks David! Problem solved

Is there a way to set the date of actions like Retire, Replace, Remove From? This would make it easier to do the initial historical setup, or recover from a situation where one forgot to record a swap and went on some rides before realizing it.

1 Like

Hm. I dug around a little more and found that I can set the Retired date of a component using the API. But this doesn’t seem to update the usage counters (distance/time) of the component at all. And pressing “Calculate” doesn’t seem to do anything for a retired component, since it’s not part of any gear.

What I’m trying to accomplish is to enter historical dates on components (e.g. Chain X was in use from 2022-01-01 to 2022-07-01) and get the distance/time counters updated based on the activities that occured in that time window. Is this possible somehow?

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