florianlederer / mvv-display-for-ESP32

Show the departures for your station. Only for MVV.
GNU General Public License v3.0
67 stars 16 forks source link

MVG API antwortet nur noch mit HTTP 404? #37

Open Antetime opened 1 year ago

Antetime commented 1 year ago

Mir ist aufgefallen, dass alle Aufrufe der MVP API mit einer HTTP 404 antworten. Mache ich was falsch oder wurde auf MVG-Seite was geändert?

Beispiele: https://www.mvg.de/api/fahrinfo/location/queryWeb?q= https://www.mvg.de/api//fahrinfo/location/queryWeb?q=Marienplatz

worldpotato commented 1 year ago

Ich hab mal die MVG angefragt:

Die alte Fahrinfo API wurde abgeschaltet.

Bitte nutzen Sie statt dessen „Mein Halt“:

https://www.mvg.de/meinhalt

bzw. als Beispiel:

https://www.mvg.de/meinhalt/hauptbahnhof

worldpotato commented 1 year ago

Kann jemensch einen PR machen?

phg2k commented 1 year ago

https://www.mvg.de/api/fib/v2/ is die neue. Zum Bespiel https://www.mvg.de/api/fib/v2/departure?globalId=de:09162:79&limit=20&offsetInMinutes=0&transportTypes=UBAHN,TRAM,BUS,SBAHN,SCHIFF

JSON nur an einer Stelle anders.

jbob commented 1 year ago

Ein PR kann ich zwar nicht machen, weil mein Fork uralt ist und mir die Motivation für ein Update fehlt, aber hier: https://github.com/jbob/mvv-display-for-ESP32/commit/8413f6351a1464f58a74436e767f0609317ec065 sind die Änderungen bei mir. Es sind 3 relativ kleine Änderungen:

Nisbo commented 9 months ago

https://www.mvg.de/api/fib/v2/ is die neue. Zum Bespiel https://www.mvg.de/api/fib/v2/departure?globalId=de:09162:79&limit=20&offsetInMinutes=0&transportTypes=UBAHN,TRAM,BUS,SBAHN,SCHIFF

JSON nur an einer Stelle anders.

Servus, wo bekommt man denn die Station-IDs her ? z.B. globalId=de:09162:79

EDIT: Gefunden https://github.com/florianlederer/mvv-display-for-ESP32/blob/master/API/mvg_ids.txt

TobX12 commented 7 months ago

Es sind 3 relativ kleine Änderungen:

Die neue API scheint leider etwas langsamer zu antworten, als die alte, weshalb es bei der Abfrage des öfteren zu folgender Fehlermeldung kommt: "Error: Couldn't send GET: -1" Das kann teils bis zu 3 Minuten dauern, bis das Gerät wieder die Zeit aktualisert. Dies kann sehr unpraktisch sein. Daher habe ich folgenden Fix implementiert, der bei mir geholfen hat (Ein 5s delay zwischen Zugriff und Abfrage, wobei die anderen Zeiten angepasst werden müssen, um weiterhin auf die 30s zu kommen):

void handle_mvg_api(Config config) { HTTPClient http; String url = "https://www.mvg.de/api/fib/v2/departure?globalId=" + String(config.bahnhof); http.begin(url); delay(5000); int httpResponseCode = http.GET();

. . . ++i; } img.pushSprite(0, 0); } http.end(); delay(25000); //Send a request every 25 seconds } else { Serial.print("Error: Couldn't send GET: "); Serial.println(httpResponseCode); http.end(); } }