Health Tracker
Grafana dashboard for visualizing Amazfit Helio Strap data via Gadgetbridge. Tracks heart rate, HRV, sleep, stress, SpO2, steps, and more.
Architecture
Helio Strap syncs to Gadgetbridge (Android)
↓
Syncthing syncs DB from phone to Mac
↓
SQLite backup via
sqlite3 .backup↓
Grafana via SQLite datasource plugin
↓
Dashboard
Panels
Stat panels (avg values)
Total steps, avg resting HR, avg sleep/night, avg HRV, avg stress, avg SpO2. Color thresholds:
Resting HR: green <60, yellow 60-75, red >75 bpm
Sleep: red <5h, yellow 5-7h, green >7h
HRV: red <30, yellow 30-50, green >50 ms
Stress: green <40, yellow 40-60, red >60
SpO2: red <90%, yellow 90-95%, green >95% Timeseries (HR, HRV, SpO2, steps, stress, temp)
SELECT TIMESTAMP as time, HEART_RATE
FROM HUAMI_EXTENDED_ACTIVITY_SAMPLE
WHERE HEART_RATE > 0 AND HEART_RATE < 255
AND (RAW_KIND & 15) NOT IN (3, 6) -- exclude not-worn, charging Filters invalid readings (255 = no data) and excludes not-worn/charging states via RAW_KIND bitmask.
Sleep (state-timeline)
CASE WHEN (RAW_KIND & 15) = 8 THEN 1 ELSE 0 END as sleeping RAW_KIND 8 = sleep. Value mapping: 1 = "Sleeping" (dark blue), 0 = "Awake" (transparent).
Device Status (state-timeline)
CASE
WHEN (RAW_KIND & 15) = 3 THEN 2 -- Not Worn (red)
WHEN (RAW_KIND & 15) = 6 THEN 3 -- Charging (orange)
ELSE 1 -- Worn (green)
END as status Shows when watch is worn, charging, or off-wrist.