Lyve1981 / BMW-ConnectedDrive-JSON-Wrapper

Wraps the BMW ConnectedDrive authentication mechanisms and outputs json files for every vehicle
BSD 2-Clause "Simplified" License
12 stars 0 forks source link

Not latest (realtime) information from bmw connected site? #3

Open bwired-nl opened 4 years ago

bwired-nl commented 4 years ago

Hi I use your program, works very good. Except for 1 thing If I use the BMW app i see the mileage realtime, its equal to the odometer of the car. But when i use you caal to BMW connected site, its not updating this information, so its not realtime. I changed caching and header info but still not realtime?

Is it because the bMW app uises a diffrtent URL ?? Hope you can help

regards

krauskopf commented 4 years ago

Sorry, but I don't know why the App is more realtime than the Connected Drive site. But the following things would be interesting. Are you using the iPhone BMW app? Do you know if the BMW Connected Site is refreshing while you are refreshing via the App? I mean is the BMW Connected Site more realtime if you are using the App in parallel?

bwired-nl commented 4 years ago

I did that :-) if I use the bmwconnected website on my iphone while driving, its tells me that I can not use the realtime data. I can only use it when standing still. if I use the BMW connected APP than the data is in realtime and is updated the same time as my odometer (km counter) in my Car, so realtime. So I think we need to use the URL's form the app> I have not found these yet. Hopefully somebody knows these. Im busy setting up stuff to be able the sniff the App on Iphone Too.

Lyve1981 commented 4 years ago

Do you use the integrated webserver and forgot to pass the "refresh" argument? If that one is omitted, a cached version is returned, but that is outputted on the console.

Nevertheless, BMW recently modified their API slightly, one endpoint is no longer valid. I'll push an update shortly

bwired-nl commented 4 years ago

Yes I know that one :-) I use something like this to fool the cache "+ "?cache_number=" + Math.floor(Math.random() * 10000)" But you triggered me, while getting this line of code, i saw a possible mistake. But looking forward to your code update :-) thanks all

Lyve1981 commented 4 years ago

Just pushed some updates, I removed that caching thing as it was not useful anyway.

I furthermore pushed actions (door lock, climate etc)

bwired-nl commented 4 years ago

Ok got it, Problem for me is not in the webserver. I dont use the webserver. I have an OBDtracker in my car, which sends a package to my server as soon as I start the car. In that case i fire a bmwrequest.call and retrieve the data. In case my tracker sees that i make a corner I again get the data via bmwrequest.call That data is in that case the same as the first one, so the Json is exactly the same. Only when I stop de car put the ignition off I get the renewed data from the bmwrequest.call any thoughts?

bwired-nl commented 4 years ago

I have added this