Pagina 13 van 17

Re: Toegang krijgen tot de OMNI API

Geplaatst: 25 nov 2021, 15:43
door Arjannv
OK, hebbes :)

Met de MITM proxy heb ik de volgende URLs achterhaald:

In de get_code functie wordt het:

Code: Selecteer alles

https://stromer-portal.ch/mobile/v4/login/ 
In de get_code functie moet de POST array "data->next" ook iets aangepast worden naar:

Code: Selecteer alles

"next": "/mobile/v4/o/authorize/?" + qs
In de get_access_token functie:

Code: Selecteer alles

https://stromer-portal.ch/mobile/v4/o/token/
In de get_access_token functie moet de "params" array ook iets anders:

Code: Selecteer alles

	params = {
		"grant_type": "authorization_code",
		"client_id": client_id,
		"code": code,
		"redirect_uri": "stromer://auth",
	}
In de call_api functie:

Code: Selecteer alles

"https://api3.stromer-portal.ch/rapi/mobile/v4.1/%s" % endpoint
De "client_id" is trouwens ook veranderd (beginnend met 4P). De andere, "client_secret" wordt nergens meer gebruikt.

Ik heb 'm trouwens nog niet geprobeerd, omdat alles bij mij nog werkt.

Re: Toegang krijgen tot de OMNI API

Geplaatst: 25 nov 2021, 19:44
door Falafel
Arjannv schreef: 25 nov 2021, 15:43 OK, hebbes :)

Met de MITM proxy heb ik de volgende URLs achterhaald:

In de get_code functie wordt het:

Code: Selecteer alles

https://stromer-portal.ch/mobile/v4/login/ 
In de get_code functie moet de POST array "data->next" ook iets aangepast worden naar:

Code: Selecteer alles

"next": "/mobile/v4/o/authorize/?" + qs
In de get_access_token functie:

Code: Selecteer alles

https://stromer-portal.ch/mobile/v4/o/token/
In de get_access_token functie moet de "params" array ook iets anders:

Code: Selecteer alles

	params = {
		"grant_type": "authorization_code",
		"client_id": client_id,
		"code": code,
		"redirect_uri": "stromer://auth",
	}
In de call_api functie:

Code: Selecteer alles

"https://api3.stromer-portal.ch/rapi/mobile/v4.1/%s" % endpoint
De "client_id" is trouwens ook veranderd (beginnend met 4P). De andere, "client_secret" wordt nergens meer gebruikt.

Ik heb 'm trouwens nog niet geprobeerd, omdat alles bij mij nog werkt.
Goed speurwerk! Ik heb alles aangepast en... weer geen data. Toen ging ik denken; in mijn Stromer zit een bluetooth-OMNI en ik heb op mijn telefoon dus ook de OMNI BT- app. Ik denk dat ik daar een fout maak. Na decompilatie van die app vind ik namelijk weer een andere client_id en client_secret... De api_baseUrl is https://api3.stromer-portal.ch/rapi/mobile/v3/, als je daar "bike" achter plakt krijg je gewoon een 404. Is het met deze OMNI-module überhaupt mogelijk om op deze manier gegevens uit te lezen? Ik was toch wel in de veronderstelling dat dit soort gegevens over de fiets via de bluetooth-verbinding en de app naar het internet gestuurd kunnen worden...

Re: Toegang krijgen tot de OMNI API

Geplaatst: 25 nov 2021, 21:53
door Jan-Willem Wisselink
Jij hebt dus een Omni-B? (Nieuwer type ST1?)

Dan zou je denkwijze wel eens de juiste richting kunnen zijn. Ik zou ook verwachten dat Stromer de data van deze Stromers zou willen hebben. Dat is dan een kwestie van uploaden uit de app, nadat je de data met bluetooth uit je stromer hebt gehaald.

Maar als Stromer dat niet doet; en je data van je stromer alleen jouw mobiel staat is het heel logisch idd dat je een lege array binnenkrijgt.

Re: Toegang krijgen tot de OMNI API

Geplaatst: 27 nov 2021, 11:33
door Falafel
Jan-Willem Wisselink schreef: 25 nov 2021, 21:53 Jij hebt dus een Omni-B? (Nieuwer type ST1?)

Dan zou je denkwijze wel eens de juiste richting kunnen zijn. Ik zou ook verwachten dat Stromer de data van deze Stromers zou willen hebben. Dat is dan een kwestie van uploaden uit de app, nadat je de data met bluetooth uit je stromer hebt gehaald.

Maar als Stromer dat niet doet; en je data van je stromer alleen jouw mobiel staat is het heel logisch idd dat je een lege array binnenkrijgt.
Inderdaad. De fiets is pas nieuw maar bevat dus niet de OMNI-module met 3G-connectiviteit. Ik hoop dat het mogelijk om toch e.e.a. uit te lezen, ik zou het namelijk raar vinden als dat niet het geval is, want dat zegt mij dat de dealer evengoed geen informatie over de fiets kan zien in zijn portaal. Op basis van wat ik in de gedecompileerde files van de BT-app heb gevonden probeer ik alsnog het script juist te configureren, maar tot nu toe geen succes.

Re: Toegang krijgen tot de OMNI API

Geplaatst: 27 nov 2021, 12:20
door Jan-Willem Wisselink
De laatste keer dat ik bij mijn dealer was, was de technieker de OMNI-B uit een Stromer aan het halen om vervolgens de USB stick eraan te hangen voor een FW upgrade...... :shock: Iets zegt mij dat dat toch een redelijk omslachtige methode is, als het gewoon via de bluetooth zou kunnen bijvoorbeeld. Je zou je dealer een kunnen vragen wat ze van jou Stromer kunnen uitlezen. Dan weet je snel genoeg welke info er op de Stromer server staat van jou fiets.

Re: Toegang krijgen tot de OMNI API

Geplaatst: 06 dec 2021, 20:04
door Falafel
Jan-Willem Wisselink schreef: 27 nov 2021, 12:20 De laatste keer dat ik bij mijn dealer was, was de technieker de OMNI-B uit een Stromer aan het halen om vervolgens de USB stick eraan te hangen voor een FW upgrade...... :shock: Iets zegt mij dat dat toch een redelijk omslachtige methode is, als het gewoon via de bluetooth zou kunnen bijvoorbeeld. Je zou je dealer een kunnen vragen wat ze van jou Stromer kunnen uitlezen. Dan weet je snel genoeg welke info er op de Stromer server staat van jou fiets.
Dit zal ik bij het volgende onderhoud eens navragen inderdaad. Dat klinkt inderdaad omslachtig, maar het is natuurlijk ook niet een ondenkbare methode om te updaten enz. Allen bedankt voor de inzichten tot dusver, in ieder geval!

Re: Toegang krijgen tot de OMNI API

Geplaatst: 06 dec 2021, 20:52
door Stromeur
Jan-Willem Wisselink schreef: 27 nov 2021, 12:20 De laatste keer dat ik bij mijn dealer was, was de technieker de OMNI-B uit een Stromer aan het halen om vervolgens de USB stick eraan te hangen voor een FW upgrade...... :shock: Iets zegt mij dat dat toch een redelijk omslachtige methode is, als het gewoon via de bluetooth zou kunnen bijvoorbeeld.
Dat is ook niet de standaard methode. FW update voor een OMNI B gebeurt normaal via de OMNI app en dan via BT naar de OMNI B.

Als de FM er een USB touwtje aan moest hangen, dan zal dat geweest zijn omdat FW updaten volgens de reguliere methode niet werkte. En in dat geval is het prima dat het ook per USB kan.

Re: Toegang krijgen tot de OMNI API

Geplaatst: 06 dec 2021, 21:08
door FreddyH
Stromeur schreef: 06 dec 2021, 20:52 En in dat geval is het prima dat het ook per USB kan.
In dat geval is het zelfs uitstekend dat het via USB kan. Deze "omslachtige" methode is nog altijd een stuk beter dan een retourtje Den Bosch (of Zwitserland) voor je OMNI zodat hij daar een update kan krijgen.

Re: Toegang krijgen tot de OMNI API

Geplaatst: 10 feb 2022, 05:52
door buco
Ik probeer ook toegang te krijgen tot de API omdat ik de stromer wil integreren in mijn Home Assistant setup. Ik heb een ST2 met een oudere omni. Nu heb ik een apk gedownload en met Android Studio proberen te laten runnen om dan met een mitmproxy het verkeer te onderscheppen maar ik krijg hem niet aan't draaien. "No JDK specified for module 'stromer_OMNI_...". Geen idee wat ik mis doe.

Ik dacht, hey eens in de files gaan kijken naar 'client_id' met command-shift-f. Ik vind wel degelijk een paar matches waar "client_id" en "client_secret" gebruikt wordt, maar nergens de declaratie van wat client_id/client_secret is.

Kan iemand me wat op weg zetten?

Re: Toegang krijgen tot de OMNI API

Geplaatst: 10 feb 2022, 06:21
door buco
Never mind, gevonden :). Met homebrew jadx geinstalleerd, dan met jadx-gui de apk gedecompileerd, gezocht op stromer-portal in alle files, de file die eruit kwam geopend en daar vond ik de strings die ik wilde hebben :cool2: