Toegang krijgen tot de OMNI API
Een scriptje zoals het bovenstaande maar met wat aanpassingen draait hier elke 30 minuten (met cached=true om 3G data verbruik tot een minimum te beperken). De ontvangen data wordt opgeslagen in een database en kan met bv. Grafana gevisualiseerd worden.
- Bijlagen
-
- grafana.png (340.11 KiB) 7879 keer bekeken
-
- Veteraan
- Berichten: 702
- Lid geworden op: 27 jul 2017, 14:10
- Locatie: Utrecht
- Merk SP: Stromer ST1x (2019)
- Km-stand: 6313
Vet! Dit is precies waar ik ook aan zat te denk toen ik mijn app.js eenmaal draaiende had Heb wel een beetje SQL kennis, maar te weinig kaas gegeten om te weten hoe ik de data output van de app.js in db krijg. Wellicht zou je aanpak willen delen? I
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.
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.
Zins een aantal dagen ben ik in het bezit van een Stromer en heb ik ook de Omni app geïnstalleerd. Nu probeer ik mijn "client_id" en "client_secret" te achterhalen. Dat valt niet mee. Ik heb aantal dingen geprobeerd. Via een een pi-hole, deze gaf alleen het api3.stromer-portal.ch adres. Via wireshark in me modem, ook deze gaf alleen het *.ch adres en via de Mitm proxy. Bij de laatste werkt elke app op me telefoon behalve de Stromer app. Ik kreeg de melding dat ik geen internet heb. Het lijkt erop dat Stomer de boel goed aan het dicht timmeren is.
Mijn vraag is dan ook, heeft er iemand nog een oude Stromer OMNI versie voor Android? Dus een losse APK installatie file.
Dan kan ik tijdelijk terug naar een oude versie en wellicht lukt het dan wel om de "client_id" te achterhalen. Mocht iemand nog een andere optie weten, ik houd me aanbevalen.
Alvast bedankt.
Mijn vraag is dan ook, heeft er iemand nog een oude Stromer OMNI versie voor Android? Dus een losse APK installatie file.
Dan kan ik tijdelijk terug naar een oude versie en wellicht lukt het dan wel om de "client_id" te achterhalen. Mocht iemand nog een andere optie weten, ik houd me aanbevalen.
Alvast bedankt.
Die client_id en client_secret kan je niet achterhalen door traffic te sniffen, wel door een decompile van de Android app. Heb net getest en werkt nog steed op 2.9.8 versie:stromer82 schreef: ↑11 jun 2019, 22:11 Zins een aantal dagen ben ik in het bezit van een Stromer en heb ik ook de Omni app geïnstalleerd. Nu probeer ik mijn "client_id" en "client_secret" te achterhalen. Dat valt niet mee. Ik heb aantal dingen geprobeerd. Via een een pi-hole, deze gaf alleen het api3.stromer-portal.ch adres. Via wireshark in me modem, ook deze gaf alleen het *.ch adres en via de Mitm proxy. Bij de laatste werkt elke app op me telefoon behalve de Stromer app. Ik kreeg de melding dat ik geen internet heb. Het lijkt erop dat Stomer de boel goed aan het dicht timmeren is.
Mijn vraag is dan ook, heeft er iemand nog een oude Stromer OMNI versie voor Android? Dus een losse APK installatie file.
Dan kan ik tijdelijk terug naar een oude versie en wellicht lukt het dan wel om de "client_id" te achterhalen. Mocht iemand nog een andere optie weten, ik houd me aanbevalen.
Alvast bedankt.
Dan even zoeken op de api endpoint URL en daar vind je ze.quacktop schreef: ↑18 mar 2019, 10:57Nog makkelijker is JADX en meteen de APK openen. Dan krijg je wat makkelijker leesbare code en dan in een klasse staan de clientid en secret.jan2642 schreef: ↑15 mar 2019, 15:18 Er is nog een andere methode:
- Download de android versie van de app op je PC, er zijn genoeg sites die dit aanbieden.
- Download een tool zoals apktool of baksmali.
- Decompileer de app met 1 van deze tools. Dit genereert een 5000-tal .smali bestanden.
- één (en slechts één) van deze bestanden bevat de client id & client secret
Ik ga niet meteen zeggen welk bestand, er moet nog een beetje drempel over blijven
Ben wat aan het experimenteren gegaan met de API en mijn Garmin uurwerk.
Voorlopig resultaat is hieronder te zien. Volgende stappen zijn vergrendelingsknop en het geheel wat verfraaien
Voorlopig resultaat is hieronder te zien. Volgende stappen zijn vergrendelingsknop en het geheel wat verfraaien
ST3 Deep Black XL 983 Wh | Stuur 20mm rise & 20° backsweep | Thudbuster ST
Woon-werk & Stroomverbruikoverzicht
Woon-werk & Stroomverbruikoverzicht
Geniaal! De VivoActive nóg wat functioneler Ik voel me nu wel geprikkeld om ook wat te prutsen met de API of app. Je mag altijd een beta versie in de IQ store zetten of de source code op Github fzo, dan kunnen we ze zelf builden en deployen.
ST3 - “Stromboli” - sinds 5 juli 2019
Deep Black - Sport XL - 983 Wh
59 km Ravels - Edegem | 28 km Ravels - Malle
Deep Black - Sport XL - 983 Wh
59 km Ravels - Edegem | 28 km Ravels - Malle
Zolang Stromer de API niet officieel aanbied voor het publiek ben ik niet onmiddellijk van plan om iets te publiceren naar de store.
Met mijn source van de Garmin widget ga je vrees ik ook niet veel zijn, aangezien die calls maakt naar mijn eigen backend en niet rechtstreeks naar de Stromer API.
Maar met de SDK documentatie van Garmin en het python voorbeeld in deze thread zou je er normaal wel moeten kunnen geraken om zelf iets te maken
Met mijn source van de Garmin widget ga je vrees ik ook niet veel zijn, aangezien die calls maakt naar mijn eigen backend en niet rechtstreeks naar de Stromer API.
Maar met de SDK documentatie van Garmin en het python voorbeeld in deze thread zou je er normaal wel moeten kunnen geraken om zelf iets te maken
ST3 Deep Black XL 983 Wh | Stuur 20mm rise & 20° backsweep | Thudbuster ST
Woon-werk & Stroomverbruikoverzicht
Woon-werk & Stroomverbruikoverzicht
Er is nog een makkelijker manier, mits je Android toestel geroot is:
- Installeer Root Browser (of iets wat er op lijkt)
- Ga naar /data/data/com.stromer.mystromer
- Kopieer deze hele map naar je PC
- Zoek in alle bestanden naar "client_id" en "client_secret" (met bijvoorbeeld Total Commander)
Ik kwam uit in de map \com.stromer.mystromer\cache\org.chromium.android_webview\
- Thats it, laat je niet afleiden door alle onleesbare teken. Wat je zoekt is in plain text.
Ik heb het nu werkend gekregen in Windows Powershell