Releases: StefanPeetz/homebridge-jlr-smartcar
Releases · StefanPeetz/homebridge-jlr-smartcar
v2.3.0
Added
- Auto-Plan-Erkennung: Der effektive Plan wird automatisch aus den erteilten
OAuth-Permissions des Fahrzeugs abgeleitet (auto, Standard).free→ nurread_vehicle_info→ keine Signal-Datenbasic→ + VIN, Odometerstandard→ + Location, Charge, Fuel, Rangefull→ + 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
freeist.
v2.2.6
Fixed
- Smartcar V3 verwendet
/signalsstatt REST-Einzel-Endpunkte.
/charge,/location,/odometer,/securityexistieren in V3 nicht
mehr und gabenINVALID_PATH 404zurück. - Alle Fahrzeugdaten werden jetzt per
POST /vehicles/:id/signalsin
einem einzigen Request abgefragt. - Lock/Unlock verwendet jetzt
POST /vehicles/:id/commandsmitLOCK_DOORS
/UNLOCK_DOORSstatt dem alten/securityPfad. - 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
Fixed
/connectionsResponse-Format korrigiert. Smartcar V3 gibtdata: [...]zurück,
nichtconnections: [...]. 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
Fixed
- Volles
/connectionsResponse wird geloggt (zur Diagnose). sc-user-idHeader-Wert wird per debug geloggt.get()unterstützt jetzt optionale Query-Parameter.
v2.2.3
Fixed
client_credentialsToken-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
Fixed
clientIdundapplicationIdgetrennt. Smartcar verwendet zwei verschiedene IDs:- Application ID (UUID, z.B.
548f3955-...): wird für die Connect OAuth URL
alsclient_id-Parameter benötigt. - API Client ID (
client_01…): wird für denclient_credentialsToken-Abruf
verwendet.
Bisher wurde dieselbe ID für beides verwendet, was bei einer ID zum Fehler
400: Invalid parameter client_idführte.
- Application ID (UUID, z.B.
Migration
- Neues Pflichtfeld
applicationIdin den Plugin-Einstellungen einfügen:
Smartcar Dashboard → Configuration → Application details → Application ID (UUID)
v2.2.1
Fixed
response_type=codezur 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-...
Deruser_id-Wert ist in der Adressleiste sichtbar und wird manuell
in das Konfigurationsfeld "Smartcar User ID" eingetragen.
v2.2.0
Changed
- Lokaler Callback-Server komplett entfernt. Der Server lief auf dem Homebridge-Host,
aberlocalhostim 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
dieuser_idin der Adressleiste. Diese wird einmalig in den Plugin-Einstellungen
unter "Smartcar User ID" eingetragen. - Neues Pflichtfeld
userIdim Config-Schema ergänzt. homebridge-ui/Verzeichnis und alle Custom-UI Abhängigkeiten entfernt.
How to connect
- Plugin starten → Connect-URL erscheint im Homebridge-Log
- URL im Browser öffnen → JLR InControl Login
- Nach dem Login: Adressleiste zeigt
...?user_id=XXXX-... - Wert von
user_id=kopieren - In Plugin-Einstellungen unter "Smartcar User ID" eintragen
- Speichern & Homebridge neu starten
v2.1.4
Fixed
homebridge-ui/server.jswar noch im Paket enthalten und versuchte
@homebridge/plugin-ui-utilszu laden, das nicht mehr als Dependency
gelistet war. Dies verursachteMODULE_NOT_FOUNDbeim Plugin-Start.server.jsundpublic/index.htmlauf leere Platzhalter reduziert
damit Homebridge keine Fehler wirft.
v2.1.3
Fixed
- Custom UI vollständig entfernt. Der
server.jslief 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: trueundcustomUiPathaus 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:
- Plugin starten → Connect-URL erscheint im Log
- URL im Browser öffnen → JLR-Login → Weiterleitung zu localhost:52625
- user_id wird gespeichert, Fahrzeug erscheint in HomeKit