Daily High HR exceeds activity max and every plotted daily value

Garmin Connect Mobile iOS is showing conflicting heart-rate maximum values for the same day:

• Daily Heart Rate “High”: 185 bpm
• Highest value in the plotted two-minute Daily Timeline: 162 bpm
• The only recorded activity that day: average 139 bpm and maximum 169 bpm
• The activity’s per-second heart-rate data contains no value above 169 bpm
• The underlying daily summary reports maxHeartRate = 193 and maxAvgHeartRate = 185

Devices involved:
• fēnix 8 – 51 mm, Solar, software 23.24
• HRM 600, software 5.20

I understand Garmin’s documentation says Daily High is based on two-minute averages, while an activity maximum uses per-second data, and that an HRM 600 can contribute all-day heart-rate information. However, a two-minute average of 185 bpm cannot be reconciled with activity samples that never exceed 169 bpm, and there is no visible Daily Timeline point near 185 bpm.

Expected result:
The Daily High should reconcile with the available heart-rate series, or Garmin Connect should show the timestamp and source device used to calculate it.

Actual result:
Daily High = 185 bpm, plotted daily maximum = 162 bpm, activity maximum = 169 bpm, and the daily summary’s maxHeartRate field = 193 bpm.

Can Garmin confirm which sensor and timestamp produced the 185 and 193 values, and whether this is a sync/aggregation issue or an HRM 600 reading recorded outside the activity?

  • In my case, the Daily High HR indeed always corresponds exactly to the highest value on the daily HR graph. Just, sometimes it is not easily visible, unless you view the graph in landscape mode, and zoom on the critical parts by tapping on them. It is easier on the web version of Connect, though. BTW, I do use a HRM 600 too.

    Not sure where the value of 185 bpm comes from, in your case, but since you tell the max of the activity max was 169, I would expect it happened out of the activity. Double check the graph, zooming well all parts, and verifying that you did not miss the peak, in the condensed form of the graph.

    And if you want to check also the activity data, verifying whether the watch used the internal sensor, or the HRM, you can export the activity, and import the unzipped FIT file to https://www.fitfileviewer.com/ - you can then view and compare the graphs (as well as the raw data) of the wrist sensor, the HRM, and also the resulting HR curve used then in Garmin Connect.

  • Thanks—this is helpful, especially since you also use an HRM 600. I rechecked this in Garmin Connect Web rather than relying only on the condensed iOS graph. The complete two-minute daily series contains 657 points and tops out at 162 bpm; there is no 185 bpm point hidden by zooming.

    I also checked the activity’s per-second heart-rate series: 3,538 samples, maximum 169 bpm, with none higher. The 169 bpm activity peak aligns with the approximately 162 bpm two-minute point, which is consistent with averaging.

    So I agree that 185 bpm may have been recorded outside the saved activity—possibly by the HRM 600—but it is not represented anywhere in the daily series. There is another inconsistency: the daily summary reports maxHeartRate = 193 and maxAvgHeartRate = 185.

    The FIT-file suggestion is useful. I’ll inspect the export locally rather than upload it to a third-party site. What I’m hoping Garmin can clarify is the timestamp and source sensor for the 185/193 values, and why the displayed Daily High has no corresponding point in the daily graph.

  • I’ll inspect the export locally rather than upload it to a third-party site.

    You can still do it https://www.fitfileviewer.com/ - it does run in JavaScript locally on your computer. This is the Privacy Policy of the website, and if you do not trust it, you can review the JS code:

  • You're right—thanks for clarifying. I confirmed that Fit File Viewer processes FIT files locally in the browser. That resolves my privacy concern, but it does not change the discrepancy: the daily series tops out at 162 bpm, the activity at 169 bpm, while Connect reports 185/193. The unresolved question is still which sensor and timestamp produced those values.

  • Did you compare the curves "wrist heart rate", "external heart rate", and the resulting "heart rate"? None of them contains higher HR? If really not, then it did not come from the activity.

    Do you wear the HRM 600 strap without the watch, or with the wrist sensor disabled, out of activities? If not, then I do not think the HR could come from the HRM, since the Primary Wearable Device has always priority. 

    There is another inconsistency: the daily summary reports maxHeartRate = 193 and maxAvgHeartRate = 185.

    BTW, where exactly do you see the summary? Is it somewhere in the app, on the web, directly on the watch, or in a daily email digest?

  • Good questions. I exported the original FIT and compared all 3,538 records. The resulting heart rate matches external heart rate on every record, and both peak at 169 bpm. Wrist heart rate is present throughout and peaks at 174 bpm. None of the three channels reaches 185 or 193, so those values did not come from the activity.

    The fēnix 8 is configured as both Primary Wearable and Primary Training Device, and wrist HR was enabled during the activity. I have not tested the HRM 600 without the watch or with wrist HR disabled outside an activity.

    The 193/185 values are not from a visible summary screen. They are fields in Garmin Connect Web's daily-summary data returned to the browser: maxHeartRate = 193 and maxAvgHeartRate = 185; the app displays 185 as Daily High.

  • I checked the data of many dates, now. Not only the couple of last days, but also data up to 3 years old. In every case, the maxAvgHeartRate was equal to the High value, and identical to the highest peak on the graph. The maxHeartRate value is apparently the maximum HR before the 2 min averaging in Connect, rather using the 15s sampling rate of the watch, so it is usually slightly higher.

    Do you get these high values, not corresponding to the actual HR data, regularly, or was it just a single case? Do you have any gaps in the daily HR graph? Didn't the watch crash during the day? You could find traces of a crash in the /DEBUG folder on the watch - if you have a beta version, check the dates of the RAM dumps in the subfolder 'dump', or check the err_log.* files. I can imagine that the part with the high HR was lost during a crash.

  • Thanks. Correction: I checked the five prior days, since I did not use the HRM during the five days after. Three Daily High values matched their graph peaks, but the two immediately preceding days had smaller mismatches: 164 vs 162 and 161 vs 160. So this is not isolated.

    One of those mismatched days contained all 720 two-minute readings, while another day with gaps matched exactly. The affected day also has gaps, but the newest RAM dump predates it by over a month and neither err_log contains an entry for that day. The affected day remains much more extreme: 185 vs 162, with the activity channels at 169/174 and nothing at 185 or 193.