Was ist mit der KVV Live API passiert?

Ich bin noch über dieses Dokument gestolpert, aber bezüglich Eindampfen der Antwortdaten scheint da auch nicht viel drinzustehen.
Zumindest die Abfahrten kann man aber über den Parameter line filtern. Den anzugebenden Liniencode findet man bei den servingLines unter dem Paramter stateless, also z.B. kvv:21002:E:H:j22.

Wenn man mehrere Linien haben möchte, muss man die getrennt angeben, d.h. mehrmals &line= an die Anfrage hängen, und wenn man nicht den kompletten Liniencode braucht, kann man die Teile einfach rauslöschen und die Doppelpunkte stehenlassen. Um sich nicht auf das Fahrplanjahr 2022 einzuschränken also kvv:21002:E:H:, wenn einem der mysteriöse Linien-"Supplement" auch egal ist kvv:21002::H:, für beide Fahrtrichtungen kvv:21002:::, usw. usw.
 
Hi. Danke! Das Dokument habe ich auch gefunden.

Das mit den Linien steht da auch drin. Aber mit geht es um Tracks, also letztlich Fahrtrichungen. So eine Selbstbauanzeige nutzt man ja in der Regel nur für eine Richtung, um z.B. die nächste Bahn in Richtung Stadtmitte anzuzeigen.

Wenn ich das erst später ausfiltere riskiere ich, wenn ich ein "limit" nutze, dass nicht genug Einträge für meine bevorzugte Richtung dabei sind. Wenn ich ein großes Limit nutze schieße ich mir wieder meinen kleinen Microcontroller ab. Oder ich versuche, den einkommenden Datenstrom live zu filtern und zu decodieren. Da ist mir aber nicht ganz klar, in wieweit diese simplen Arduino-Bibliotheken das hinbekommen.
 
Man kann ja über die Linien nach Hin- und Rückrichtung filtern. Einzige Einschränkung bei der Vorgehensweise ist, dass man dann ggf. (wenn die gewünschte Fahrtrichtung bei manchen Linien die Hin- und bei anderen die Rückrichtung darstellt) alle Linien explizit angeben muss, und bei Änderungen an den Linien-IDs daher ggf. die Linienliste immer entsprechend nachführen muss.
 
Der Arduino HTTP-Client-Code und der ArduinoJSON-Parser können auf "Stream"-Betrieb umgestellt werden und so kann man mit dem kleinen Mikrocontroller Daten direkt beim Empfang filtern und somit Daten verarbeiten, die größer sind als der Speicher des Gerätes selbst. Fazit: Geht wieder! Der aktuelle Code findet sich unter https://github.com/harbaum/kvv

IMG_20220511_155856~2.jpg
 
Oben