Toegang krijgen tot de OMNI API

Arjannv
Runner-up
Runner-up
Netherlands
Berichten: 14
Lid geworden op: 28 apr 2021, 15:21
Merk SP: Stromer ST2

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.
Falafel
Runner-up
Runner-up
Netherlands
Berichten: 10
Lid geworden op: 15 nov 2021, 19:21
Locatie: Nederland
Merk SP: Stromer
Km-stand: 420

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...
Jan-Willem Wisselink
Veteraan
Veteraan
Netherlands
Berichten: 697
Lid geworden op: 27 jul 2017, 14:10
Locatie: Utrecht
Merk SP: Stromer ST1x (2019)
Km-stand: 6313

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.
Stromer rijder sinds augustus 2017.
Stromer ST1x (2019) - 10147km - Top Contact - Ergo - Kinekt - 2x983Wh
Stromer ST1x (2017) - 21.371km - Top Contact - Ergo - Thudbuster large - 1x813Wh
Woonwerk: 58km enkel / 116km retour.
Falafel
Runner-up
Runner-up
Netherlands
Berichten: 10
Lid geworden op: 15 nov 2021, 19:21
Locatie: Nederland
Merk SP: Stromer
Km-stand: 420

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.
Jan-Willem Wisselink
Veteraan
Veteraan
Netherlands
Berichten: 697
Lid geworden op: 27 jul 2017, 14:10
Locatie: Utrecht
Merk SP: Stromer ST1x (2019)
Km-stand: 6313

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.
Stromer rijder sinds augustus 2017.
Stromer ST1x (2019) - 10147km - Top Contact - Ergo - Kinekt - 2x983Wh
Stromer ST1x (2017) - 21.371km - Top Contact - Ergo - Thudbuster large - 1x813Wh
Woonwerk: 58km enkel / 116km retour.
Falafel
Runner-up
Runner-up
Netherlands
Berichten: 10
Lid geworden op: 15 nov 2021, 19:21
Locatie: Nederland
Merk SP: Stromer
Km-stand: 420

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!
Gebruikersavatar
Stromeur
Admin | Forum Supporter
Admin | Forum Supporter
Netherlands
Berichten: 22817
Lid geworden op: 15 mei 2017, 20:18
Locatie: Friesland
Merk SP: Stromer ST3 PINION SE

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.
Stromer ST1 X 2017 - Stromer ST2 S 2018 - Klever X ALPHA 45 2021 - Stromer ST3 PINON 2023
Gebruikersavatar
FreddyH
Veteraan
Veteraan
Netherlands
Berichten: 9406
Lid geworden op: 24 jan 2018, 17:46
Locatie: regio Eindhoven
Merk SP: Klever X-Speed α

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.
🇺🇦
There was never a good war, or a bad peace :bn:
[Benjamin Franklin]
buco
Runner-up
Runner-up
Belgium
Berichten: 21
Lid geworden op: 09 feb 2022, 20:39
Locatie: Heist op den Berg
Merk SP: Stromer

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?
buco
Runner-up
Runner-up
Belgium
Berichten: 21
Lid geworden op: 09 feb 2022, 20:39
Locatie: Heist op den Berg
Merk SP: Stromer

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:
Plaats reactie