Skip to content

Releases: StefanPeetz/homebridge-jlr-smartcar

v2.3.0

09 Jun 13:55

Choose a tag to compare

Added

  • Auto-Plan-Erkennung: Der effektive Plan wird automatisch aus den erteilten
    OAuth-Permissions des Fahrzeugs abgeleitet (auto, Standard).
    • free → nur read_vehicle_info → keine Signal-Daten
    • basic → + VIN, Odometer
    • standard → + Location, Charge, Fuel, Range
    • full → + Lock/Unlock Commands
  • Config-Option smartcarPlan: Manueller Override falls die Auto-Erkennung
    nicht passt. Werte: auto | free | basic | standard | full.
  • Config-Schema aktualisiert mit Dropdown für smartcarPlan.
  • Klare Warnung im Log wenn Fahrzeug nur Free-Plan-Permissions hat.

Fixed

  • Kein unnötiger Signal-Request mehr wenn Plan free ist.

v2.2.6

09 Jun 13:51

Choose a tag to compare

Fixed

  • Smartcar V3 verwendet /signals statt REST-Einzel-Endpunkte.
    /charge, /location, /odometer, /security existieren in V3 nicht
    mehr und gaben INVALID_PATH 404 zurück.
  • Alle Fahrzeugdaten werden jetzt per POST /vehicles/:id/signals in
    einem einzigen Request abgefragt.
  • Lock/Unlock verwendet jetzt POST /vehicles/:id/commands mit LOCK_DOORS
    / UNLOCK_DOORS statt dem alten /security Pfad.
  • Signal-Namen auf V3 Schema angepasst (z.B. TractionBattery.StateOfCharge .Displayed, InternalCombustionEngine.FuelLevel, Closure.IsLocked).

Hinweis

Die meisten Signals benötigen einen Smartcar-Plan mit erweiterten
Berechtigungen. Mit dem Free-Plan steht nur read_vehicle_info zur
Veefügung, d.h. Fahrzeugdaten werden als undefined zurückgegeben.

v2.2.5

09 Jun 13:42

Choose a tag to compare

Fixed

  • /connections Response-Format korrigiert. Smartcar V3 gibt data: [...] zurück,
    nicht connections: [...]. VehicleId steckt in
    data[].relationships.vehicle.data.id.
  • Berechtigungen werden pro Fahrzeug geloggt.
  • Warnung wenn Fahrzeug nur mit unvollständigen Berechtigungen verbunden ist.

Hinweis: Fahrzeug neu verbinden

Das Fahrzeug wurde bisher nur mit read_vehicle_info verbunden — alle anderen
Berechtigungen fehlen ("No permissions" im Dashboard).
Bitte das Fahrzeug im Smartcar Dashboard disconnecten und dann den Connect-Flow
erneut durchführen, damit alle Scopes erteilt werden.

v2.2.4

09 Jun 13:37

Choose a tag to compare

Fixed

  • Volles /connections Response wird geloggt (zur Diagnose).
  • sc-user-id Header-Wert wird per debug geloggt.
  • get() unterstützt jetzt optionale Query-Parameter.

v2.2.3

09 Jun 13:26

Choose a tag to compare

Fixed

  • client_credentials Token-Request verwendet jetzt HTTP Basic Auth
    (Authorization: Basic base64(clientId:clientSecret)) statt Body-Parametern.
    Smartcar IAM verlangt Basic Auth — Body-only führte zu HTTP 401.
  • Detaillierte Fehler-Logs für Token-Fehler und API-Calls hinzugefügt
    (Status-Code + Response-Body werden jetzt geloggt).

v2.2.2

09 Jun 13:00

Choose a tag to compare

Fixed

  • clientId und applicationId getrennt. Smartcar verwendet zwei verschiedene IDs:
    • Application ID (UUID, z.B. 548f3955-...): wird für die Connect OAuth URL
      als client_id-Parameter benötigt.
    • API Client ID (client_01…): wird für den client_credentials Token-Abruf
      verwendet.
      Bisher wurde dieselbe ID für beides verwendet, was bei einer ID zum Fehler
      400: Invalid parameter client_id führte.

Migration

  • Neues Pflichtfeld applicationId in den Plugin-Einstellungen einfügen:
    Smartcar Dashboard → Configuration → Application details → Application ID (UUID)

v2.2.1

09 Jun 12:55

Choose a tag to compare

Fixed

  • response_type=code zur Connect-URL hinzugefügt. Smartcar verlangt diesen
    Parameter zwingend und liefert sonst den Fehler:
    400: Missing required parameter: "response_type"
  • Nach dem Login leitet Smartcar zu:
    http://localhost:52625/exchange?code=...&user_id=XXXX-...
    Der user_id-Wert ist in der Adressleiste sichtbar und wird manuell
    in das Konfigurationsfeld "Smartcar User ID" eingetragen.

v2.2.0

09 Jun 12:46

Choose a tag to compare

Changed

  • Lokaler Callback-Server komplett entfernt. Der Server lief auf dem Homebridge-Host,
    aber localhost im Browser zeigt auf den Rechner des Nutzers — der Redirect kam
    deshalb nie beim Plugin an.
  • Neuer Flow: Connect-URL wird im Log ausgegeben. Nach dem JLR-Login zeigt der Browser
    die user_id in der Adressleiste. Diese wird einmalig in den Plugin-Einstellungen
    unter "Smartcar User ID" eingetragen.
  • Neues Pflichtfeld userId im Config-Schema ergänzt.
  • homebridge-ui/ Verzeichnis und alle Custom-UI Abhängigkeiten entfernt.

How to connect

  1. Plugin starten → Connect-URL erscheint im Homebridge-Log
  2. URL im Browser öffnen → JLR InControl Login
  3. Nach dem Login: Adressleiste zeigt ...?user_id=XXXX-...
  4. Wert von user_id= kopieren
  5. In Plugin-Einstellungen unter "Smartcar User ID" eintragen
  6. Speichern & Homebridge neu starten

v2.1.4

09 Jun 11:59

Choose a tag to compare

Fixed

  • homebridge-ui/server.js war noch im Paket enthalten und versuchte
    @homebridge/plugin-ui-utils zu laden, das nicht mehr als Dependency
    gelistet war. Dies verursachte MODULE_NOT_FOUND beim Plugin-Start.
  • server.js und public/index.html auf leere Platzhalter reduziert
    damit Homebridge keine Fehler wirft.

v2.1.3

09 Jun 11:38

Choose a tag to compare

Fixed

  • Custom UI vollständig entfernt. Der server.js lief in einem eigenen Node-Prozess
    getrennt von Homebridge und hatte keinen Zugriff auf die Plattform-Instanz, was
    dazu führte dass die Plugin-Settings dauerhaft luden ohne je zu reagieren.
  • customUi: true und customUiPath aus Schema/package.json entfernt.
  • Standard-Konfigurationsformular ist wieder vollständig funktionsfähig.

How to connect

Der Connect-Flow läuft weiterhin automatisch beim Homebridge-Start:

  1. Plugin starten → Connect-URL erscheint im Log
  2. URL im Browser öffnen → JLR-Login → Weiterleitung zu localhost:52625
  3. user_id wird gespeichert, Fahrzeug erscheint in HomeKit