Yes I want also available for Fenix 6 !!! Is the developer here ?
Interesting stuff, and I like having another datapoint to reference.
How might I access this info in the custom stream builder? Iâm getting âTypeError: cannot read property â0â from nullâ when trying to access icu.streams.Alpha1, though I see that populated in the fit file.
Just playing with correlations. Might not amount to anything, might prove useful (to me, anyway) or at least interesting (again, to me)
{
let alphaOne = icu.streams.Alpha1
let watts = icu.streams.watts
for (let i = 0; i < data.length; i++)
{
data[i] = watts[i] / (alphaOne[i]/0.75)
}
}
All streams from the Garmin IQ field AlphaHRV are already available per standard:
a1 and RR/a1 in above screenshot, same for Artifacts and respiration.
You can also add the Alpha HRV chart on the HR page:
(Bit of a long story here, sorry, writing this down here because it does affect ImReady4 results I believe, note BTW that Iâm using the Python version not the Matlab one!)
On RHR data Iâve noticed something interesting and likely (?) unhelpful with Garmin data. While probably one would assume that RHR for a date is the overnight RHR for the night before that date, this isnât always true.
In reality, itâs the lowest 30m average on that overall day. If I wake up to a high RHR but then spend the day at work at my desk, Iâll regularly see that reduce the dayâs RHR by at least 1 or 2 bpm.
And more significantly, and honestly this seems like a Garmin bug maybe, as long as you go to sleep well before midnight, thatâs another opportunity to replace your high RHR datapoint with a lower one, where RHR for day 1 and day 2 will both be very nice and low even if you had a tough day 0, as long as on day 1 you took it easy. (Want to go nuts on day 2 again? Wonât show up on your stats either.)
With ImReady4, this leads to images for subsequent days showing datapoints moving around. And most importantly, when you run it in the morning, it will compare that morningâs RHR against previous all-day RHRs, so a misleading baseline Iâd say?
I donât how to fix this, and of course someone may even disagree with me on whether this is truly brokenâŚ
It´s simple. RHR is a spotcheck and needs to be measured and evaluated at the same moment and in the same conditions every time.
If you want it to be meaningfull, measure it first thing in the morning, right after waking up.
Dump the Garmin value. They only give you what the unknowing customer prefers.
You don´t want to know what your lowest value is over 24hr (it could actually be an artefact). And you don´t want to know what it is after sitting at a desk for multiple hours. What you want to know, is how your body responds after an effort followed by a normal night of rest and recovery. That´s something you can work with for analysis. It tells you if you returned to baseline or not.
Yup, agreed. But do you mean you donât trust automatic RHR measurements overnight of any kind? Iâm definitely a sucker for things happening automatically (I never trust myself with any kind of routine ).
I wonder whether Intervals.icu could be pickier about the RHR datapoints it takes from Garmin and/or track morning RHR separately from all-day RHRâŚ
I donât think that Intervals needs to be pickier. I think if the end user wants meaningful analysis they they need to take meaningful measurements. Overnight average/lowest RHR is garbage data. Measurements are not repeatable.
Thanks for the reply. I want to play with the data, which I canât do with someone elseâ charts. And since the available charts are locked, I canât introspect them to figure out the fields behind the charts. This is why I shared my code.
Do you have the standard charts enabled?
That probably locks the data-streams and then you can´t do ´your´ things. Only one process can access the same stream AFAIK.
With or without the standard dfa-a1 chart, I get the same results, which is not surprising, since JavaScript, like most programming languages, doesnât care about multiple processes reading from an object(prototype, technically, with JS). Also, if that were the issue, you wouldnât be able to have both âstandardâ charts at the same time (or most of my ThisVsThat charts), which works just fine.
The error message seems to indicate a stream at icu.streams.Alpha1 which is empty on an activity for which the standard charts work. This would suggest either that the standard charts are reading from a different stream, or the alpha1 stream is being treated differently from many other streams.
Had a second look on this. I was able to create custom data streams for a1, RR/a1, Artifacts and respiration without any problem. Just Add custom stream and use the dropdown to select the FIT stream.
Did you try to first build a stream and access that one iso of going straight to the FIT file contents?
I donât think you can access the FIT data directly, you have to build an object from the data before using it in the code.
If you only want to play with Alpha1, the standard stream is named âdfa_a1â so I think this
let alphaOne = icu.streams.dfa_a1
should work
Shouldnât you view this more like DSLR cameras vs smartphones? Yes, DSLR cameras will still make better photos than any smartphone can when you need zoom, when your subject moves around a lot, etc. But the best camera is the one you have on you all the time.
So likewise, measurements that consistently happen canât be 100% garbage surely, and since they donât involve fumbling around in bed in the morning trying to get your HRM on without waking up your partner, youâll also have them consistently every night instead of maybe twice a week.
So yes, no âgold standardâ data, but the consistency makes up for it pretty well.
If repeatable here means you measure twice and get the same result: When I take two or three readings in a row with EliteHRV without moving around in between I see more variance between those, than I see between my nighttime readings several days in a row sometimes to be honestâŚ
You can use night measurements but there are a few things to consider:
- only use an average of the full night! Spotchecks during the night are meaningless, they can be artefacts or measurements during a certain sleep stage. During REM sleep, your HR will be much higher compared to HR during deep sleep. Absolutely avoid taking the âlowestâ measurement number of any duration, thatâs like playing on a one-arm-bandit.
- your measurements are taking place much closer to the time of your effort and do not reflect a ârestedâ situation that well. This is especially important if you work out late in the evening. A big part of the night will then reflect your bodyâs work to recover from the effort done. You will probably see more variance if you regularly have rest days were your body will be much more relaxed during the night.
If you consider these things in your analysis, the data is usable but it doesnât make it easier.
Repeatable means being able to follow the same routine, day in, day out. Itâs not successive measurements on the same day. Only one reading should be taken on any given morning.
The night measurements can never be consistent. You donât sleep in the same position every night and body position is hugely influential on HRV readings.
Best practice for morning readings is after you get out of bed and go to bathroom (if required). Measurement taken sitting down.
Marco Altini has great articles on this. Iâll try dig one out for you later when I get home.
Thank you. icu.streams.dfa_a1 is what I was looking for.
I tried to get data into the custom fitness chart to no avail. I made a custom wellness field, turned data delivery in the script on TRUE and added the chart on the fitness page. I can manually activate the 4 different status and they show in the wellness and fitness chart. But no data transfer is happening. I started the script multiple times, repopulated it, witout error, script is working perfectly. What am I doing wrong?
What data fields are you using and where are you getting the data from (which HRV app?).
Sorry I did not specify properly, but I found the solution myself:
You also have to enter âtrainingAdviceMustBeSentToIntervals = trueâ in the PopulateImReady4.m script and in the âImReady4.mâ script. Not only in the âconfig_athletes.mâ script. It would be helpful to mention this as well in the top post.
Thanks for your great support in this forum, it is really asppreciated, and thx to Inigo_Tolosa for this cool tool and MedTechCD for all the explanations in this thread.
Hey there,
as I donât have a Wellness Field âTraining Adviceâ - what would be the correct settings to create it?
Thank you
Andy
You donât need to create it, you can use a shared one.
Click on âAdd Calendar Entryâ (the + icon), then Wellness data, Fields and then on the Looking glass.
Search for âadviceâ and add the field.