- Python-Skript zum Parsen und Bearbeiten von Gesundheitsdaten in einer SQLite-Datenbank
- Lädt Daten aus Garmin Connect oder Garmin-Uhren sowie aus FitBit-CSV- und MS-Health-CSV-Dateien herunter und analysiert sie; mit Jupyter-Notebooks können die Daten in der Sqlite-Datenbank ausgewertet werden
Funktionen
- Lädt und importiert automatisch Daten wie ganztägige Herzfrequenz, Aktivitäten, Aufstieg/Abstieg, Stress und Intensitätsminuten von der Seite „Daily Summary“ in Garmin Connect
- Extrahiert Schlaf-, Gewichts- und Ruheherzfrequenzdaten aus Garmin Connect, speichert sie als JSON-Dateien und importiert sie in die Datenbank
- Lädt Aktivitätsdateien aus Garmin Connect herunter und importiert sie. Enthält Übersichtstabellen für alle Aktivitäten sowie Detaildaten für einige Aktivitätstypen
- Fasst Daten in Tabellen zusammen, einschließlich täglicher, wöchentlicher, monatlicher und jährlicher Zusammenfassungen
- Stellt Daten über die Kommandozeile oder mit Jupyter-Notebooks grafisch dar
- Archiviert heruntergeladene JSON- und FIT-Dateien, sodass die Datenbank neu erstellt werden kann, ohne Garmin Connect erneut zu verbinden oder Daten erneut herunterzuladen
- Kann Aktivitäten als TCX-Dateien exportieren
Verwendung
Release
- GarminDb wird auf PyPI gehostet. Python 3.x ist erforderlich. Zur Installation des neuesten Release im Terminal
pip install garmindb ausführen
GarminConnectConfig.json.example nach ~/.GarminDb/GarminConnectConfig.json kopieren, Garmin-Connect-Benutzername und -Passwort hinzufügen und das Startdatum der Daten anpassen
- Um alle Daten herunterzuladen und die Datenbank zu erstellen,
garmindb_cli.py --all --download --import --analyze ausführen
- Um die neuesten Daten herunterzuladen und zu importieren und die Datenbank inkrementell zu aktualisieren,
garmindb_cli.py --all --download --import --analyze --latest ausführen
- Zum Sichern der Datenbankdatei gelegentlich
garmindb_cli.py --backup ausführen
Aus dem Quellcode
- Das GarminDB-Repository per Git mit der SSH-Klonmethode klonen. Submodule müssen SSH verwenden
- Im geklonten Verzeichnisbaum
make setup ausführen, um die Datenverarbeitung vorzubereiten
GarminConnectConfig.json.example nach ~/.GarminDb/GarminConnectConfig.json kopieren, Benutzername und Passwort hinzufügen und das Startdatum anpassen
make create_dbs einmal ausführen, um Daten zu importieren und zu verarbeiten
- Den Befehl
make regelmäßig ausführen, um alle lokalen Daten auf dem neuesten Stand zu halten
Jupyter-Notebooks
- Jupyter-Notebooks zur Analyse der Datenbankdaten befinden sich im Verzeichnis „Jupyter“ im Quellbaum
Plugins
- Plugins ermöglichen es Nutzern, die Arten von Daten zu erweitern, die verarbeitet und in der Datenbank gespeichert werden können. GarminDb verfügt bereits über mehrere Plugins zur Verarbeitung von Connect-IQ-Apps und Datenfeldern von Drittanbietern
1 Kommentare
Hacker-News-Kommentare
Bei Apps, die Garth zur Authentifizierung verwenden, ist Vorsicht geboten. Die Integration mit Garmin ist schwierig.
Es gibt eine Möglichkeit, aktuelle Daten direkt vom Gerät abzurufen.
.FIT-Dateien abrufen.Es ist nützlich, mit Intervals Garmin- und Strava-bezogene Daten zu analysieren.
Garmin sollte Hardware bereitstellen, mit der sich Daten besser verwalten lassen, statt von einer Smartphone-App abhängig zu sein.
Garmins SDK ist veraltet und der Datenzugriff ist eingeschränkt.
Es werden Fitnessuhren mit besserem Datenzugriff benötigt.
Ich habe mir kürzlich die neue Garmin Vivoactive5 gekauft und bin zufrieden, auch wenn Garmins API nicht optimal ist.