Skip to content

Releases: Codzelerate/homebridge-volvo-xc90

v1.3.11

08 Jun 18:53

Choose a tag to compare

Fixed

  • Redirect URI not remembered — the OAuth wizard now saves redirectUri to the plugin config on completion and pre-fills the field every time the wizard is opened, so re-authentication no longer requires re-entering it.

v1.3.10

08 Jun 18:50

Choose a tag to compare

Added

  • Grant expiry trackinggrantedAt is now stamped on first successful OAuth authentication and preserved through every token rotation. On each Homebridge restart the plugin checks the grant age against Volvo's documented limits:
    • 2-week warning — logs a prominent warning with re-auth instructions when fewer than 14 days remain before the 6-month hard expiry.
    • Post-expiry warning — logs immediately if the grant is already past 6 months.
  • invalid_grant detection — when a token refresh is rejected by Volvo, the error message now distinguishes between the 7-day stale token limit (Homebridge offline for a week) and the 6-month hard expiry, and links directly to the re-auth flow in the Homebridge UI.

Changed

  • All "run the setup tool" error messages updated to point users to Homebridge UI → Plugins → Volvo XC90 → Settings → Re-configure OAuth instead of the terminal.

v1.3.9

08 Jun 18:38

Choose a tag to compare

Fixed

  • OAuth wizard crashcrypto.subtle is unavailable in the Homebridge UI webview; PKCE SHA-256 challenge is now computed via a stateless /pkce-challenge server endpoint (pure function, no stored state) instead of crypto.subtle.digest.

v1.3.8

08 Jun 18:29

Choose a tag to compare

Fixed

  • OAuth wizard timeout — auth URL and PKCE challenge/verifier are now generated entirely in the browser (Web Crypto API). The wizard no longer calls the Homebridge plugin server for Step 1, eliminating the timeout that occurred when the server.js child process was slow to start.
  • Manual token entry — added a "Already have a refresh token? Paste it directly →" path in the OAuth wizard for users who obtained a token via the terminal node dist/oauthSetup.js tool. Bypasses the full OAuth flow.
  • Stateless server — removed this.pending server-side state from server.js; credentials and PKCE verifier are now sent by the frontend at exchange time, making the flow resilient to server restarts between wizard steps.

v1.3.7

08 Jun 16:56

Choose a tag to compare

Changed

  • Verbose debug logging — when debug: true is set, the plugin now logs: HTTP error bodies on failed token refreshes (previously swallowed), refresh token prefix hints (first 8 chars) to identify which token is in use, access token expiry countdowns, request round-trip timing, and explicit cache miss/hit/invalidation events with TTL and generation info.

v1.3.6

05 Jun 14:09

Choose a tag to compare

chore: release v1.3.6

Fix two Homebridge verification failures:
- config.schema.json: move required fields to object-level array (remove invalid boolean required on individual properties)
- package.json: remove peerDependencies block (homebridge must only be in devDependencies)

v1.3.5

05 Jun 13:22

Choose a tag to compare

Added

  • OAuth Setup UI — the entire OAuth flow now lives inside the Homebridge settings panel. Enter Client ID, Client Secret, and Redirect URI, click Generate Auth URL, sign in, paste the redirect URL, and you're done. No terminal, no copy-paste config blocks. Credentials are saved to config automatically.
  • Fully custom settings UI — replaced the hybrid schema form with a fully custom dark-themed panel: bento grid for feature toggles (Controls / Sensors / Energy), auth status hero card, OAuth wizard with animated 3-step stepper, collapsible sections (Alert Thresholds, Vehicle Specs, Advanced), and reactive config sync with Homebridge's native Save button.
  • Masked sensitive fields — VCC API Key and VIN are masked by default with a 👁 show/hide reveal toggle.

Changed

  • OAuth setup is now UI-first — the Homebridge settings panel is the primary path. The terminal npm run oauth tool remains available as a fallback.
  • Reactive config sync — UI changes are pushed to Homebridge's in-memory config automatically (debounced 300ms). The native Homebridge Save button is the only save action needed — no custom Save button in the UI.

v1.3.4

05 Jun 10:15

Choose a tag to compare

Changed

  • Charging ETA is now opt-in — enable via Energy → Show Charging ETA in plugin settings. Previously appeared automatically whenever Show EV Battery was on. If you updated to v1.3.3, the sensor will be removed on the next restart unless you enable the toggle.

v1.3.3

05 Jun 10:10

Choose a tag to compare

Added

  • Charging ETA sensor — new Light Sensor sub-service inside the Energy tile showing minutes to full charge. Displays the value when actively charging, 0 when not charging or charge is complete. Appears automatically whenever Show EV Battery is enabled — no extra config needed.

v1.3.2

05 Jun 09:27

Choose a tag to compare

Documentation

  • Fixed OAuth setup steps: tool must be run on a machine with a browser (not the headless Pi), the tool prints a URL rather than opening one, and redirect URI guidance now matches what the tool itself says (use your own GitHub profile URL, not the plugin repo URL).