You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Oura (experimental): sanctioned path to display a ring-provided sleep stage timeline — without HR/RR ? #323
one question in regards to the Oura Ring integration
Context
The experimental Oura integration can now pull the ring's own sleep analysis over BLE: the Gen3 ring runs its staging on-device (SleepNet) and, after wake, banks a complete night hypnogram in its event log as 0x4B/0x4E/0x5A records — 2-bit stage codes (deep/light/REM/awake).
The issue: the ring does not stream HR/RR overnight to the app (heart data arrives only while live-connected, or as banked history). NOOP's sleep pipeline — including Sleep V2 (#277) — computes sleep from continuous overnight HR/RR, so a pure-Oura night never produces a sleepSession/dailyMetric, and the Sleep card stays empty even though the ring handed us a complete, honest hypnogram.
Question
What's the way to feed an externally-staged sleep session (start/end + a stage timeline, no underlying HR/RR) into the display pipeline?
A first-class "provided sleep session" concept on the Repository — a device-supplied session that analyzeDay treats like a computed one for display, but never feeds HR-derived scoring it doesn't have inputs for.
Keep it out of sleepSession entirely and render a separate "ring-reported sleep" row on the Sleep card (visually distinct, clearly labeled as device-computed).
Happy to build whichever direction fits the architecture
Activity
pipiche38 commentedon Jul 14, 2026
I'm moving on option (1)
Will post the PR when ready