SomnoTrace v3.2.0
🌬️ High Leak Rate Alerts — new!
- SomnoTrace now keeps a rolling 2-minute leak average and alerts you when it stays above your threshold — catch a slipped mask or disconnected hose while you're still asleep.
- The rolling window doubles as a warm-up: no false alarms during mask adjustment or ramp-up in the first two minutes.
- Configurable threshold (15–60 L/min, default 24) and its own enable toggle in the web portal's Therapy Alerts card — opt-in, off by default.
- Shares your existing alert time window, alert mode (push / sound / both), and delay-before-buzzer setting — one configuration covers both alert types.
- Acknowledge with a single PLUS click (or MQTT ACK): the alert silences, the buffer resets, and it re-arms ~2 minutes later — a persistent leak will keep nagging, a fixed mask stays quiet.
- Distinct 3-short-beep pattern, so you can tell a leak alert apart from the therapy-stopped alarm by ear alone.
- ntfy message states the actual measured average and your limit — e.g.
High leak rate: 47.2 L/min (2-min avg, limit 24).
☁️ BreathingRoom Upload Support — new destination!
- Upload CPAP sessions and oximetry recordings to breathingroom.io with a personal access token — configure it in the portal alongside your other destinations.
- Session uploads carry the complete file set including event files (
EVE/CSL), with strict server-response validation — a failed upload retries instead of silently reporting success. - Original oximetry filenames are preserved on upload.
- (Oximetry upload requires a BreathingRoom Premium account.)
📡 Live MQTT Telemetry + Home Assistant
- During therapy, publishes leak rate, session-average leak, rolling leak, and mask pressure every 10 seconds — enough to drive live dashboards, automations, and bed-shaker triggers in near-real-time.
- Home Assistant Auto-Discovery provisions the new sensors automatically — including a
leak_rollmeasurement sensor. - 🐛 Fixed: binary sensors and switches now publish
ON/OFFpayloads, so HA shows correct states instead of unknown entities.
🔐 Optional Web Interface Password
- Protect the web portal with a password — useful on shared or less-trusted networks. (Thanks @mniedermaier — PR #308.)
📊 Dashboard Improvements
- Graph panels now show AHI and leak-average labels that follow your zoom — the numbers reflect exactly what you're looking at, not just the whole-night average.
- Event details pinned top-right; leak labels bottom-right, matching the existing SpO₂/Pulse styling.
🧠 SomnoStage
- Sleep staging no longer runs against a session that is still being recorded — prevents partial-night scores and bogus results.
📚 Documentation
- README reorganized and slimmed down — supported devices and all four upload destinations (SMB, SleepHQ, Aerivue, BreathingRoom) are now visible up top.
- Moved long-form guides to docs/: battery & power, camping mode, cross-noon sessions.