{% extends "base.html" %} {% block title %}Settings · hevy2garmin{% endblock %} {% block head %} {% endblock %} {% block content %}
Credentials
Profile

Used to estimate calories burned. The Keytel formula uses your weight, age, heart rate, and VO2max to compute kcal burned during each workout.

Used in calorie formula. Auto-filled by "Pull from Garmin".
Optional IANA name. Stamps your local time into the uploaded file so Strava shows the right time. Leave blank to keep UTC.
How are calories calculated?
kcal/min = (-95.7735 + 0.634 × HR + 0.404 × VO₂max + 0.394 × Weight + 0.271 × Age) / 4.184
HR = Garmin watch or default 90 bpm VO₂max = {{ config.get('user_profile', {}).get('vo2max', 45) }} Weight = {{ config.get('user_profile', {}).get('weight_kg', 80) }} kg Age = from birth year {{ config.get('user_profile', {}).get('birth_year', 1990) }}

Based on the Keytel et al. (2005) prediction equation. HR comes from Garmin daily monitoring if available, otherwise defaults to 90 bpm. The rate is multiplied by workout duration to compute total kcal.

Heart Rate Data

When enabled, your Garmin daily heart rate data is fetched and overlaid on workout charts — showing your actual HR during each exercise with color-coded segments. This requires a Garmin watch or HR monitor that records to Garmin Connect. Data is cached locally after first load.

Enhance Watch Activities

When you start a Strength Training activity on your Garmin watch at the gym, hevy2garmin will detect it and combine your Hevy exercise data with that activity instead of creating a new one. You get 1-second HR sampling, training effect, EPOC, and recovery data. If no matching watch activity is found, it falls back to the normal upload.

Activity Description

Adds a summary of your exercises, sets, reps, weights, and calories to the Garmin activity description. Visible in Garmin Connect and connected apps like Strava.

Advanced

Watch Activity Matching

How closely a Garmin watch activity must match a Hevy workout to be enhanced. Lower overlap = more lenient matching, higher = stricter.

Minimum temporal overlap between watch and Hevy workout (default 70%)
Max difference between Hevy and Garmin start times (default 20 min)
Strength Training is always enhanced. Add other Garmin activity types here (comma-separated, using Garmin's internal name) to also enhance them with the matching Hevy workout, e.g. bouldering, indoor_climbing for climbing sessions.
After a workout your watch recorded, all three give you a single activity, they differ in what they keep. Merge sets (recommended) pushes your sets, reps, and weights into the watch activity and keeps it, so you keep the watch's heart rate and native metrics like training effect and body battery, and your exercises show with their names and full set data. Replace uploads a fresh named activity with your heart rate and deletes the watch copy, so you get named exercises but lose the watch-only metrics. Keep + describe leaves the watch activity untouched and only lists the exercises in its description, with no structured sets.

FIT File Timing

Controls how set durations are estimated in the FIT file when exact timing is not available from Hevy.

{% if auth_enabled %}
Sessions & Security

Manage where you're signed in. Signing out everywhere invalidates every active session cookie on all devices — you'll need to sign in again on each one.

{% if err == 'logout_all' %}
Couldn't sign out all devices — the database write failed. Please try again.
{% endif %}
This device
Current session · active now
Active
Sign out of all devices. Ends every session, including this one. Use this if you think a session may be compromised.
{% endif %} {% if unmapped %}
Unmapped Exercises ({{ unmapped|length }})
These show as "Unknown" in Garmin. Use hevy2garmin map to fix.
{% for name, count in unmapped %}
{{ name }} ({{ count }}x) unmapped
{% endfor %}
{% endif %} {% endblock %}