TA2k / ioBroker.bmw

ioBroker Adapter for BMW
MIT License
14 stars 6 forks source link

AxiosError: Request failed with status code 404 #32

Closed tipp88 closed 1 year ago

tipp88 commented 1 year ago

Since yesterday, the BMW adapter is no longer working correctly.

image

bahnuhr commented 1 year ago

gleicher Fehler bei mir.

ddsak commented 1 year ago

Same here.

Black-Thunder commented 1 year ago

Hab grad ein bisschen den Fehler gedebuggt und gesehen, dass das Problem an der URL bzw. aufgerufenen API (bisher noch v1) liegt, die anscheinend nun von BMW abgeschaltet wurde:

https://github.com/TA2k/ioBroker.bmw/blob/070889343053f759e7c5a8c73dbdff3230f8ff03/main.js#L392

Ersetzt man dort "v1" durch "v4" (aktuell laut bimmer connected) dann verschwindet zumindest der Fehler. Allerdings hat sich dabei ziemlich sicher das Format der Daten geändert, weil dann nicht mehr alle States beschrieben werden. Müsste man sich noch intensiver anschauen. Aber das wäre zumindest schon mal ein erster Ansatzpunkt für @TA2k

beef76 commented 1 year ago

same here :-(

andig commented 1 year ago

v4 scheint die richtige Fahrzeugliste zu liefern, aber nicht die Fahrzeugproperties.

TA2k commented 1 year ago

Brauch ich ein account um zu sehen was sich geändert hat

andig commented 1 year ago

Status request must look like this:

GET /eadrax-vcs/v4/vehicles/state?apptimezone=120&appDateTime=1688114184100 HTTP/1.1
Host: cocoapi.bmwgroup.com
User-Agent: Go-http-client/1.1
Authorization: Bearer ...
Bmw-Vin: ...
Content-Type: application/json
X-User-Agent: android(SP1A.210812.016.C1);bmw;99.0.0(99999);row
Accept-Encoding: gzip
bahnuhr commented 1 year ago

hast ne Mail an:

tombox2020@gmail.com

andig commented 1 year ago

@TA2k see above, that will get you

{
    "state": {
        "isLeftSteering": true,
        "lastFetched": "2023-06-30T08:36:24.190Z",
        "lastUpdatedAt": "2023-06-26T06:30:38Z",
        "isLscSupported": true,
        "range": 213,
        "doorsState": {
            "combinedSecurityState": "SECURED",
            "leftFront": "CLOSED",
            "leftRear": "CLOSED",
            "rightFront": "CLOSED",
            "rightRear": "CLOSED",
            "combinedState": "CLOSED",
            "hood": "CLOSED",
            "trunk": "CLOSED"
        },
        "windowsState": {
            "leftFront": "CLOSED",
            "rightFront": "CLOSED",
            "combinedState": "CLOSED"
        },
        "currentMileage": 50831,
        "requiredServices": [],
        "checkControlMessages": [],
        "chargingProfile": {
            "chargingControlType": "WEEKLY_PLANNER",
            "reductionOfChargeCurrent": {
                "start": {
                    "hour": 0,
                    "minute": 0
                },
                "end": {
                    "hour": 0,
                    "minute": 0
                }
            },
            "chargingMode": "IMMEDIATE_CHARGING",
            "chargingPreference": "CHARGING_WINDOW",
            "departureTimes": [
                {
                    "id": 1,
                    "timeStamp": {
                        "hour": 0,
                        "minute": 0
                    },
                    "action": "DEACTIVATE",
                    "timerWeekDays": []
                },
                {
                    "id": 2,
                    "action": "DEACTIVATE",
                    "timerWeekDays": []
                },
                {
                    "id": 3,
                    "action": "DEACTIVATE",
                    "timerWeekDays": []
                },
                {
                    "id": 4,
                    "action": "DEACTIVATE",
                    "timerWeekDays": []
                }
            ],
            "climatisationOn": false,
            "chargingSettings": {
                "targetSoc": 100,
                "idcc": "NO_ACTION",
                "hospitality": "NO_ACTION"
            }
        },
        "electricChargingState": {
            "chargingLevelPercent": 72,
            "range": 213,
            "isChargerConnected": false,
            "chargingStatus": "INVALID",
            "chargingTarget": 100
        },
        "combustionFuelLevel": {},
        "driverPreferences": {
            "lscPrivacyMode": "OFF"
        },
        "climateTimers": [
            {
                "isWeeklyTimer": false,
                "timerAction": "DEACTIVATE",
                "timerWeekDays": [],
                "departureTime": {
                    "hour": 7,
                    "minute": 0
                }
            },
            {
                "isWeeklyTimer": true,
                "timerAction": "DEACTIVATE",
                "timerWeekDays": [
                    "MONDAY"
                ],
                "departureTime": {
                    "hour": 7,
                    "minute": 0
                }
            },
            {
                "isWeeklyTimer": true,
                "timerAction": "DEACTIVATE",
                "timerWeekDays": [
                    "MONDAY"
                ],
                "departureTime": {
                    "hour": 7,
                    "minute": 0
                }
            }
        ]
    },
    "capabilities": {
        "a4aType": "BLUETOOTH",
        "climateNow": true,
        "climateFunction": "AIR_CONDITIONING",
        "horn": true,
        "isBmwChargingSupported": true,
        "isCarSharingSupported": false,
        "isChargeNowForBusinessSupported": true,
        "isChargingHistorySupported": true,
        "isChargingHospitalityEnabled": false,
        "isChargingLoudnessEnabled": false,
        "isChargingPlanSupported": true,
        "isChargingPowerLimitEnabled": false,
        "isChargingSettingsEnabled": false,
        "isChargingTargetSocEnabled": false,
        "isCustomerEsimSupported": false,
        "isDataPrivacyEnabled": false,
        "isDCSContractManagementSupported": true,
        "isEasyChargeEnabled": false,
        "isMiniChargingSupported": false,
        "isEvGoChargingSupported": true,
        "isRemoteHistoryDeletionSupported": false,
        "isRemoteEngineStartSupported": false,
        "isRemoteServicesActivationRequired": false,
        "isRemoteServicesBookingRequired": false,
        "isScanAndChargeSupported": true,
        "lastStateCallState": "ACTIVATED",
        "lights": true,
        "lock": true,
        "sendPoi": true,
        "unlock": true,
        "vehicleFinder": false,
        "vehicleStateSource": "LAST_STATE_CALL",
        "isRemoteHistorySupported": true,
        "isWifiHotspotServiceSupported": true,
        "isNonLscFeatureEnabled": false,
        "isSustainabilitySupported": false,
        "isSustainabilityAccumulatedViewEnabled": false,
        "specialThemeSupport": [],
        "isRemoteParkingSupported": false,
        "remoteChargingCommands": {},
        "isClimateTimerWeeklyActive": false,
        "digitalKey": {
            "state": "NOT_AVAILABLE",
            "vehicleSoftwareUpgradeRequired": false,
            "bookedServicePackage": "NONE"
        },
        "isPersonalPictureUploadSupported": false,
        "isPlugAndChargeSupported": false,
        "isOptimizedChargingSupported": false
    }
}
Mike1871 commented 1 year ago

Die neue Version (mit v4) funktionert, aber alles unter "properties" fehlt noch.

TA2k commented 1 year ago

gefixt mit 2.6.0

Mike1871 commented 1 year ago

Super, TA2k, vielen Dank. Great job!

tipp88 commented 1 year ago

gefixt mit 2.6.0

Danke! Wie lange dauert es bis es released ist? Install über Github bricht mit Error ab.

tipp88 commented 1 year ago

Screenshot_20230701_083257_Chrome

vowill commented 1 year ago

Vielen Dank @TA2k für die prompte Aktualisierung des Adapters! Die Installation in ioBroker direkt von Github hat mit dem Expertenmodus reibungslos geklappt.

Hier mein kurzer Erfahrungsbericht zum ‚neuen‘ Adapter 2.6.0:

a) Wie von @Mike1871 schon festgestellt, fehlt in den Objekten der Datenpunkt ‚properties‘ mit allen seinen Unterpunkten. Die für mich bzw. meine ioBroker-Steuerung relevanten Datenpunkte finden sich nun an anderer Stelle:

b) Leider findet keine Reaktion mehr statt auf die Aktivierung von bmw.0.WBAxxx.remotev2.force-refresh. @TA2k: Wenn es da eine Möglichkeit gibt, dies wieder herzustellen, wäre das super!

Viele Grüße vowill

bahnuhr commented 1 year ago

Ich vermute die DP werden so von bmw geliefert. Du wirst wohl deine DP in vis ändern müssen. Das einzige was noch fehlt sind die service DP (z.B. Ölwechsel in ...). Und diese scheint es wohl nicht mehr zu geben.

Ansonsten top. DP in vis geändert und es läuft wieder alles.

tipp88 commented 1 year ago

Bei mir hat nun der Install von GitHub auch funktioniert. Wie hier schon geschrieben sind die Datenpunkte neu und an anderen Positionen. Der State of Charge, Position etc, aber nach Änderungen in den Skripten läuft nun wieder alles. Besten Dank an @TA2k

CenturyTTTT commented 1 year ago

Hi,

Auch bei V2.6 des Adapters kommen keine Daten an.

bmw.1 | 2023-07-06 09:32:32.068 | error | {"statusCode":404,"message":"Resource not found"} bmw.1 | 2023-07-06 09:32:32.067 | error | AxiosError: Request failed with status code 404 bmw.1 | 2023-07-06 09:32:32.066 | error | getvehicles v2 failed

Mabu54 commented 1 year ago

Hi, ich hänge mich hier auch an. Bei mir der gleiche Fehler allerdings noch mit der 2.5.7 Hab schon auf Vorgänerversion probiert ohne Erfolg. Gerade noch die neue Node.js auf 18.16.1 aktualisiert. Alles ohne Besserung weiterhin allr 6 Minuten der Fehler.

bahnuhr commented 1 year ago

@Mabu54 Oben steht mehrmals ! dass es mit 2.6.0 wieder geht. Warum hat du immer noch 2.5.7 ?

Mabu54 commented 1 year ago

@bahnuhr weil mir in der Adapterübersicht des IO-Broker die Version 2.6.0 noch nicht zum Download angeboten wird!?!?!

Mabu54 commented 1 year ago

Hab jetzt die Version 2.6.1 direkt aus Github in meinen IO-Broker installiert. Ja die Verbindung ist wieder hergestellt und Werte sind wieder aktuell. ABER WARUM UM HIMMELSWILLEN SIND UNTERVERZEICHNISBEZEICHNUNGEN WIEDER GEÄNDERT???? Z.B. aus "status" wurde "stade". Da ist ja keine Fortschreibung der Statistig möglich! Meine Fernbedienung muss ich auch wieder umbauen!

Oder bin ich zu doof mit dem Update umzugehen?

tipp88 commented 1 year ago

Hab jetzt die Version 2.6.1 direkt aus Github in meinen IO-Broker installiert. Ja die Verbindung ist wieder hergestellt und Werte sind wieder aktuell. ABER WARUM UM HIMMELSWILLEN SIND UNTERVERZEICHNISBEZEICHNUNGEN WIEDER GEÄNDERT???? Z.B. aus "status" wurde "stade". Da ist ja keine Fortschreibung der Statistig möglich! Meine Fernbedienung muss ich auch wieder umbauen!

Oder bin ich zu doof mit dem Update umzugehen?

Beschwer dich bei BMW, die API hat sich geändert. Bedank dich lieber bei der Community dass es überhaupt wieder funktioniert. Deine alte Statistik kannst auch mit den neuen werten fortschreiben.

bahnuhr commented 1 year ago

@Mabu54

!?!?!

Was soll das ? Wenn du es nicht verstehst kann keiner hier was dazu. Und wie @tipp88 schon schrieb. Danke an die community, dass es überhaupt wieder läuft.

TA2k commented 1 year ago

Bitte auf beta repo umstellen

Mabu54 commented 1 year ago

@tipp88 Danke für den Hinweis und ja Danke an die Communitiy, die ich sicher nicht verdächtigen wollte, im Gegenteil da war die Formulierung sehr unkar zugeordnet. Was kann man tun um solche Änderungen einigermaßen vernünftig abzufangen? Ist da die Aliasverwaltung eine Möglichkeit? Wie kann man verschieden lautende Datenpunkte in der History zusammenbringen?

vowill commented 11 months ago

@TA2k Nochmal besten Dank für den Adapter, der bei mir sehr gut läuft. Aktuell habe ich v2.6.3 installiert. Frage: Gibt es in der BMW API keine Information mehr zum 'Servicebedarf'? Der wird zwar in der App angezeigt (und war früher unter bmw.0.VIN.properties.serviceRequiredxx enthalten), aber in den aktuellen Adapter-DPs nicht mehr zu finden.