# Tymewear: an interactive activity chart

**URL:** <https://forum.intervals.icu/t/tymewear-an-interactive-activity-chart/90911>\
**Category:** Uncategorized\
**Created:** [16 February 2025 21:34 UTC](https://forum.intervals.icu/t/tymewear-an-interactive-activity-chart/90911 "2025-02-16T21:34:13Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Inigo\_Tolosa](https://forum.intervals.icu/user_avatar/forum.intervals.icu/inigo_tolosa/32/26187_2.png) [@Inigo\_Tolosa](https://forum.intervals.icu/u/Inigo_Tolosa)\
**Post date:** [16 February 2025 21:34 UTC](https://forum.intervals.icu/t/tymewear-an-interactive-activity-chart/90911/1 "2025-02-16T21:34:14Z")

</div>

I’ve shared the **`tymewear`** activity chart, which allows you to analyze ventilation, respiratory rate, power and heart rate all in a single graph for TymeWear users who use the Garmin CIQ `TymeWear` data field.  
You need to subscribe to the following custom streams:

- `TymeVentilation`
- `TymeBreathRate`

I actually think this chart could be interesting even if you’re not a TymeWear user, because it’s a complex chart that implements several noteworthy features:

- Separate vertical axes for each data series
- The ability to switch the horizontal axis from time to distance
- The ability to adjust the moving average period for each metric

It also includes the usual chart features like zoom, pan and the option to hide individual data series.

If you’re not a TymeWear user, simply subscribe to the custom streams and the chart will display power, heart rate and altitude (if the corresponding stream exists).

I will provide same chart using **`alphaHRV`** a1, respiration rate and rra1 soon.

 ![image](https://forum.intervals.icu/uploads/default/original/3X/0/f/0f2263dde1bb162960384a0a80c8e5ac83bc32c2.jpeg)  
 ![image](https://forum.intervals.icu/uploads/default/original/3X/4/9/49a53ad4911a6008fa88fec4f16c57b79ec3d428.jpeg)

---

<div class="post-metadata">

**Author:** ![david](https://forum.intervals.icu/user_avatar/forum.intervals.icu/david/32/30189_2.png) [@david](https://forum.intervals.icu/u/david)\
**Post date:** [18 February 2025 10:11 UTC](https://forum.intervals.icu/t/tymewear-an-interactive-activity-chart/90911/2 "2025-02-18T10:11:27Z")

</div>

This is cool! Tx. Intervals.icu maps “tyme\_breath\_rate” to “respiration” and “tyme\_minute\_volume” to “tidal\_volume\_min”. So if you use those stream names people won’t have to add custom streams.

---

<div class="post-metadata">

**Author:** ![Inigo\_Tolosa](https://forum.intervals.icu/user_avatar/forum.intervals.icu/inigo_tolosa/32/26187_2.png) [@Inigo\_Tolosa](https://forum.intervals.icu/u/Inigo_Tolosa)\
**Post date:** [18 February 2025 10:29 UTC](https://forum.intervals.icu/t/tymewear-an-interactive-activity-chart/90911/3 "2025-02-18T10:29:30Z")

</div>

But this naming is confusing because ventilation and tidal are different parameters already measured by tymewear.  
You should map:

- ventilation to tyme\_minute\_volume
- tidal to tyme\_tidal\_volume

And regarding respiration, I found some cases where this was mapped randomly to tyme, Garmin or alphaHRV. I use my own custom streams so I don’t know if it still behaves that way.

---

<div class="post-metadata">

**Author:** ![david](https://forum.intervals.icu/user_avatar/forum.intervals.icu/david/32/30189_2.png) [@david](https://forum.intervals.icu/u/david)\
**Post date:** [18 February 2025 12:33 UTC](https://forum.intervals.icu/t/tymewear-an-interactive-activity-chart/90911/4 "2025-02-18T12:33:38Z")

</div>

You could look for your own custom streams first and fallback to the built in ones. I am going to make Intervals.icu favour the “tyme\_” record fields when importing the fit file.

I have also renamed the built in streams a bit after chatting to Tyme:

 ![Screenshot 2025-02-18 at 14.30.19](https://forum.intervals.icu/uploads/default/original/3X/c/d/cd3c8bbc8e8d5cbf31f83875f7a42d4128c905ce.png)

The id’s are the same (can’t change those now):

```auto
  { id: 'respiration', text: $t('Respiration'), title: $t("Breathing rate per minute") },
  { id: 'tidal_volume', text: $t('VT (L/br)'), title: $t("Volume per breath (L)") },
  { id: 'tidal_volume_min', text: $t('VE (L/min)'), title: $t("Minute ventilation (L/min)") },

```

---

<div class="post-metadata">

**Author:** ![nyssen](https://forum.intervals.icu/user_avatar/forum.intervals.icu/nyssen/32/82102_2.png) [@nyssen](https://forum.intervals.icu/u/nyssen)\
**Post date:** [25 August 2025 09:12 UTC](https://forum.intervals.icu/t/tymewear-an-interactive-activity-chart/90911/5 "2025-08-25T09:12:12Z")

</div>

I have configured it today and VT (tyme\_tidal\_volume) is displayed with a unit of [ml/br] instead of [L/br].

Furthermore, the values do not really seem plausible to me, considering that IMHO the following should hold: VE [L/min] = VT [L/br] \* Respiration [br/min]. It seems like the values for VT are offset by a factor of 10 (so should rather be considered [cl/br] instead of [ml/br]).

---

<div class="post-metadata">

**Author:** ![thruswicki](https://forum.intervals.icu/user_avatar/forum.intervals.icu/thruswicki/32/49543_2.png) [@thruswicki](https://forum.intervals.icu/u/thruswicki)\
**Post date:** [25 August 2025 10:07 UTC](https://forum.intervals.icu/t/tymewear-an-interactive-activity-chart/90911/6 "2025-08-25T10:07:04Z")

</div>

> [@Inigo\_Tolosa](#):
>
> ally think this chart could be interesting even if you’re not a TymeWear user, because it’s a complex chart that implements sev

Thanks for your work. It works great in daily analysis!

---

<div class="post-metadata">

**Author:** ![david](https://forum.intervals.icu/user_avatar/forum.intervals.icu/david/32/30189_2.png) [@david](https://forum.intervals.icu/u/david)\
**Post date:** [25 August 2025 12:17 UTC](https://forum.intervals.icu/t/tymewear-an-interactive-activity-chart/90911/7 "2025-08-25T12:17:11Z")

</div>

> [@nyssen](#):
>
> I have configured it today and VT is given in “ml/br” instead of “L/br”.
> 
> Furthermore, the values do not really seem plausible to me, considering that IMHO the following should hold: VE (L/min) = VT (L/br) \* Respiration (br/min). It seems like the values are offset by a factor of 10 (if I consider ml instead of L).

Drat that’s a bad bug. It is fixed now. Will deploy Tuesday AM (GMT+2). People need to do Actions → Reprocess File (or Edit → Reprocess File from the list view) to fix existing activities. VT is in L now.

---

<div class="post-metadata">

**Author:** ![nyssen](https://forum.intervals.icu/user_avatar/forum.intervals.icu/nyssen/32/82102_2.png) [@nyssen](https://forum.intervals.icu/u/nyssen)\
**Post date:** [26 August 2025 06:58 UTC](https://forum.intervals.icu/t/tymewear-an-interactive-activity-chart/90911/8 "2025-08-26T06:58:17Z")

</div>

I contacted the tymewear support regarding this. They state their volume metric is not calibrated to liters. Accordingly, the tymewear app displays [i.u.] and [i.u./min] for VE and VT, referring to an “internally consistent but arbitrary measurement unit”.

Interpreting the VE values as [l/min] seemed to be plausible for me so far, based on the few activities I recorded.

---

<div class="post-metadata">

**Author:** ![david](https://forum.intervals.icu/user_avatar/forum.intervals.icu/david/32/30189_2.png) [@david](https://forum.intervals.icu/u/david)\
**Post date:** [26 August 2025 07:02 UTC](https://forum.intervals.icu/t/tymewear-an-interactive-activity-chart/90911/9 "2025-08-26T07:02:05Z")

</div>

I did some testing myself and it is certainly looks like the VT value in the .fit file from Tymewear is in 10ml increments. Converting that to L makes all the numbers work out so I think that is the correct decision. This is all live now.

---

<div class="post-metadata">

**Author:** ![david](https://forum.intervals.icu/user_avatar/forum.intervals.icu/david/32/30189_2.png) [@david](https://forum.intervals.icu/u/david)\
**Post date:** [26 August 2025 07:32 UTC](https://forum.intervals.icu/t/tymewear-an-interactive-activity-chart/90911/10 "2025-08-26T07:32:21Z")

</div>

I am going to have to revert this and report the raw Tymewear numbers with “i.u” as the units.

Via email:

> The number reported by Tymewear is absolutely **not** simply divisible by 100 in order to obtain the ventilatory volume in liters. That is not how it works, and in fact, the relationship is different for every individual athlete.

---

<div class="post-metadata">

**Author:** ![david](https://forum.intervals.icu/user_avatar/forum.intervals.icu/david/32/30189_2.png) [@david](https://forum.intervals.icu/u/david)\
**Post date:** [26 August 2025 07:59 UTC](https://forum.intervals.icu/t/tymewear-an-interactive-activity-chart/90911/11 "2025-08-26T07:59:57Z")

</div>

I have reverted the update. If you have athlete files received between 07h00 and 09h40 (GMT+2) today you need to reprocess them.

This post explains why you can’t just translate the Tymewear data into L:

> **[Calibration du TYMEWEAR, exemple des tests de réglages pour un athlète](https://www.hnsperformance.com/post/calibration-du-tymewear-exemple-des-tests-de-r%C3%A9glages-pour-un-athl%C3%A8te)**
>
> Dans cet article nous allons découvrir le test de fiabilité et de reproductivité de la ceinture Vital Strap Pro de Tymewear, le 1er outil de spirométrie de l'effort à ce jour

---

<div class="post-metadata">

**Author:** ![MedTechCD](https://forum.intervals.icu/user_avatar/forum.intervals.icu/medtechcd/32/40383_2.png) [@MedTechCD](https://forum.intervals.icu/u/MedTechCD)\
**Post date:** [26 August 2025 08:56 UTC](https://forum.intervals.icu/t/tymewear-an-interactive-activity-chart/90911/12 "2025-08-26T08:56:50Z")

</div>

Thanks for that link! Site contains plenty of information regarding ventilatory aspects.  
And since I master the French language, I have plenty of reading ahead 😉

---

<div class="post-metadata">

**Author:** ![James\_Eastwood\_Socks](https://forum.intervals.icu/user_avatar/forum.intervals.icu/james_eastwood_socks/32/26221_2.png) [@James\_Eastwood\_Socks](https://forum.intervals.icu/u/James_Eastwood_Socks)\
**Post date:** [26 August 2025 09:45 UTC](https://forum.intervals.icu/t/tymewear-an-interactive-activity-chart/90911/13 "2025-08-26T09:45:27Z")

</div>

I’ve got a TymeWear strap preordered, however I don’t use a Garmin (hammerhead HU).

As I understand it, until there is integration, I need to start and stop the activity using the TymeWear app, and afterwards I can merge my activity fitfile with the TymeWear data in the app.

Is there any way this could be automated as a back and forth with intervals.icu?

---

<div class="post-metadata">

**Author:** ![nyssen](https://forum.intervals.icu/user_avatar/forum.intervals.icu/nyssen/32/82102_2.png) [@nyssen](https://forum.intervals.icu/u/nyssen)\
**Post date:** [26 August 2025 09:58 UTC](https://forum.intervals.icu/t/tymewear-an-interactive-activity-chart/90911/14 "2025-08-26T09:58:50Z")

</div>

That was the conclusion I came to as well.

---

<div class="post-metadata">

**Author:** ![david](https://forum.intervals.icu/user_avatar/forum.intervals.icu/david/32/30189_2.png) [@david](https://forum.intervals.icu/u/david)\
**Post date:** [26 August 2025 11:21 UTC](https://forum.intervals.icu/t/tymewear-an-interactive-activity-chart/90911/15 "2025-08-26T11:21:01Z")

</div>

Maybe. We will have to find out what the TymeWear app outputs.

---

<div class="post-metadata">

**Author:** ![nyssen](https://forum.intervals.icu/user_avatar/forum.intervals.icu/nyssen/32/82102_2.png) [@nyssen](https://forum.intervals.icu/u/nyssen)\
**Post date:** [26 August 2025 11:31 UTC](https://forum.intervals.icu/t/tymewear-an-interactive-activity-chart/90911/16 "2025-08-26T11:31:03Z")

</div>

As I said, the tymewear app uses [i.u.] and [i.u./min] respectively. Having read the article, a personal scaling factor will be required to translate i.u. to liters. In case an athlete has lab test data, such a scaling factor could be individually calculated (I will try it myself).

I assume that such a factor could be configured using Javascript?

---

<div class="post-metadata">

**Author:** ![MedTechCD](https://forum.intervals.icu/user_avatar/forum.intervals.icu/medtechcd/32/40383_2.png) [@MedTechCD](https://forum.intervals.icu/u/MedTechCD)\
**Post date:** [26 August 2025 11:36 UTC](https://forum.intervals.icu/t/tymewear-an-interactive-activity-chart/90911/17 "2025-08-26T11:36:18Z")

</div>

> [@nyssen](#):
>
> I assume that such a factor could be configured using Javascript?

You can apply that factor by setting up a Custom Stream.

---

<div class="post-metadata">

**Author:** ![James\_Eastwood\_Socks](https://forum.intervals.icu/user_avatar/forum.intervals.icu/james_eastwood_socks/32/26221_2.png) [@James\_Eastwood\_Socks](https://forum.intervals.icu/u/James_Eastwood_Socks)\
**Post date:** [26 August 2025 11:56 UTC](https://forum.intervals.icu/t/tymewear-an-interactive-activity-chart/90911/18 "2025-08-26T11:56:38Z")

</div>

They seem to be very open to improving integrations.

> **[Software](https://www.tymewear.com/blogs/connectivity/software)**
>
> Please refer to the connectivity guides for connecting Tymewear with external Bluetooth devices, sensors and platforms.    Tymewear Data in other Applications Tymewear allows activity data (as .fit files) to be exported or synchronised. External...

---

<div class="post-metadata">

**Author:** ![nyssen](https://forum.intervals.icu/user_avatar/forum.intervals.icu/nyssen/32/82102_2.png) [@nyssen](https://forum.intervals.icu/u/nyssen)\
**Post date:** [26 August 2025 13:47 UTC](https://forum.intervals.icu/t/tymewear-an-interactive-activity-chart/90911/19 "2025-08-26T13:47:06Z")

</div>

> [@James\_Eastwood\_Socks](#):
>
> ere is integration, I need to st

 ![image](https://forum.intervals.icu/uploads/default/original/3X/e/e/eea01638513739606100009c42b767255ad9c465.png)  
I reprocessed all, but the one from this morning still seems to be broken.

---

<div class="post-metadata">

**Author:** ![david](https://forum.intervals.icu/user_avatar/forum.intervals.icu/david/32/30189_2.png) [@david](https://forum.intervals.icu/u/david)\
**Post date:** [26 August 2025 15:57 UTC](https://forum.intervals.icu/t/tymewear-an-interactive-activity-chart/90911/20 "2025-08-26T15:57:08Z")

</div>

Hmm. It worked when I reprocessed it. You need to do Actions → Reprocess File (analyse isn’t enough).

[Next page](https://forum.intervals.icu/t/tymewear-an-interactive-activity-chart/90911.md?page=2)
