averageRestingHeartRate and restingHeartRate values

I've got fenix 6 pro.

Is it normal that when averageRestingHeartRate is not null restingHeartRate is null?

  • (*) For example, the docs could emphasize that restingHeartRate can be null.

    The 4.0 preview 3 doc does include more info.  for restingHeartRate there's this for example, indicating null is possible:  The Monkey types stuff..

    var restingHeartRate as Number or Null

  • for me it can be null only if there is no values (e.g. watch not on wrist) in any other case tt;s a bug especially if Gaamin Connect can show this data so why not developer if it is in sdk

  • I already tried to explain this, dude, but I guess I'll try again.

    There are at least 3 different concepts of "Resting Heart Rate" here:

    1) Settings > User Profile > Heart Rate > Resting HR

    This is what the user configures on the watch and what's used for heart rate zones (if based on HRR), and the %HRR field. This can be one of:

    - null (not set up yet)

    - 7 day average resting HR (auto-set by watch)

    - custom value (static value set by user)

    2) 7 day average resting HR

    3) daily resting HR

    At the moment, UserProfile.restingHeartRate is 1) and UserProfile.averageRestingHeartRate is 2)  (I think).

    Regardless of whether we think that the docs are unclear or that it's a bug that 1) is initially null, it's apparently working as designed.

    Garmin can't just change UserProfile.restingHeartRate to be 3) like you want it to be, because that breaks any apps which rely on UserProfile.restingHeartRate being 1). 1) is important because it's the basis of HRR heart rates zones and the %HRR field.

    If I want to implement a data field which shows %HRR (which I have), then I need the definition of UserProfile.restingHeartRate to stay the same.

    What you're should really ask for here is a feature request to add 3) (daily resting HR) to the CIQ SDK (e.g. UserProfile.dailyRestingHeartRate). And maybe to clarify the docs for UserProfile.restingHeartRate.

    Just because UserProfile.restingHeartRate doesn't display what you expect it to, doesn't mean it's a bug. Sometimes things are designed a certain way for a reason.

    tt;s a bug especially if Gaamin Connect can show this data so why not developer if it is in sdk

    Garmin Connect (and the watch) can show a lot of things that Connect IQ apps can't. It sucks but that's the way it is.

  • I understand that Garmin doesn't allow to show everything and hide a lot of useful thing (to write fine app :)).

    But, there is sdk function

    getProfile() and filed restingHeartRate

    And it should return value according to it's name. Simple.

    I can't find in sdk getBodyBattery, ok Garmins's choice, but there is restingHeartRate.

  • But, there is sdk function

    getProfile() and filed restingHeartRate

    And it should return value according to it's name. Simple.

    But getProfile() returns a UserProfile.

    UserProfile includes several other things which are literally in Settings > User Profile such as:

    - height, weight, birth year, gender

    The restingHeartRate field is literally the resting heart rate configured in Settings > User Profile. This isn't just a random number -- it's used to set heart rate zones (when zones are configured for "use HRR"), and it's used to calculate the built-in %HRR field. So it's a valuable piece of information which is used for certain calculations, and you can't just replace it with daily resting HR, which isn't directly used for anything that's displayed/calculated during an activity. If you are writing a device app or data field that wants to display %HRR, you need UserProfile.restingHeartRate and the max heart rate (which is found in the HR zones).

    If anything:

    - The docs should be clear about *which* resting heart rate it is (especially now that averageRestingHeartRate has been added, which might suggest that daily resting heart rate should be available, which it isn't)

    - Maybe the setting should've defaulted to "use average" instead of "not set" (null), but that probably won't change

    - Maybe there should be a feature request to add the daily resting heart rate as a field in UserProfile

    I agree that it's confusing, but I disagree that the solution is to change the definition of UserProfile.restingHeartRate, because that would break existing apps.