• Stars
    star
    236
  • Rank 170,480 (Top 4 %)
  • Language
    Python
  • License
    MIT License
  • Created over 3 years ago
  • Updated 5 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

The Garmin Connect integration allows you to expose data from Garmin Connect to Home Assistant.

hacs_badge made-with-python Donate

Garmin Connect

The Garmin Connect integration allows you to expose data from Garmin Connect to Home Assistant.

NOTE: This integration doesn't support 2FA on Garmin Connect yet (support is coming), so if you have enabled it -and want to keep it- this integration doesn't work, it will try to login repeatedly and generate lots of 2FA codes via email. The change of adding support for it is unlikely since the Garmin Connect API is closed source, and will not be open for open-sourced projects.

Installation

HACS - Recommended

  • Have HACS installed, this will allow you to easily manage and track updates.
  • Inside HACS click 'Explore & download repositories'
  • Search for 'Garmin Connect'.
  • Click on found integration.
  • Click Download this repository with HACS.
  • Restart Home-Assistant.
  • Follow configuration steps below.

Manual

  • Copy directory custom_components/garmin_connect to your <config dir>/custom_components directory.
  • Restart Home-Assistant.
  • Follow configuration steps below.

Configuration

Adding Garmin Connect to your Home Assistant instance can be done via the integrations user interface.

  • Browse to your Home Assistant instance.
  • In the sidebar click on Configuration.
  • From the configuration menu select: Integrations.
  • In the bottom right, click on the Add Integration button.
  • From the list, search and select β€œGarmin Connect”.
  • Follow the instruction on screen to complete the set up

After successful set up a standard set of sensors are enabled. You can enable more if needed by using the Integrations page.

Please be aware that Garmin Connect has very low rate limits, max. once every ~5 minutes.

Available Sensors

Not every sensor holds meaningful values, it depends on the tracking and health devices you use, or the apps you have connected.

Enabled by default:

Total Steps
Daily Step Goal
Total KiloCalories
Active KiloCalories
BMR KiloCalories
Consumed KiloCalories
Burned KiloCalories
Total Distance Mtr
Active Time
Sedentary Time
Sleeping Time
Awake Duration
Sleep Duration
Floors Ascended
Floors Descended
Floors Ascended Goal
Min Heart Rate
Max Heart Rate
Resting Heart Rate
Avg Stress Level
Max Stress Level
Rest Stress Duration
Activity Stress Duration
Uncat. Stress Duration
Total Stress Duration
Low Stress Duration
Medium Stress Duration
High Stress Duration
Body Battery Charged
Body Battery Drained
Body Battery Highest
Body Battery Lowest
Body Battery Most Recent
Average SPO2
Lowest SPO2
Latest SPO2

Disabled by default:

Remaining KiloCalories
Net Remaining KiloCalories
Net Calorie Goal
Wellness Start Time
Wellness End Time
Wellness Description
Wellness Distance Mtr
Wellness Active KiloCalories
Wellness KiloCalories
Highly Active Time
Floors Ascended Mtr
Floors Descended Mtr
Min Avg Heart Rate
Max Avg Heart Rate
Abnormal HR Counts
Last 7 Days Avg Heart Rate
Stress Qualifier
Stress Duration
Stress Percentage
Rest Stress Percentage
Activity Stress Percentage
Uncat. Stress Percentage
Low Stress Percentage
Medium Stress Percentage
High Stress Percentage
Latest SPO2 Time
Average Altitude
Moderate Intensity
Vigorous Intensity
Intensity Goal
Latest Respiration Update
Highest Respiration
Lowest Respiration
Latest Respiration

Weight
BMI
Body Fat
Body Water
Body Mass
Muscle Mass
Physique Rating
Visceral Fat
Metabolic Age

Screenshots

screenshot

Tips and Tricks

Set up an automation using the garmin_connect.add_body_composition service

Useful if you want to pass your weight from another (incompatible) device to Garmin Connect. Garmin Connect does not calculate your BMI when you enter your weight manually so it needs to be passed along for now.

alias: uiSendWeightToGarminConnect
description: ""
trigger:
  - platform: state
    entity_id:
      - sensor.my_weight
condition:
  - condition: and
    conditions:
      - condition: numeric_state
        entity_id: sensor.my_weight
        above: 75
      - condition: numeric_state
        entity_id: sensor.my_weight
        below: 88
action:
  - service: garmin_connect.add_body_composition
    data:
      entity_id: sensor.garmin_connect_weight
      weight: "{{trigger.to_state.state}}"
      timestamp: "{{ as_timestamp(now())  | timestamp_local}}"
      bmi: >-
        {{ (trigger.to_state.state | float(0) / 1.86**2 )| round(1, default=0)
        }}
mode: single

Debugging

Add the relevant lines below to the configuration.yaml:

logger:
  default: info
  logs:
    custom_components.garmin_connect: debug

Donation

Donate

More Repositories

1

python-garminconnect

Python 3 API wrapper for Garmin Connect to get activity statistics
Python
902
star
2

3commas-cyber-bots

3Commas bot helpers, AltRank, GalaxyScore, Watchlists, Auto-Compound, TrailingStopLoss, TakeProfitIncrement
Python
210
star
3

home-assistant-google_fit

β™₯️ This component tracks your Google Fit activities.
Python
99
star
4

home-assistant-p2000

πŸš’ This component tracks P2000 emergency events in The Netherlands.
Python
52
star
5

home-assistant-toon_climate

This component provides a climate device for rooted Toon thermostats.
Python
30
star
6

RTL-SDR-P2000Receiver-HA

Receive P2000 messages using RTL-SDR stick and post them to Home Assistant
Python
23
star
7

home-assistant-arpscan_tracker

This component tracks devices using the arp-scan liinux command, it's very fast, and reasonably accurate.
Python
23
star
8

home-assistant-toon_smartmeter

This component reads and displays sensor values from the meteradapter connected to a rooted Toon thermostat.
Python
22
star
9

addon-p2000_rtlsdr

Receive P2000 events using Home Assistant and your RTL-SDR dongle
Python
16
star
10

node-apcupsd

Node.js code for publishing APC UPS info (from apcupsd) to MQTT broker
JavaScript
14
star
11

python-garminconnect-aio

Asynchronous Garmin Connect Python 3 API wrapper
Python
13
star
12

willemstijn_user_data

Python
13
star
13

freqtrade-cyber-bots

Freqtrade bot helpers and strategies
Python
12
star
14

home-assistant-hvcgroep

♻️ πŸ—‘οΈ This component fetches garbage pickup dates for parts of The Netherlands using HVC Groep's REST API.
Python
10
star
15

home-assistant-toon_boilerstatus

This component reads and displays the boiler status values from a rooted Toon thermostat.
Python
10
star
16

home-assistant-fireservicerota

πŸš’ This component tracks incidents from brandweerrooster.nl and fireservicerota.co.uk
Python
9
star
17

AI---LLMs-For-Automated-Trading

Algorithmic trading LLMs
Python
8
star
18

freqtrade-strategies

My freqtrade strategies
Python
6
star
19

python-garminconnect-ha

Minimal Garmin Connect Python 3 API wrapper for Home Assistant
Python
6
star
20

home-assistant-p2000lifeliners

Python
2
star
21

qfl-tradingview-3commas

Instructions to setup Prosum QFL on TradingView and 3Commas
Python
2
star
22

home-assistant-plugwise

πŸ”Œ This component can read values from and control Plugwise circles and plugs.
Python
2
star
23

python-fireservicerota

Python 3 API wrapper for FireServiceRota and BrandweerRooster
Python
2
star
24

home-assistant-ttn_gateway

This components reads statistics from a The Things Network Gateway.
Python
2
star
25

wemosomnikserialsensor

Download Omniksol data directly from inverter's AP and write JSON string to serial port for home-assistant sensor
C++
2
star
26

home-assistant-shell_recharge

The Shell Recharge integration allows you to expose data from EV chargers listed on shellrecharge.com to Home Assistant.
Python
2
star
27

public-freqtrade-strategies

Collection of freqtrade strategies found online
1
star
28

cyberjunky

1
star
29

bitvavo-aio

Asynchronous Bitvavo client in Python
Python
1
star
30

home-assistant-bitvavo

The Bitvavo integration allows you to expose data from Bitvavo to Home Assistant.
Python
1
star
31

python-movingintelligence-ha

Python
1
star