github ilyakruchinin/SomnoTrace v0.6.4

pre-release4 hours ago

What's new since v0.6.3

Therapy Interruption Alerts

  • Push notifications via ntfy.sh when therapy stops during a configured time window
  • Configurable schedule window, escalation delays, and optional buzzer
  • Acknowledge alerts with a single press of the PLUS button
  • Alerts are now correctly suppressed outside the schedule window — the engine automatically arms/disarms as the window opens and closes, including when therapy is already running

Time Sync & Degraded Mode (a.k.a "Camping Mode")

  • Automatic time recovery from CPAP clock drift when NTP is unavailable — the device can still timestamp sessions correctly using AS11's internal clock by applying last known time drift from the previous session
  • Allows using the device without WiFi connection at all (BLE connection to AS11 must be available)
  • Amber notice banner on the status screen when operating in degraded (no-NTP) mode
  • 3-attempt boot failure counter with automatic SoftAP fallback so you can reconfigure Wi-Fi if the device can't connect

Faster Post-Therapy Processing

  • No more 2-minute wait for today's AS11 Summary record — the device now detects when the noon-day period is still open and skips the futile retry, generating EDF files immediately instead. The authoritative record is picked up on the next session after noon rollover.

Alert Volume Control

  • Adjustable speaker volume (levels 1–11) with NVS persistence — applies to all alert sounds
  • Default set to level 4 (65%) for a less jarring beep
  • Test button in the web UI to preview the current volume

Web UI Improvements

  • Loading spinners on all Settings sections (Display & Sound, Alerts, Uploads) — no more confusing default values flashing before real data loads
  • More descriptive LCD display mode labels ("Show live graph during therapy", "Backlight off during therapy")

Stability Fixes

  • Fixed EDF task stack overflow that could crash during current-day STR.edf generation — large context struct moved from stack to heap
  • EDF task stack headroom is now logged for early warning of future regressions
  • I2C bus initialization no longer leaks on codec init failure — retrying the Test button works correctly instead of permanently locking the bus
  • ES8311 reset now bails early if the codec is unresponsive, preventing cascading I2C errors

Don't miss a new SomnoTrace release

NewReleases is sending notifications on new releases.