Von der Matte in die Cloud: Workouts tracken mit automatischem Komoot-Import

Ob Gym oder eine ausgedehnte Fahrradtour– sportliche Aktivitäten festzuhalten ist oft lästig. Der Sports-Tracker Skill löst das auf elegante Weise: Ein SQLite-basiertes System, das nicht nur manuelle Aktivitäten loggt, sondern automatisch Touren von Komoot importiert – mit Distanz, Höhenmetern und Kategorisierung. Alles zentral in einer Datenbank, alles offline-first.

Das Konzept: Vereinigung von Tracking & Import

Der Sports-Tracker vereint drei Kernfunktionen in einem Tool:

  • Manuelles Logging – Gym, Fahrrad, Wandern, Joggen oder Skifahren per CLI mit automatischer Kalorienberechnung
  • Komoot-Import – Automatischer Abruf von Touren via API mit Dedup anhand der Komoot-ID
  • Intelligente Reports – Wochen-, Monats- und Statistik-Ansichten mit Emoji-Visualisierung

Warum SQLite?

  • Offline-First – Alle Daten lokal gespeichert, keine Abhaengigkeit von externen Fitness-Plattformen
  • Privat – Keine Weitergabe von Bewegungsdaten an Dritte
  • Portabel – Einfaches Backup und Migration der sports_tracker.db
  • Automatisierbar – Cron-Jobs fuer regelmässige Komoot-Synchronisation und Workout-Erinnerungen

Unterstützte Aktivitäten

Aktivitaet Typ Emoji
💪 Gym (P90x) Krafttraining 💪
🚴 Fahrrad Cardio 🚴
🥾 Wandern Cardio 🥾
🏃 Laufen Cardio 🏃

Automatischer Komoot-Import

Die Killer-Feature des Sports-Trackers: Der automatische Import von Komoot-Touren. Alle 4 Stunden prüft das System auf neue Touren und synchronisiert sie in die lokale Datenbank.

Was wird importiert?

  • Distanz – Kilometer (gerundet auf 2 Dezimalstellen)
  • Dauer – Fahrzeit in Minuten
  • Kalorien – Automatisch berechnet via MET x Gewicht x Stunden
  • Höhenmeter – Aufstieg und Abstieg in Metern
  • Durchschnittsgeschwindigkeit – Berechnet aus Distanz / Dauer
  • Maximalgeschwindigkeit – Vom GPS aufgezeichnet
  • Quelle – Markiert als „komoot“ mit der originalen Tour-ID

Sport-Typ Mapping

Komoot erkennt verschiedene Sportarten, der Sports-Tracker ordnet sie automatisch zu:

Komoot Typ Sports-Tracker
touring_cycling, cycling, mtb, race_cycling 🚴 Fahrrad
hiking, hike 🥾 Wandern
walking, walk, nordic_walking 🥾 Wandern
running, run, trail_running 🏃 Laufen
skiing, ski_touring, snowboard ⛷️ Skifahren

Kalorien-Berechnung

Die Kalorienberechnung erfolgt automatisch basierend auf dem Metabolic Equivalent of Task (MET):

Aktivitaet MET Dauer-Berechnung
🚴 Fahrrad 8.0 km / 18 km/h
🥾 Wandern 3.5 km / 4.5 km/h
💪 Gym (P90X) 6.0 60 min (Standard)

Formel: Kcal = MET x Gewicht(kg) x Stunden

Standardgewicht: 120 kg (anpassbar via --weight)

Workout-Tracking & Sarcasm

Der Gym-Tracker überwacht Trainingstage (Mo, Mi, Fr) und gibt bei verpassten Workouts charmant-sarkastische Hinweise. 2+ verpasste Trainingstage in den letzten 14 Tagen aktivieren den Sarcasm-Modus – mit einer Auswahl witziger Kommentaren von eurem Agenten.

Automatisches Monitoring

  • Alle 4 Stunden – Komoot-Synchronisation via Cron
  • Mo, Mi, Fr 21:00 – Workout-Erinnerung (nur bei verpassten Tagen)
  • Sofort – Manuelle Status-Abfrage via CLI
  • Nur bei Aenderungen – Kein Spam bei unveraendertem Komoot-Status

Schnellstart

Aktivitaet hinzufuegen:

python3 skills/sports-tracker/scripts/sports_tracker.py --add "5 km Wandern"

P90X als erledigt markieren:

python3 skills/sports-tracker/scripts/sports_tracker.py --done

Wochenbericht:

python3 skills/sports-tracker/scripts/sports_tracker.py --week

Komoot-Touren importieren:

python3 scripts/komoot_import.py

Mit GPX-Export:

python3 scripts/komoot_import.py --export-gpx

Beispiel

Sports-Tracker Beispiel Chart

Links

Hinweis: Der Komoot-Importer nutzt das Go-Tool export-komoot von pieterclaerhout mit der offiziellen Komoot-API. Die Credentials werden in der lokalen .env-Datei gespeichert und niemals weitergegeben.