fix: sleep_avg_quality uses lowercase stage names
Problem: Schlafphasen werden lowercase gespeichert (deep, rem, light, awake),
aber get_sleep_avg_quality() prüfte Titlecase (Deep, REM) → 0% Match
Fix: Ändere Prüfung zu lowercase: ['deep', 'rem']
Jetzt wird {{sleep_avg_quality}} korrekt berechnet aus JSONB segments.
Quelle: backend/routers/sleep.py → phase_map speichert lowercase
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
3ad1a19dce
commit
a43a9f129f
|
|
@ -347,7 +347,8 @@ def get_sleep_avg_quality(profile_id: str, days: int = 7) -> str:
|
|||
for row in rows:
|
||||
segments = row['sleep_segments']
|
||||
if segments:
|
||||
deep_rem_min = sum(s.get('duration_min', 0) for s in segments if s.get('stage') in ['Deep', 'REM'])
|
||||
# Note: stages are stored lowercase (deep, rem, light, awake)
|
||||
deep_rem_min = sum(s.get('duration_min', 0) for s in segments if s.get('stage') in ['deep', 'rem'])
|
||||
total_min = sum(s.get('duration_min', 0) for s in segments)
|
||||
if total_min > 0:
|
||||
quality_pct = (deep_rem_min / total_min) * 100
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user