
Integrating Garmin Connect with Home Assistant: Ideas, Automations, and Practical Use Cases
Wearables generate a surprising amount of useful data, but much of it stays locked inside their own ecosystem. By integrating Garmin Connect with Home Assistant, you can bring your health and activity data into your smart home and actually use it to influence your environment and routines.
In this post, we’ll walk through how the integration works, what kind of data you can expect, and—most importantly—how to turn that data into meaningful automations.
Why Use Garmin Data in Home Assistant?
Garmin devices track:
- Steps
- Activities (runs, walks, cycling, etc.)
- Sleep
- Heart rate
- Body Battery / stress
While Garmin Connect already visualizes this data nicely, it doesn’t act on it. Home Assistant changes that by allowing you to:
- Trigger automations based on your activity
- Adjust your home environment based on recovery or sleep
- Create feedback loops that reinforce healthy habits
Even though the integration is not real-time, it still provides powerful opportunities by reacting when data updates.
How the Integration Works
The Garmin Connect integration for Home Assistant pulls data from your Garmin account and exposes it as sensors.
Important Characteristics
- Reactive, not real-time
Data updates when:- You open the Garmin app
- A new activity is synced
- Garmin pushes updated metrics
- Polling-based updates
Home Assistant periodically fetches updated values - State-based triggers
You’ll typically trigger automations when a sensor changes value
Common Entities (Sensors)
Depending on your setup, you may see entities like:
sensor.garmin_stepssensor.garmin_caloriessensor.garmin_sleep_durationsensor.garmin_body_batterysensor.garmin_last_activitysensor.garmin_activities
These entities are the building blocks for your automations.
Designing Automations for “Reactive” Data
Since Garmin data is not live, the trick is to think in terms of:
“When new data arrives, what should happen?”
Instead of:
- “If I am running right now…”
Think:
- “When a run is registered…”
This mental shift makes the integration far more useful.
Use Case Ideas
1. Post-Workout Comfort Mode
When a new activity is detected:
- Turn on bathroom heating
- Increase ventilation
- Turn on hallway lights
This creates a seamless transition from training to recovery.
2. Sleep-Based Morning Routine
Use sleep duration to adjust your morning:
- Poor sleep → dim lights, quiet environment
- Good sleep → normal or energizing routine
3. Body Battery → Smart Home Mood
Low recovery can automatically trigger:
- Warmer lighting
- Reduced notifications
- Calmer music scenes
4. Daily Step Goals → Motivation
When you reach a milestone:
- Flash lights
- Send a notification
- Play a sound
This adds a bit of gamification to your day.
Example Automation: Post-Workout Routine
Let’s build a practical automation that triggers when a new activity is synced.
What It Does
When a new Garmin activity is detected:
- Turns on bathroom heating
- Turns on lights
- Sends a notification
YAML Example
alias: Garmin - Post Workout Routine
description: Trigger actions when a new Garmin activity is registered
mode: single
trigger:
- platform: state
entity_id: sensor.garmin_last_activity
not_from:
- "unknown"
- "unavailable"
condition: []
action:
- service: switch.turn_on
target:
entity_id: switch.bathroom_heater
- service: light.turn_on
target:
entity_id: light.hallway
data:
brightness_pct: 80
color_temp_kelvin: 2703
- service: notify.mobile_app_phone
data:
message: "Workout complete! Bathroom is ready for you."
Explanation
- Trigger
The automation fires whensensor.garmin_last_activitychanges. - Actions
- Turns on heating (comfort after exercise)
- Turns on lighting (practical and welcoming)
- Sends feedback to reinforce the habit
Advanced Example: Sleep-Based Morning Adjustment
You can also use sleep data to adjust your environment.
alias: Garmin - Sleep Based Morning Routine
mode: single
trigger:
- platform: time
at: "06:30:00"
condition:
- condition: numeric_state
entity_id: sensor.garmin_sleep_duration
below: 6
action:
- service: light.turn_on
target:
entity_id: light.bedroom
data:
brightness_pct: 40
color_temp_kelvin: 2222
- service: notify.mobile_app_phone
data:
message: "You slept less than 6 hours. Take it easy today."
Tips for Reliable Automations
1. Handle “Unknown” States
Garmin sensors can sometimes be:
unknownunavailable
Always account for this in triggers or conditions.
2. Use Template Sensors
You can combine Garmin data into more meaningful values.
Example: simple “activity score”
template:
- sensor:
- name: "Daily Activity Score"
state: >
{% set steps = states('sensor.garmin_steps') | int(0) %}
{% if steps > 12000 %}
3
{% elif steps > 8000 %}
2
{% else %}
1
{% endif %}
Now you can trigger automations based on a simplified score instead of raw numbers.
3. Combine with Presence Detection
Garmin data becomes much more powerful when combined with:
- Device tracking
- Wi-Fi presence
- Zone-based triggers
Example:
- Only trigger post-workout actions when you are actually home
4. Use Time Windows
Because sync timing is unpredictable:
- Add time conditions (e.g., morning, evening)
- Avoid triggering at night unintentionally
Real Value: Turning Data Into Action
The biggest benefit of this integration is not the data itself—it’s what you do with it.
Examples of meaningful outcomes:
- Better recovery after workouts
- Smarter mornings based on sleep
- Increased motivation through feedback
- A home that adapts to your physical state
Even with delayed updates, the data is still highly relevant for lifestyle automation.
Final Thoughts
Garmin Connect integration in Home Assistant is a great example of how personal data can enhance your smart home. While it may not offer real-time tracking, it excels at event-driven automation—especially around workouts, sleep, and daily activity.
If you focus on moments that matter (like finishing a workout or waking up), you can create automations that feel surprisingly natural and useful.
Start simple, experiment, and gradually build smarter routines around your daily habits.
Some of the links in this article are "affiliate links", a link with a special tracking code. This means if you click on an affiliate link and purchase the item, we will receive an affiliate commission. The price of the item is the same whether it is an affiliate link or not. Regardless, we only recommend products or services we believe will add value to our readers. By using the affiliate links, you are helping support our Website, and we genuinely appreciate your support.