github bballdavis/Riviamigo 2026.10.0
2026.10.0: R2 closures, trips, and ingestion capture

latest release: 2026.10.1
16 days ago

Thank you to everyone who has been sending feedback, PRs, and issues, especially the R2 owners. You've found real gaps for R2 vehicles, and also surfaced some problems in how I mapped closures and handle ingestion in general. This release is largely your work!

A special thanks to @leetosc, who ran Riviamigo against a real R2 and sent back #70 (decoding R2 closure frames, with an observed position map from actuating each closure) and #71 (detecting trips from sparse power and odometer data, and fixing remaining range that showed about 62% of the real value). Thank you also to @murphysprings for #65, which kicked off the R2 telemetry work and led to the ingestion fixes, and for the fresh-install report in #61, fixed in 2026.09.1. Please keep them coming.

R2 closures and status

  • R2 doors, frunk, liftgate, windows, and locks now decode from Parallax frames. Unmapped or unexpected entries are skipped and noted instead of dropping the whole frame.
  • The charge port now reads from closure position 10, and defrost status 4 is treated as off, both matched against R1S captures.
  • Closures show live opening and closing motion.
  • R1T tailgate and side-bin mapping follows the closure frame layout. Side bins and the tonneau are R1T features and are shown only for the R1T. R1T owners: the tailgate and left/right side-bin order are not yet confirmed against an R1T capture, so please tell us if they look swapped.

Trips and charging

  • Trips on sparse R2 telemetry are detected from change-only power and odometer motion, start at the shift time and parked location, and use gear subscriptions for anchored starts.
  • Remaining range and efficiency are model-aware, so R2 range no longer reads as kilometres.
  • Parallax power frames no longer end an active charge.
  • Partial frames (door, window, or tire updates) no longer split the state timeline into short Unknown periods. Migration 0027 repairs the existing history once on upgrade.

Diagnostics and ingestion

  • Ingestion diagnostics are replaced with downloadable captures, which also record GraphQL polls.
  • Parallax resubscribes immediately when the connection TTL expires.
  • Vehicle ingestion signals are unified.

Fixes and maintenance

  • Target tire pressure defaults to 40 psi.
  • CI publishes the dev image alias from the manual candidate workflow.
  • Expanded R2 ingestion and extended telemetry documentation and runbooks.

Upgrading applies migrations 0025, 0026, and 0027 on startup; restore from backup to roll back.

Full Changelog: 2026.09.4...2026.10.0

Don't miss a new Riviamigo release

NewReleases is sending notifications on new releases.