Toegang krijgen tot de OMNI API

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

SirJohnDoe schreef: 07 mar 2021, 12:27
Jan-Willem Wisselink schreef: 06 mar 2021, 17:45 Requests geimporteerd. Daarna de user data ingevuld en het script gerunned.. Maar helaas de volgende foutmelding. Welke versie van Python heb jij draaien? Ik heb 3.9.2.

===================== RESTART: D:\Documenten\StromerAPI.py =====================
Traceback (most recent call last):
File "D:\Documenten\StromerAPI.py", line 71, in <module>
code = get_code(client_id, username, password)
File "D:\Documenten\StromerAPI.py", line 36, in get_code
res = s.send(res.next, allow_redirects=False)
File "C:\Users\Dell\AppData\Local\Programs\Python\Python39\lib\site-packages\requests\sessions.py", line 646, in send
hooks = request.hooks
AttributeError: 'NoneType' object has no attribute 'hooks'
Ja, die draai ik ook. Bovenstaande error heb ik ook weleens gehad met HomeAssistant, geen idee wat de oorzaak er van is. Ik heb net het script nog even gedraait en ik kreeg de data in beeld. Het staat met bij dat ik het zo heb geinstalleerd:
  • Python3.9.2 geinstalleerd, aan PATH toegevoegd als die dat niet direct doet, hetzelfde voor pip3
  • pip3 install requests
  • Dan password/username/client id/client secret invullen in het script, naar de locatie script cd'en (desktop bij mij) en vervolgens:
  • python3 stromer.py
Als je deze error krijgt krijg je waarschijnlijk gewoon geen data terug van de stromer server. Ik had namelijk mijn wachtwoord van de app moeten veranderen een tijdje terug vanwege double entry in lastpass.... En ja; ik had nog het oude wachtwoord in mijn script staan. Dus problem solved!

Ik heb weer toegang tot de SOH :D :D #jeuh! Kan ik weer lekker 2e hands accu's testen als ik mijn eigen stromer meeneem en gebruik als 'test portal' voor de eventuele aankoop.
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.
allesstroomt
Veteraan
Veteraan
Belgium
Berichten: 662
Lid geworden op: 15 jul 2017, 23:26
Locatie: Belgisch Limburg
Merk SP: Stromer ST3

Ik tel 151 karakters in de client-secret. Kan dat? Python script voor Home Assistant nog niet kunnen testen.

Ik ga met de sensoren een oplaadsysteem verfijnen waardoor ik de Stromer uitsluitend met overschot-zon uit de zonnepanelen kan opladen. De lader trekt 234W vermogen, zo blijkt. Als dat normaal gezien teruggeleverd zou worden naar het net, stop ik het in de batterij tot 85% bereikt is.

Alleen... de fiets moet dan wellicht blijven aanstaan tijdens het laden?
allesstroomt
Veteraan
Veteraan
Belgium
Berichten: 662
Lid geworden op: 15 jul 2017, 23:26
Locatie: Belgisch Limburg
Merk SP: Stromer ST3

En het is gelukt, stromer zit in home assistant. Echt zot. Ik ben hier echter geen held in, en mijn volgende stap zou zijn om het verbruik kwh per km weer te geven op een vermogensgrafiek in Grafana. Heb zelfs ook de meting van de AC stroom die erin gaat via een plug, dus ook laadverliezen evt te berekenen. Toevallig iemand dit al gedaan die dit wil delen?

De health state van de batterij op een tijdlijn bijhouden is ook wel nuttig. Dat is simpeler :)
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

Tof! Fijn dat het gelukt is. Ik ben er ook geen held in, dus ik doe dat nu manueel in een google spreadsheetje. Niet heel veel datapunten daardoor, maar genoeg om een beetje een idee te krijgen van de trend.

Ik heb zelf nog geen ervaring met home-assistant en Grafana. Maar ik zou het ook wel gaaf vinden om deze data automatisch in een database te kunnen stoppen er en mooie grafiekjes van te maken :) Dus als je het voor elkaar hebt, dan ben ik wel erg benieuwd hoe! Een stappenplannen voor de jip en janneke programmeurs onder ons zou dan ook heel erg op prijs gesteld worden :lol:
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.
SirJohnDoe
Pro
Pro
Netherlands
Berichten: 64
Lid geworden op: 30 nov 2020, 23:32
Merk SP: Stromer ST3 2019

tjeerd schreef: 07 mar 2021, 21:33 Vanmiddag en vanavond eens zitten prutsen en alhoewel je de totaal gefietste afstand al in je profiel kon zetten, was dat natuurlijk iets om te kijken of dat kan worden geautomatiseerd. Uiteindelijk heb ik het nu in mijn handtekening zitten als klein plaatje die altijd de gecachte laatste stand laat zien opgehaald via de OMNI API :geek:
Goed idee! Na een avond knutselen met Grafana heb ik iets soortgelijks voor mijn onderschrift. Deze wordt dagelijks geupdate en laat mijn totale km stand van de maand zien.
de witte
Rookie
Rookie
Belgium
Berichten: 4
Lid geworden op: 09 dec 2020, 10:14
Locatie: Zelzate
Merk SP: Strömer St2 LE
Km-stand: 0

Addow schreef: 29 jun 2020, 09:50
Stromboli schreef: 27 jun 2020, 12:16 Ziet er erg cool uit. Is dit er ook al voor Apple watch, of in ontwikkeling misschien?
Ik heb het zelf enkel voor Garmin (ConnectIQ) ontwikkeld, aangezien ik geen Apple Watch heb, maar dat lijkt me een kleintje om dat eveneens voor de Apple Watch te ontwikkelen. Ik heb wel veel zin om mijn stoute schoenen eens aan te trekken en Stromer te contacteren of ze op een of andere manier geen mogelijkheid willen voorzien om third-party applicaties toe te laten via een bij voorkeur public API.

Zelf zouden wij (enkele creatievelingen hier) een eenvoudig platform kunnen opzetten, waar iedereen op basis van zijn login/password + clientID/secret verbinding mee kan maken, die onderliggend alle requests doorstuurt naar StromerAPI, maar dan vrees ik dat we onderweg ergens wel de AV overtreden. Zeker iets om eens na te lezen. Er bestaan vergelijkbare toestanden zoals bvb. veloviewer.com die al zijn data ophaalt via Strava API en daar zijn al meer dan eens conflicten over geweest.

Enkele dagen ver en de widget werkt perfect zoals het hoort :ay

@ Batterij charge / health status:
Zoals piotr al aangeeft en aantoont in zijn screenshot, de API bevat beide percentages: battery_SOC & battery_health:

Code: Selecteer alles

Latest state: {
    "battery_SOC": 82,
    "suiversion": "4.2.2.2",
    "bike_speed": 0,
    "tntversion": "0.0",
    "trip_time": 70609,
    "light_on": 0,
    "average_speed_trip": 35.7,
    "trip_distance": 700.9,
    "average_speed_total": 35.3,
    "motor_temp": 22,
    "average_energy_consumption": 12,
    "power_on_cycles": 42,
    "total_time": 220024,
    "atmospheric_pressure": 0,
    "battery_temp": 25.3,
    "battery_health": 97,
    "total_distance": 2158.4,
    "assistance_level": -100,
    "rcvts": 1593361125,
    "theft_flag": false,
    "lock_flag": true,
    "total_energy_consumption": 27246
}
Kan ik deze terugvinden in de IQ store ?
OlivierVK
Pro
Pro
Belgium
Berichten: 40
Lid geworden op: 24 apr 2021, 09:58
Locatie: Ninove
Merk SP: Stromer
Km-stand: 1510

Hallo,

Ik ben al aan tijdje aan het vechten om zoals beschreven in dit draadje toegang te krijgen tot de data via de API.
Echter, ik meen dat met de nieuwste versie van de app, één en ander is gewijzigd kwa authenticatie.

de client_id is er nog, maar heel het concept van de secret_id is niet meer.
Uit de decompile leid ik af dat oauth2.0 wordt gebruikt want ik zie 'access tokens' en 'refresh tokens' passeren.

Iemand die hier ervaring mee heeft, en mij op weg kan zetten?
Een klein pythonscriptje bvb?

Thx
Stromer ST5 - 2020/04 - Kinect :ba
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

Kan je niet een oude APK downloaden en die decompilen? Want je oude authenticatie methode werkt nog wel namelijk.
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.
OlivierVK
Pro
Pro
Belgium
Berichten: 40
Lid geworden op: 24 apr 2021, 09:58
Locatie: Ninove
Merk SP: Stromer
Km-stand: 1510

Dus jij bevestigt dat het tot op vandaag nog steeds werkt voor jou?
Stromer ST5 - 2020/04 - Kinect :ba
Gebruikersavatar
Addow
Pro
Pro
Belgium
Berichten: 39
Lid geworden op: 05 aug 2019, 15:41
Locatie: Ravels, BE

OlivierVK schreef: 08 nov 2021, 13:52 Dus jij bevestigt dat het tot op vandaag nog steeds werkt voor jou?
Bij mij werkt het alleszins ook nog steeds met de oude procedure.
:bike: ST3 - “Stromboli” - sinds 5 juli 2019
Deep Black - Sport XL - 983 Wh
59 km Ravels - Edegem | 28 km Ravels - Malle
Plaats reactie