Garmin

by home-screensVerified·Health & Fitness·v1.5.0·Updated Jul 28, 2026

Your Garmin Connect health data on the wall: daily summary, Body Battery, sleep, recent activities, latest activity, and weekly training. Sign-in is handled by the app, so there are no API keys to set up.

Garmin plugin, Daily summary view
Daily summary
Garmin plugin, Body Battery view
Body Battery
Garmin plugin, Sleep view
Sleep
Garmin plugin, Weekly training view
Weekly training
Garmin plugin, Latest activity view
Latest activity
Garmin plugin, Training readiness view
Training readiness

About

Shows your Garmin Connect health data on a Home Screens display: daily steps, Body Battery, sleep, and recent activities.

Daily summary: steps ring with intensity minutes, Body Battery, resting heart rate, stress and sleep score

Requires Home Screens 1.8.0 or newer (the release that added demand-driven plugin state providers). You sign in with your Garmin account once in the editor; the display never sees your password.

Views

  • Daily summary — steps progress ring with this week's intensity minutes against your weekly goal, plus Body Battery, resting heart rate, stress, and sleep score tiles
  • Body Battery — current level gauge, charged/drained totals, and today's trend with stress overlay
  • Stress — today's average stress level with time spent at each level (rest/low/medium/high) and the day's curve
  • Sleep — total duration, sleep-stage bar (deep/light/REM/awake), HRV and restlessness, bed/wake times, and (on watches that report them) overnight SpO2, breathing rate, and sleep need
  • Activities — recent workouts with sport icons, distance, pace or speed, and heart rate
  • Latest activity — your newest workout in detail: sport-specific stats, heart-rate and elevation chart, HR zones, and splits
  • Weekly training — this week's per-day activity chart plus totals by sport, using your Garmin first-day-of-week setting so the numbers match the Connect app (or switch it to a rolling last-7-days window)
  • Training readiness — today's readiness score with the factors behind it: sleep, HRV, recovery, and training load
  • Training status — whether your training is paying off (Productive, Maintaining, ...), plus load focus, HRV status, VO2 max, and your 7-day load against the optimal range
  • HRV status — last night's heart rate variability against your balanced range, with a 4-week trend
  • Heart rate — resting heart rate, 7-day average, and today's heart-rate line
  • Race predictions — your watch's predicted 5K, 10K, half-marathon, and marathon times with their paces
  • Personal records — your best efforts, grouped by sport: fastest runs, longest run/ride/swim, and step records
  • Weight — your latest weigh-in with the change since last time, BMI, and a 4-week trend (only appears if you weigh in with a Garmin scale or log it in the Connect app); you add this view yourself, and weight is never shared with other modules

The training and HRV views need a watch that records those metrics (most newer Garmin watches do); the module explains when yours doesn't.

Views adapt to the module's size — a small card shows the essentials; a large module adds charts, splits, and extra stats. The Latest activity and Activities views can be pinned to one sport in the module settings.

Screenshots

Body BatterySleep
Body Battery gauge with today's trendSleep duration, stages and overnight stats
This week's activity per day with totals by sportThe newest workout with its chart, zones and splits
Training readiness score and the factors behind it

Shared state

The plugin publishes plugin:garmin:body_battery, plugin:garmin:sleep_score, and plugin:garmin:steps, so other modules can show or hide themselves based on your health data (for example, a wind-down reminder when Body Battery runs low). A key starts publishing as soon as any condition or rule references it — you don't need to add a Garmin module to the screen, and it keeps publishing even while your Garmin module is rotated off-screen.

Development

npm install
npm run dev     # builds and serves the bundle at http://localhost:5173
npm test        # unit tests
npm run build   # production bundle in dist/

In the Home Screens editor, open Plugin Store → Developer and load http://localhost:5173.

Release packaging

npm run build
mkdir -p /tmp/garmin-pkg/garmin/dist
cp manifest.json /tmp/garmin-pkg/garmin/
cp dist/bundle.js dist/bundle.js.map /tmp/garmin-pkg/garmin/dist/
tar -czf plugin.tar.gz -C /tmp/garmin-pkg garmin
shasum -a 256 plugin.tar.gz

Versions

1.5.0
Jul 28, 2026
Border, shadow, padding, and opacity from the Style panel now apply; the chosen font is used; colors with transparency are read correctly; contents scale with the Text size setting
Needs Home Screens 1.8.0 or newer
1.4.0
Jul 25, 2026
Body Battery, sleep score, and steps stay available to conditions and rules even when no Garmin module is on screen
Needs Home Screens 1.8.0 or newer
1.4.0-beta.2beta
Jul 20, 2026
Fixes StateProvider being silently missing from the built bundle, so shared-state keys actually publish
Needs Home Screens 1.8.0 or newer
1.4.0-beta.1beta
Jul 20, 2026
Publishes Garmin shared state (Body Battery, sleep score, steps) from a background provider even when no Garmin module is on screen
Needs Home Screens 1.8.0 or newer