NEWS
Adapter: bmw zum Auslesen von BMW's ConnectedDrive Daten
-
Hatte ganz vergessen vielen lieben Dank zu sagen für das wirklich tolle Blockly: Also Danke Dir!
mmmh... Habe einen ganz neuen 5er (Facelift) EZ Juli 2021... Da sollte er eigentlich alles können... Habe die maximale Ausstattung Navi Prof xxx
Und die Fehlermeldung? Wenn ich das Script pausiere, dann kommt der Fehler nicht mehr... Hast Du dazu eine gute Idee
-
@lemonbiter
EZ 2021? Du bist ja deiner Zeit vorraus.
Ok dann verstehe ich das jetzt auch nicht ganz.
Ich habe einen x3 Hybrid von 05/2020 und anhand dessen Daten habe ich das Blockly erstellt -
Sorry... latürnich 2020... LOL
So.. habe den Datenbaum aktualisiert. es kommt nun mehr... aber vieles ist offen. So sieht es aktuell aus...
-
@lemonbiter
Danke dir.
Du hast aber nur ein Fahrzeug im Connected Drive Portal oder?Die CBS Daten in deiner Log sind die Abfragen für den Servicebedarf, in dem Fall das Datum cbsDueDate.
Warum es die Daten in deinem Fall nicht gibt, verstehe ich leider auch nicht.
Ich hab keine Ahnung wie viele unterschiedliche Antworten es von BMW auf diese Abfragen gibt. -
-
Es gibt vier API Endpunkte
- Token abfrage - geht bei dir
- Fahrzeugdaten abfragen - geht bei dir
- Befehle senden - geht bei dir
- Status inkl Standort, Servicebedarf abfragen - geht bei dir nicht.
Frag mich jetzt nicht warum das nicht geht.. ist auf jeden Fall seltsam.
Ich müsste mir dazu mal die JSON Antwort ansehen.Magst mal bitte das Script starten und schauen was da im log zurück kommt?
var https = require("https"); var request = require("request"); var options = { url: 'https://b2vapi.bmwgroup.com/webapi/v1/user/vehicles/'+(getState("0_userdata.0.BMW.Fahrzeug.Fahrgestellnummer").val)+'/status', headers: {'Content-Type': 'application/x-www-form-urlencoded'}, auth: { bearer: (getState("0_userdata.0.BMW.Token").val)} }; function callback(error,response,body){ var result = JSON.parse(body); console.log(body); }; request.get(options, callback);
-
-
@lemonbiter
probiers bitte mit dem JS das ich oben ausgetauscht habe.
Dürfte zwar keinen Unterschied machen, aber da frag ich direkt den Body ab und nicht das JSON result -
Mist, jetzt hast Du mich leider verloren... Ich weiss leider nicht was Du meinst... Welches JSON?? WO? WIE? WAS?
MEA CULPA
-
nimm das script, kopiere es in ein leeres Javascript (kein Blockly) und starte es.
Dann sollte hoffenltich mehr kommen als nur der cbs Fehlervar https = require("https"); var request = require("request"); var options = { url: 'https://b2vapi.bmwgroup.com/webapi/v1/user/vehicles/'+(getState("0_userdata.0.BMW.Fahrzeug.Fahrgestellnummer").val)+'/status', headers: {'Content-Type': 'application/x-www-form-urlencoded'}, auth: { bearer: (getState("0_userdata.0.BMW.Token").val)} }; function callback(error,response,body){ var result = JSON.parse(body); console.log(body); }; request.get(options, callback);
-
NÜX...
-
für mal unter
console.log(body);
noch hinzu:
console.log(response);
console.log(error);ach ja.. und schalte mal das BMW Blocky vorher aus. Sonst kommen die Fehlermeldungen ja von dem
-
Jetzt bin ich ganz weg...MANNOOOOOH
-
so?
Falls so richtig... Ich habe das Blockly aus und dieses Java gestartet... KEIN EINTRAG im Log
Danke für Dein Engagement!!
-
ja genau
-
Ich habe das Blockly aus und dieses Java neu gestartet... KEIN EINTRAG im Log
Danke für Dein Engagement!!
-
Bei mir kommen auch 2 Fehler im Log...
javascript.0 2021-02-08 16:50:00.199 error (15744) Error in request callback: SyntaxError: Unexpected end of JSON input javascript.0 2021-02-08 16:50:00.164 error (15744) Error in request callback: SyntaxError: Unexpected end of JSON input
Im Status ist so gut wie nichts gefüllt...
mit der letzen Version , ging das alles noch..
-
Danke für den Hinweis
Ich schau es mir an -
@strobelix
Saugeil ! Vielen Dank für das Script ! Endlich kann die bessere Hälfte wieder mit Siri die Klima starten !Klappt bei meinem i3 jedoch erst nachdem ich cbsDueDate auskommentiert habe.
cbsDueDate hat bei mir auch die Fehlermeldung geworfen und alle folgenden Abfragen abgebrochen: (888) Error in request callback: TypeError: Cannot read property 'cbsDueDate' of undefined -
@qwertz
Danke für den Hinweis mit dem cbsDueDate.
Welches hast du denn auskommentiert? Gibt ja mehrere.Dann kann ich den Fehler vielleicht nachvollziehen. Bei mir läuft es nämlich