magaHH / homebridge-bmw-connected-accessories

MIT License
2 stars 0 forks source link

Connected Drive Website down on Jul 7. Client ID able to be found still? #4

Open jackklink opened 3 years ago

jackklink commented 3 years ago

Hey! Thanks for making this plugin. On July 7, BMW took down the Connected Drive online site which is the easiest place to find a client ID.

With that gone, I've been trying to find my client ID via a proxy using Charles on my Mac connected to my iPhone. I haven't been able to find the right ID that works with this plugin from the data being sent/received by the MyBMW iOS app.

Do you have any suggestions of how I could find this ID? Is it no longer possible after all the recent changes to Connected Drive? Is the plugin broken now? Thanks for your help!

jackklink commented 3 years ago

FYI...

The queries I was able to intercept coming from the MyBMW app look like this...

https://api.countly.bmwusa.com/i?app_key=2f9e37xxxxxxxxxxxxxxxxxxxxxxxxxxxx28fb66&device_id=efcxxxxx-xxxx-xxxx-xxxx-xxxxx7479f0c&timestamp=1626547628237&hour=11&dow=6&tz=-420&sdk_version=20.11.1&sdk_name=dart-flutterb-ios

It appears the new app uses an "app_key" and "device_id" -- I was not able to get either of these to work with the plugin as client_id.

JoMensdorf commented 3 years ago

I´m using this with the default client ID: client_id= dbf0a542-ebd1-4ff0-a9a7-55172fbfce35

jackklink commented 3 years ago

Oh really? I just tried that and got the following error using my correct myBMW login credentials and sending the UNLOCK command:

[8/7/2021, 12:49:34 PM] [BMW i3 Unlock] Sending Command RDU [8/7/2021, 12:49:34 PM] [BMW i3 Unlock] Now :1628365774767 [8/7/2021, 12:49:34 PM] [BMW i3 Unlock] Later :0 [8/7/2021, 12:49:34 PM] [BMW i3 Unlock] Getting Auth Token [8/7/2021, 12:49:35 PM] [BMW i3 Unlock] null [8/7/2021, 12:49:35 PM] TypeError: Cannot read property 'split' of null at BMWConnectedAccessory. (/usr/lib/node_modules/homebridge-bmw-connected-accessories/index.js:261:23) at Request.self.callback (/usr/lib/node_modules/homebridge-bmw-connected-accessories/node_modules/request/request.js:185:22) at Request.emit (events.js:315:20) at Request. (/usr/lib/node_modules/homebridge-bmw-connected-accessories/node_modules/request/request.js:1154:10) at Request.emit (events.js:315:20) at IncomingMessage. (/usr/lib/node_modules/homebridge-bmw-connected-accessories/node_modules/request/request.js:1076:12) at Object.onceWrapper (events.js:421:28) at IncomingMessage.emit (events.js:327:22) at endReadableNT (internal/streams/readable.js:1327:12) at processTicksAndRejections (internal/process/task_queues.js:80:21)

JoMensdorf commented 3 years ago

No idea why, just can tell you it works for my F31:

[8.8.2021, 11:35:57] [Auto aufsperren] Sending Command RDU [8.8.2021, 11:35:57] [Auto aufsperren] Now :1628415357849 [8.8.2021, 11:35:57] [Auto aufsperren] Later :0 [8.8.2021, 11:35:57] [Auto aufsperren] Getting Auth Token [8.8.2021, 11:35:58] [Auto aufsperren] #state=xxx&access_token=yyy&token_type=Bearer&expires_in=7199 [8.8.2021, 11:35:58] [Auto aufsperren] Got Auth Token: zzz [8.8.2021, 11:35:58] [Auto aufsperren] Refreshtime: 1628422557300 current authtoken zzz [8.8.2021, 11:35:58] [Auto aufsperren] Waiting for confirmation... [8.8.2021, 11:35:58] [Auto aufsperren] Now :1628415358800 [8.8.2021, 11:35:58] [Auto aufsperren] Later :1628422557300 [8.8.2021, 11:35:59] [Auto aufsperren] Success! switching it on [8.8.2021, 11:35:59] [homebridge-bmw-connected-accessories] This plugin generated a warning from the characteristic 'On': SET handler returned write response value, though the characteristic doesn't support write response. See https://git.io/JtMGR for more info. switching it off after 5000 ms Switch was switched (_setState called) to: false switching it off [8.8.2021, 11:36:04] [homebridge-bmw-connected-accessories] This plugin generated a warning from the characteristic 'On': SET handler returned write response value, though the characteristic doesn't support write response. See https://git.io/JtMGR for more info.