29.09.2021, 10:02
(Dieser Beitrag wurde zuletzt bearbeitet: 29.09.2021, 10:03 von SebastianHa.)
Moin,
ich kann das Verlangen von olsa sehr gut verstehen, weil ich vor einem ähnlichen Problem stand: Die Stromer-App ist a) nur so semi gut und b) steht sie nicht für mein Handy/Betriebssystem zur Verfügung. Nach ein wenig Suchen habe ich auf Github folgendes Projekt gefunden: https://github.com/TimBroddin/stromer-api
Damit kann man über NodeJS die Stromer-API, die auch von der App benutzt wird, ansprechen. Das funktioniert auch soweit, man kann sein Stromer ent-/sperren, die Lampe leuchten lassen und Infos abrufen.
Das ganze habe ich geforked und ein wenig erweitert. Unter anderem um einen kleinen HTTP-Server, der einfache Befehle entgegennimmt und dann über die Stromer-API ausführt.
Die ganze "Kette" sieht dann so aus:
1. Auf dem Handy ist "HTTP Request Shortcuts" installiert. Damit kann man HTTP-Anfragen auf Knopfdruck abschicken.
2. Damit rufe ich den Endpunkt auf dem HTTP-Server auf, z.B. "http://1.2.3.4/unlock" zum Entsperren.
3. Über die API wird mein Stromer dann über die mobile Internetverbindung vom Rad entsperrt.
Um das ganze sicher zu machen läuft es natürlich über HTTPS, einen NGINX mit Basic Auth, alles via DynDNS bei mir zu Hause auf dem RaspberryPi.
Viel schneller wird es dadurch leider nicht, weil die API einfach lahm ist, aber komfortabler. So kann ich mit einem Klick bei mir auf dem Handy das Rad entsperren. Es wird sicherlich auch für iOS eine App geben, mit der man einfach HTTP-GET-Requests abschicken oder mit einem Kurzbefehl verknüpfen kann.
Und NEIN, eine Sicherheitslücke ist das nicht, weil es ja über die Stromer-Server geht, wie die App auch. Man muss sich genauso mit seinen Login-Daten anmelden. Was man für die API braucht ist ein "Geheimnis", also die "client_id" und das "client_secret". Diese lassen sich aber relativ leicht herausfinden und sind nicht wirklich geheim, weil sie im Klartext in der App stehen, oder man sie mitsniffern kann.
Und hier das Ganze nochmal in Aktion: https://zivilisation.no-ip.org:31089/upl...er_api.mp4
Nachtrag: Keine Gewähr auf nix, ich weiß nicht ob und wie lange Stromer die Nutzung der API außerhalb der App dulded.
ich kann das Verlangen von olsa sehr gut verstehen, weil ich vor einem ähnlichen Problem stand: Die Stromer-App ist a) nur so semi gut und b) steht sie nicht für mein Handy/Betriebssystem zur Verfügung. Nach ein wenig Suchen habe ich auf Github folgendes Projekt gefunden: https://github.com/TimBroddin/stromer-api
Damit kann man über NodeJS die Stromer-API, die auch von der App benutzt wird, ansprechen. Das funktioniert auch soweit, man kann sein Stromer ent-/sperren, die Lampe leuchten lassen und Infos abrufen.
Das ganze habe ich geforked und ein wenig erweitert. Unter anderem um einen kleinen HTTP-Server, der einfache Befehle entgegennimmt und dann über die Stromer-API ausführt.
Die ganze "Kette" sieht dann so aus:
1. Auf dem Handy ist "HTTP Request Shortcuts" installiert. Damit kann man HTTP-Anfragen auf Knopfdruck abschicken.
2. Damit rufe ich den Endpunkt auf dem HTTP-Server auf, z.B. "http://1.2.3.4/unlock" zum Entsperren.
3. Über die API wird mein Stromer dann über die mobile Internetverbindung vom Rad entsperrt.
Um das ganze sicher zu machen läuft es natürlich über HTTPS, einen NGINX mit Basic Auth, alles via DynDNS bei mir zu Hause auf dem RaspberryPi.
Viel schneller wird es dadurch leider nicht, weil die API einfach lahm ist, aber komfortabler. So kann ich mit einem Klick bei mir auf dem Handy das Rad entsperren. Es wird sicherlich auch für iOS eine App geben, mit der man einfach HTTP-GET-Requests abschicken oder mit einem Kurzbefehl verknüpfen kann.
Und NEIN, eine Sicherheitslücke ist das nicht, weil es ja über die Stromer-Server geht, wie die App auch. Man muss sich genauso mit seinen Login-Daten anmelden. Was man für die API braucht ist ein "Geheimnis", also die "client_id" und das "client_secret". Diese lassen sich aber relativ leicht herausfinden und sind nicht wirklich geheim, weil sie im Klartext in der App stehen, oder man sie mitsniffern kann.
Und hier das Ganze nochmal in Aktion: https://zivilisation.no-ip.org:31089/upl...er_api.mp4
Nachtrag: Keine Gewähr auf nix, ich weiß nicht ob und wie lange Stromer die Nutzung der API außerhalb der App dulded.