2 Punkte von GN⁺ 2025-02-04 | 1 Kommentare | Auf WhatsApp teilen
  • 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

 
GN⁺ 2025-02-04
Hacker-News-Kommentare
  • Bei Apps, die Garth zur Authentifizierung verwenden, ist Vorsicht geboten. Die Integration mit Garmin ist schwierig.

    • Garmins API und SDK sind schwer zu nutzen.
    • Es gibt eine Möglichkeit, Daten aus Garmin Connect als FIT-Dateien zu exportieren.
    • Mit Open-Source-Bibliotheken für Python und Go lassen sich FIT-Dateien lesen und interpretieren.
  • Es gibt eine Möglichkeit, aktuelle Daten direkt vom Gerät abzurufen.

    • Man kann das Gerät an einen Computer anschließen, als Dateisystem mounten und die .FIT-Dateien abrufen.
  • Es ist nützlich, mit Intervals Garmin- und Strava-bezogene Daten zu analysieren.

    • Besonders gut ist, dass sich damit ruderspezifische Metriken erzeugen lassen.
  • Garmin sollte Hardware bereitstellen, mit der sich Daten besser verwalten lassen, statt von einer Smartphone-App abhängig zu sein.

    • Nicht nur der API-Zugang ist schwierig, auch auf die Meinung der Community wird nicht gehört.
    • Es wird eine Funktion benötigt, mit der sich Workouts ohne Ausrüstung filtern lassen.
  • Garmins SDK ist veraltet und der Datenzugriff ist eingeschränkt.

    • Das FIT-Dateiformat wird nur von wenigen Apps unterstützt.
  • Es werden Fitnessuhren mit besserem Datenzugriff benötigt.

    • Es wird eine Uhr benötigt, die Zugriff auf Gesundheitsinformationen in Echtzeit bietet.
  • Ich habe mir kürzlich die neue Garmin Vivoactive5 gekauft und bin zufrieden, auch wenn Garmins API nicht optimal ist.

    • Ich hatte die Apple Watch Series 10 in Betracht gezogen, mich aber wegen der Akkulaufzeit und des Preises dagegen entschieden.
    • Es braucht eine hackbare Open Watch, und die Rückkehr von Pebble könnte diese Lücke füllen.