diff --git a/clusters/homelab/garmin/configmap.yaml b/clusters/homelab/garmin/configmap.yaml index e40a2c2..9c0ceeb 100644 --- a/clusters/homelab/garmin/configmap.yaml +++ b/clusters/homelab/garmin/configmap.yaml @@ -25,11 +25,6 @@ data: start.isoformat(), today.isoformat() ) - if activities: - import json - print(json.dumps(activities[0], indent=2, default=str)) - exit(0) - conn = psycopg2.connect(db_url) cur = conn.cursor() @@ -42,20 +37,59 @@ data: duration_seconds FLOAT, distance_meters FLOAT, avg_hr INTEGER, - avg_pace FLOAT + max_hr INTEGER, + avg_pace FLOAT, + vo2max FLOAT, + calories FLOAT, + elevation_gain FLOAT, + steps INTEGER, + cadence FLOAT, + hr_zone_1 FLOAT, + hr_zone_2 FLOAT, + hr_zone_3 FLOAT, + hr_zone_4 FLOAT, + hr_zone_5 FLOAT ) """) + cur.execute(""" + ALTER TABLE activities + ADD COLUMN IF NOT EXISTS max_hr INTEGER, + ADD COLUMN IF NOT EXISTS vo2max FLOAT, + ADD COLUMN IF NOT EXISTS calories FLOAT, + ADD COLUMN IF NOT EXISTS elevation_gain FLOAT, + ADD COLUMN IF NOT EXISTS steps INTEGER, + ADD COLUMN IF NOT EXISTS cadence FLOAT, + ADD COLUMN IF NOT EXISTS hr_zone_1 FLOAT, + ADD COLUMN IF NOT EXISTS hr_zone_2 FLOAT, + ADD COLUMN IF NOT EXISTS hr_zone_3 FLOAT, + ADD COLUMN IF NOT EXISTS hr_zone_4 FLOAT, + ADD COLUMN IF NOT EXISTS hr_zone_5 FLOAT + """) + for a in activities: cur.execute(""" INSERT INTO activities - (id, name, type, start_time, duration_seconds, distance_meters, avg_hr, avg_pace) - VALUES (%s, %s, %s, %s, %s, %s, %s, %s) + (id, name, type, start_time, duration_seconds, distance_meters, + avg_hr, max_hr, avg_pace, vo2max, calories, elevation_gain, + steps, cadence, hr_zone_1, hr_zone_2, hr_zone_3, hr_zone_4, hr_zone_5) + VALUES (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s) ON CONFLICT (id) DO UPDATE SET duration_seconds = EXCLUDED.duration_seconds, distance_meters = EXCLUDED.distance_meters, avg_hr = EXCLUDED.avg_hr, - avg_pace = EXCLUDED.avg_pace + max_hr = EXCLUDED.max_hr, + avg_pace = EXCLUDED.avg_pace, + vo2max = EXCLUDED.vo2max, + calories = EXCLUDED.calories, + elevation_gain = EXCLUDED.elevation_gain, + steps = EXCLUDED.steps, + cadence = EXCLUDED.cadence, + hr_zone_1 = EXCLUDED.hr_zone_1, + hr_zone_2 = EXCLUDED.hr_zone_2, + hr_zone_3 = EXCLUDED.hr_zone_3, + hr_zone_4 = EXCLUDED.hr_zone_4, + hr_zone_5 = EXCLUDED.hr_zone_5 """, ( a.get("activityId"), a.get("activityName"), @@ -64,7 +98,18 @@ data: a.get("duration"), a.get("distance"), a.get("averageHR"), + a.get("maxHR"), a.get("averageSpeed"), + a.get("vO2MaxValue"), + a.get("calories"), + a.get("elevationGain"), + a.get("steps"), + a.get("averageRunningCadenceInStepsPerMinute"), + a.get("hrTimeInZone_1"), + a.get("hrTimeInZone_2"), + a.get("hrTimeInZone_3"), + a.get("hrTimeInZone_4"), + a.get("hrTimeInZone_5"), )) conn.commit()