2 poin oleh GN⁺ 2025-02-04 | 1 komentar | Bagikan ke WhatsApp
  • Skrip Python untuk mengurai dan memanipulasi data kesehatan ke dalam database SQLite
  • Mengunduh dan mengurai data dari Garmin Connect atau jam tangan Garmin, file CSV FitBit, dan file CSV MS Health, lalu menganalisis data dalam database Sqlite menggunakan notebook Jupyter

Fitur

  • Secara otomatis mengunduh dan mengimpor data seperti detak jantung sepanjang hari, aktivitas, pendakian/penurunan, stres, dan menit intensitas dari halaman "Daily Summary" di Garmin Connect
  • Mengekstrak data tidur, berat badan, dan detak jantung saat istirahat dari Garmin Connect, menyimpannya sebagai file JSON, lalu mengimpornya ke database
  • Mengunduh dan mengimpor file aktivitas dari Garmin Connect. Mencakup tabel ringkasan untuk semua aktivitas dan data terperinci untuk beberapa jenis aktivitas
  • Merangkum data ke dalam tabel yang mencakup ringkasan harian, mingguan, bulanan, dan tahunan
  • Menampilkan grafik data menggunakan baris perintah atau notebook Jupyter
  • Menyimpan arsip file JSON dan FIT yang telah diunduh sehingga database dapat dibuat ulang tanpa harus terhubung kembali ke Garmin Connect atau mengunduh ulang data
  • Dapat mengekspor aktivitas sebagai file TCX

Cara penggunaan

Rilis

  • GarminDb dihosting di PyPI. Membutuhkan Python 3.x. Jalankan pip install garmindb di terminal untuk memasang rilis terbaru
  • Salin GarminConnectConfig.json.example ke ~/.GarminDb/GarminConnectConfig.json, tambahkan nama pengguna dan kata sandi Garmin Connect, lalu sesuaikan tanggal mulai data
  • Untuk mengunduh semua data dan membuat database, jalankan garmindb_cli.py --all --download --import --analyze
  • Untuk mengunduh dan mengimpor data terbaru serta memperbarui database secara bertahap, jalankan garmindb_cli.py --all --download --import --analyze --latest
  • Untuk mencadangkan file database, jalankan garmindb_cli.py --backup sesekali

Dari source

  • Clone repositori GarminDB dengan Git menggunakan metode clone SSH. Submodule juga harus menggunakan SSH
  • Di tree hasil clone, jalankan make setup untuk menyiapkan pemrosesan data
  • Salin GarminConnectConfig.json.example ke ~/.GarminDb/GarminConnectConfig.json, tambahkan nama pengguna dan kata sandi, lalu sesuaikan tanggal mulai
  • Jalankan make create_dbs sekali untuk mengambil dan memproses data
  • Jalankan perintah make secara berkala agar semua data lokal tetap mutakhir

Notebook Jupyter

  • Notebook Jupyter untuk menganalisis data dari database berada di direktori 'Jupyter' dalam source tree

Plugin

  • Plugin memungkinkan pengguna memperluas jenis data yang dapat diproses dan disimpan ke database. GarminDb sudah memiliki beberapa plugin untuk memproses aplikasi Connect IQ pihak ketiga dan field data

1 komentar

 
GN⁺ 2025-02-04
Opini Hacker News
  • Perlu berhati-hati dengan aplikasi yang melakukan autentikasi menggunakan Garth. Integrasi dengan Garmin sulit

    • API dan SDK Garmin sulit digunakan
    • Ada cara untuk mengekspor data dari Garmin Connect sebagai file FIT
    • Ada pustaka open source untuk Python dan Go yang dapat membaca dan menafsirkan file FIT
  • Ada cara untuk mengambil data saat ini dari perangkat

    • Perangkat dapat dihubungkan ke komputer dan di-mount sebagai sistem berkas untuk mengambil file .FIT
  • Berguna untuk menganalisis data terkait Garmin dan Strava menggunakan Intervals

    • Terutama bagus karena dapat menghasilkan metrik yang berkaitan dengan rowing
  • Garmin seharusnya menyediakan perangkat keras yang memungkinkan pengelolaan data yang lebih baik alih-alih bergantung pada aplikasi ponsel pintar

    • Bukan hanya akses API yang sulit, mereka juga tidak mendengarkan masukan komunitas
    • Diperlukan fitur untuk memfilter olahraga tanpa perlengkapan
  • SDK Garmin sudah usang dan akses datanya terbatas

    • Format file FIT hanya didukung oleh aplikasi yang terbatas
  • Dibutuhkan jam tangan kebugaran dengan akses data yang lebih baik

    • Diperlukan jam tangan yang dapat mengakses informasi kesehatan secara real-time
  • Baru membeli Garmin Vivoactive5, dan meskipun API Garmin bukan yang terbaik, tetap puas

    • Sempat mempertimbangkan Apple Watch Series 10, tetapi batal karena daya tahan baterai dan harga
    • Dibutuhkan jam tangan open yang bisa di-hack, dan kebangkitan Pebble mungkin dapat mengisi kekosongan ini