Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Adapter: bmw zum Auslesen von BMW's ConnectedDrive Daten

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Adapter: bmw zum Auslesen von BMW's ConnectedDrive Daten

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      Strobelix @lemonbiter last edited by

      @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

      lemonbiter 1 Reply Last reply Reply Quote 0
      • lemonbiter
        lemonbiter @Strobelix last edited by

        @strobelix

        Mist, jetzt hast Du mich leider verloren... Ich weiss leider nicht was Du meinst... Welches JSON?? WO? WIE? WAS?

        MEA CULPA

        S 1 Reply Last reply Reply Quote 0
        • S
          Strobelix @lemonbiter last edited by

          @lemonbiter

          nimm das script, kopiere es in ein leeres Javascript (kein Blockly) und starte es.
          Dann sollte hoffenltich mehr kommen als nur der cbs Fehler

              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 1 Reply Last reply Reply Quote 0
          • lemonbiter
            lemonbiter @Strobelix last edited by

            @strobelix

            88329554-3b87-4a40-bab5-224fd67b758c-image.png

            NÜX...

            2585b629-51e7-497a-9354-5b7751c3adda-image.png

            S 1 Reply Last reply Reply Quote 0
            • S
              Strobelix @lemonbiter last edited by Strobelix

              @lemonbiter

              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

              lemonbiter 1 Reply Last reply Reply Quote 0
              • lemonbiter
                lemonbiter @Strobelix last edited by

                @strobelix

                Jetzt bin ich ganz weg...MANNOOOOOH

                lemonbiter 1 Reply Last reply Reply Quote 0
                • lemonbiter
                  lemonbiter @lemonbiter last edited by lemonbiter

                  @lemonbiter

                  so?

                  75236790-b2eb-47b7-963c-e04252fa07c7-image.png

                  Falls so richtig... Ich habe das Blockly aus und dieses Java gestartet... KEIN EINTRAG im Log

                  Danke für Dein Engagement!!

                  S 1 Reply Last reply Reply Quote 0
                  • S
                    Strobelix @lemonbiter last edited by

                    @lemonbiter

                    ja genau

                    lemonbiter M 2 Replies Last reply Reply Quote 1
                    • lemonbiter
                      lemonbiter @Strobelix last edited by

                      @strobelix

                      Ich habe das Blockly aus und dieses Java neu gestartet... KEIN EINTRAG im Log

                      Danke für Dein Engagement!!

                      1 Reply Last reply Reply Quote 0
                      • M
                        mameier1234 @Strobelix last edited by

                        @strobelix

                        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..

                        S 1 Reply Last reply Reply Quote 0
                        • S
                          Strobelix @mameier1234 last edited by

                          @mameier1234

                          Danke für den Hinweis
                          Ich schau es mir an

                          Q 1 Reply Last reply Reply Quote 0
                          • Q
                            qwertz @Strobelix last edited by

                            @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

                            S 1 Reply Last reply Reply Quote 0
                            • S
                              Strobelix @qwertz last edited by

                              @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

                              Q 1 Reply Last reply Reply Quote 0
                              • Q
                                qwertz @Strobelix last edited by

                                @strobelix

                                Hi !

                                Diese beiden Zeilen mag mein i3 (ohne Range Extender) nicht und habe ich auskommentieren müssen:

                                //setState("0_userdata.0.BMW.Servicebedarf.Hauptuntersuchung.Datum", ''+result.cbsData[3].cbsDueDate, true);
                                //setState("0_userdata.0.BMW.Servicebedarf.Hauptuntersuchung.Status", ''+result.cbsData[3].cbsState, true);
                                

                                So sieht der komplette Dump aus, wenn ich dein o.g. JS-Script (ohne Blockly) laufen lasse (Der BMW denkt TÜV sei abgelaufen, weil die beim letzten TÜV den Zähler nicht zurückgesetzt haben)

                                {"vehicleStatus":
                                {"vin":"xxxxxxxxxxxxxxxxxxx",
                                "mileage":34106,
                                "updateReason":"CHARGING_DONE",
                                "updateTime":"2021-02-11T08:27:34+0000",
                                "doorDriverFront":"CLOSED",
                                "doorDriverRear":"CLOSED",
                                "doorPassengerFront":"CLOSED",
                                "doorPassengerRear":"CLOSED",
                                "windowDriverFront":"CLOSED",
                                "windowDriverRear":"CLOSED",
                                "windowPassengerFront":"CLOSED",
                                "windowPassengerRear":"CLOSED",
                                "trunk":"CLOSED",
                                "rearWindow":"INVALID",
                                "hood":"CLOSED",
                                "doorLockState":"SECURED",
                                "parkingLight":"OFF",
                                "positionLight":"OFF",
                                "remainingFuel":0,
                                "remainingRangeElectric":80,
                                "remainingRangeElectricMls":49,
                                "maxRangeElectric":80,
                                "maxRangeElectricMls":49,
                                "connectionStatus":"CONNECTED",
                                "chargingStatus":"FINISHED_FULLY_CHARGED",
                                "chargingLevelHv":100,
                                "lastChargingEndReason":"CHARGING_GOAL_REACHED",
                                "lastChargingEndResult":"SUCCESS",
                                "position":{"status":"DRIVER_DISABLED"},
                                "internalDataTimeUTC":"2021-02-11T08:27:34",
                                "singleImmediateCharging":false,
                                "chargingConnectionType":"CONDUCTIVE",
                                "chargingInductivePositioning":"NOT_POSITIONED",
                                "vehicleCountry":"DE",
                                "checkControlMessages":[],
                                
                                "cbsData":[
                                	{"cbsType":"VEHICLE_TUV",
                                "cbsState":"OVERDUE",
                                "cbsDueDate":"2020-11",
                                "cbsDescription":"Statutory vehicle inspection overdue!"},
                                
                                {"cbsType":"BRAKE_FLUID",
                                "cbsState":"OK",
                                "cbsDueDate":"2021-08",
                                "cbsDescription":"Next change due at the latest by the stated date."},
                                
                                {"cbsType":"VEHICLE_CHECK",
                                "cbsState":"OK",
                                "cbsDueDate":"2021-08",
                                "cbsDescription":"Next visual inspection due when the stated distance has been covered or by the stated date."}
                                ],
                                "DCS_CCH_Activation":"NA",
                                "DCS_CCH_Ongoing":false}}
                                

                                Besten Dank nochmal !

                                S 1 Reply Last reply Reply Quote 0
                                • S
                                  Strobelix @qwertz last edited by Strobelix

                                  @qwertz
                                  Danke dir. Bei dir sind die CBSDaten anders angeordnet als bei mir.
                                  Bei mir kommt erst Öl, Bremsflüssigkeit, Fahrzeucheck und dann TÜV.
                                  Da ich beim ÖL (also dem cbsData[0]) die Restkilometer abfrage, und das bei dir der TÜV ist, welcher keine Restkilometer hat, ist der Fehler natürlich nachvollziehbar.

                                  Du müsstest also die Zahlen in "cbsData[X]" umsortieren
                                  Bei
                                  Hauptuntersuchung statt cbsData[3] muss das bei dir [0] sein
                                  und Ölservice [0]auskommentieren, gibt es wohl bei dir nicht.

                                  Mein CBS ist so sortiert:

                                  "cbsData": [
                                        {
                                          "cbsType": "OIL",
                                          "cbsState": "OK",
                                          "cbsRemainingMileage": 16000,
                                          "cbsDueDate": "2022-02",
                                          "cbsDescription": "Next service due when the stated distance has been covered or by the specified date."
                                        },
                                        {
                                          "cbsType": "BRAKE_FLUID",
                                          "cbsState": "OK",
                                          "cbsDueDate": "2023-02",
                                          "cbsDescription": "Next change due at the latest by the stated date."
                                        },
                                        {
                                          "cbsType": "VEHICLE_CHECK",
                                          "cbsState": "OK",
                                          "cbsRemainingMileage": 47000,
                                          "cbsDueDate": "2024-02",
                                          "cbsDescription": "Next visual inspection due when the stated distance has been covered or by the stated date."
                                        },
                                        {
                                          "cbsType": "VEHICLE_TUV",
                                          "cbsState": "OK",
                                          "cbsDueDate": "2023-05",
                                          "cbsDescription": "Next statutory vehicle inspection due by the stated date."
                                        }
                                      ],
                                  
                                  1 Reply Last reply Reply Quote 0
                                  • Q
                                    qwertz last edited by

                                    @strobelix
                                    Ach so. Ja Öl gibts beim Elektroauto nicht. Dann weiß ich jetzt woran es liegt.

                                    Ich hoffe mal, dass BMW zukünftig nicht zu viel an der API bastelt. Auf jeden Fall kann ich als Script-Kiddy mit deiner Lösung flexibler auf Änderungen reagieren, als mit dem bisherigen Adapter.

                                    Besten Dank !

                                    P.S. Ich nutze ansonsten die iOS "BMW Connected" App. Hat jemand die neue "MyBMW" App. Ändert sich durch die Nutzung der neuen App die API ?

                                    S 1 Reply Last reply Reply Quote 0
                                    • S
                                      Strobelix @qwertz last edited by

                                      @qwertz
                                      Ich nutze beide Apps um zu Vergleichen, aber die aktuelle Api gilt für beide Apps.

                                      Sollte also hoffentlich jetzt erst mal so bleiben.
                                      Manche Modelle reagieren aber noch auf die alte API. Keiner weiss warum und bis zu welchem Modell

                                      N H 2 Replies Last reply Reply Quote 0
                                      • N
                                        neueinsteiger @Strobelix last edited by

                                        Hallo zusammen

                                        Ich bin ganz neu hier und auch in der Iobroker Welt. Ich habe mir den BMW Adapter runtergeladen um den Tür bzw Fenster status auszulesen, bzw mir über yahka und dann homekit Automationen zu erstellen. Allerdings erhalte ich nur für Sunroof_position eine Meldung. Weder die Türen noch die Fenster funktionieren.
                                        KM Stand, Tankfüllung und Reichweite funktionieren.
                                        Nächster Service, diesen Eintrag finde ich überhaupt nicht.
                                        Kann mir evtl jemand behilflich sein wie ich den Status der Fenster und Türen über yahka abfragen kann.
                                        Ich habe eine Gerät erstellt Fenster und service Typ window oder Contact sensor( beides ohne Erfolg versucht) dann current position oder position state versucht, hat alles nicht funktioniert.

                                        S 1 Reply Last reply Reply Quote 0
                                        • S
                                          Strobelix @neueinsteiger last edited by

                                          @neueinsteiger
                                          Wenn du hier ein paar Beiträge hoch scrollst, entdeckst du, dass der BMW Adapter nicht mehr richtig funktioniert. Dafür habe ich aber ein Blockly gebaut, welches die Daten ausliest

                                          S S 2 Replies Last reply Reply Quote 0
                                          • S
                                            Stefan Hanke @Strobelix last edited by

                                            ...sehr merkwürdig wie unterschiedlich hier die Funktion des BMW-Adapters bewertet wird.

                                            Bei mir funktioniert der einwandfrei bis auf die „connected-Funktionen“, Standheizung, Öffnen, Verschließen, Lichthupe und Hupe.

                                            Beim mir werden alle Datenpunkte korrekt und fehlerfrei eingelesen.

                                            Für die Connected-Funktionen und nur für diese, habe ich das Blockly hier aus diesem Thread laufen - auch das funktioniert perfekt und ist für mich die ideale Ergänzung.
                                            Danke nochmals dafür !

                                            Wirklich merkwürdig, dass der Adapter bei manchen BMW-Modellen so gar nicht funktionieren mag...

                                            Viele Grüße,
                                            Stefan

                                            Q 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            459
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            49
                                            305
                                            55222
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo