NEWS
Auslesen und Filtern der autobahn.api von bund.dev
-
@icebear sagte in Auslesen und Filtern der autobahn.api von bund.dev:
Super Vielen Dank für deine Arbeit, ich werde das testen und berichten.
Ja noch einen Filter, als Sicherheitsabfrage, wenn keine Ergebnisse vorhanden sind.

Sonst stürzt der NodeRed Adapter ab .
Also diesen Flow bitte verwenden:
-
@mickym said in Auslesen und Filtern der autobahn.api von bund.dev:
:title,
"Verzögerung": (delayTimeValue ? delayTimeValue : "0") & " Minuten"Funktioniert perfekt. Ich schreibe inzwischen auch einfach das JSON in den Datenpunkt und gebe es in Jarvis als einfache JSON Liste aus. Das reicht mir vollkommen.
An einer Kleinigkeit habe ich mir aber nun dann doch noch die Zähne ausgebissen und bin mit Google und KI nicht zum Ziel gekommen...
Ich gehe davon aus, dass der Wert "isBlocked" in der Rückgabe für eine Vollsperrung steht. Wie bekomme ich es hin, dass ich in der Ausgabe bei false den Wert gar nicht habe, bei true aber ein Wert "Vollsperrung" : "ja" kommt?
Ich hab es replacen können, aber eine Selektion mal "Vollsperrung" und mal nicht mit auszugeben hat mich dann leider überfordert.
-
@mickym said in Auslesen und Filtern der autobahn.api von bund.dev:
:title,
"Verzögerung": (delayTimeValue ? delayTimeValue : "0") & " Minuten"Funktioniert perfekt. Ich schreibe inzwischen auch einfach das JSON in den Datenpunkt und gebe es in Jarvis als einfache JSON Liste aus. Das reicht mir vollkommen.
An einer Kleinigkeit habe ich mir aber nun dann doch noch die Zähne ausgebissen und bin mit Google und KI nicht zum Ziel gekommen...
Ich gehe davon aus, dass der Wert "isBlocked" in der Rückgabe für eine Vollsperrung steht. Wie bekomme ich es hin, dass ich in der Ausgabe bei false den Wert gar nicht habe, bei true aber ein Wert "Vollsperrung" : "ja" kommt?
Ich hab es replacen können, aber eine Selektion mal "Vollsperrung" und mal nicht mit auszugeben hat mich dann leider überfordert.
@gutgut30 sagte in Auslesen und Filtern der autobahn.api von bund.dev:
ch gehe davon aus, dass der Wert "isBlocked" in der Rückgabe für eine Vollsperrung steht. Wie bekomme ich es hin, dass ich in der Ausgabe bei false den Wert gar nicht habe, bei true aber ein Wert "Vollsperrung" : "ja" kommt?
Ich hab es replacen können, aber eine Selektion mal "Vollsperrung" und mal nicht mit auszugeben hat mich dann leider überfordert.
$.warning[(coordinate.lat > 51.0 and coordinate.lat < 54.4) and (coordinate.long > 9.0 and coordinate.long < 10)].{ "ID": identifier, "Titel":title, "Vollsperrung": isBlocked="false" ? undefined : "ja"}[]https://try.jsonata.org/yQ2hFUzFf
Ach hatte ich schon erwähnt, dass JSONATA so genial ist und nur Eigenschaften anzeigt, die definiert sind?
-
@gutgut30 sagte in Auslesen und Filtern der autobahn.api von bund.dev:
ch gehe davon aus, dass der Wert "isBlocked" in der Rückgabe für eine Vollsperrung steht. Wie bekomme ich es hin, dass ich in der Ausgabe bei false den Wert gar nicht habe, bei true aber ein Wert "Vollsperrung" : "ja" kommt?
Ich hab es replacen können, aber eine Selektion mal "Vollsperrung" und mal nicht mit auszugeben hat mich dann leider überfordert.
$.warning[(coordinate.lat > 51.0 and coordinate.lat < 54.4) and (coordinate.long > 9.0 and coordinate.long < 10)].{ "ID": identifier, "Titel":title, "Vollsperrung": isBlocked="false" ? undefined : "ja"}[]https://try.jsonata.org/yQ2hFUzFf
Ach hatte ich schon erwähnt, dass JSONATA so genial ist und nur Eigenschaften anzeigt, die definiert sind?
Ich möchte euch herzlich danken - ich habe nun fast das, was ich haben wollte.
Ich lese 3 Autobahnen aus, filtere auf mein Teistück und kombiniere diese. Anschließend erscheinen die Meldungen auf meiner VIS. Mein Lese-Blockly sieht so aus:

Das Kombinieren der Meldungen so (und, ja, es geht sicher geschickter...):

Die JSONata, je nach Autobahn, so (füllen von Verzögerung, Splitten des Titels):
$.warning[(coordinate.lat > 1.1 and coordinate.lat < 99.999)].{"Autobahn":$substringBefore(title, " |"),"Teilstück":$substringAfter(title, " | "),"Verzögerung": (delayTimeValue ? delayTimeValue : "0") & " Minuten","Vollsperrung": isBlocked="false" ? undefined : "ja"}[]Und was ich damit am Ende bezwecken wollte:

Was ich jetzt noch versuchen werde:
-
das zusammenbauen der Kombination besser bauen
-
nur die Meldungen ausgeben die entweder Verzögerung von mehr als 2 Minuten haben ODER eine Vollsperrung ergeben. Das dürfte eigentlich schon mit JSONata Filtern machbar sein
-
Und, sicher die größte Herausforderung, nur die Meldungen anzeigen, die in die gewünschte Richtung gelten.
Derzeit bekomme ich ja auch Meldungen auf der Gegenfahrbahn, die brauche ich nicht. Das müsste ja eigentlich möglich sein, es zu filtern durch "gebe nur Meldungen die Koordinate von Nord nach Süd haben".
-
-
Ich möchte euch herzlich danken - ich habe nun fast das, was ich haben wollte.
Ich lese 3 Autobahnen aus, filtere auf mein Teistück und kombiniere diese. Anschließend erscheinen die Meldungen auf meiner VIS. Mein Lese-Blockly sieht so aus:

Das Kombinieren der Meldungen so (und, ja, es geht sicher geschickter...):

Die JSONata, je nach Autobahn, so (füllen von Verzögerung, Splitten des Titels):
$.warning[(coordinate.lat > 1.1 and coordinate.lat < 99.999)].{"Autobahn":$substringBefore(title, " |"),"Teilstück":$substringAfter(title, " | "),"Verzögerung": (delayTimeValue ? delayTimeValue : "0") & " Minuten","Vollsperrung": isBlocked="false" ? undefined : "ja"}[]Und was ich damit am Ende bezwecken wollte:

Was ich jetzt noch versuchen werde:
-
das zusammenbauen der Kombination besser bauen
-
nur die Meldungen ausgeben die entweder Verzögerung von mehr als 2 Minuten haben ODER eine Vollsperrung ergeben. Das dürfte eigentlich schon mit JSONata Filtern machbar sein
-
Und, sicher die größte Herausforderung, nur die Meldungen anzeigen, die in die gewünschte Richtung gelten.
Derzeit bekomme ich ja auch Meldungen auf der Gegenfahrbahn, die brauche ich nicht. Das müsste ja eigentlich möglich sein, es zu filtern durch "gebe nur Meldungen die Koordinate von Nord nach Süd haben".
-
-
Hallo,
ich habe auch mal ne Frage zu der api.Bei folgender url:
https://verkehr.autobahn.de/o/autobahn/A7/services/webcam
bekomme ich nur sowas:

Lt. api sollte doch aber eine Auflistung folgen:

Wie gesagt, ich hätte gerne das u.g. json.
Folgendes Script habe ich zum auslesen mal schnell geschrieben:
httpGet('https://verkehr.autobahn.de/o/autobahn/A7/services/webcam', { timeout: 1000 }, (error, response) => { if (!error) { console.log(response.statusCode); console.log(response.data); } else { console.error(error); } });Im log kommt dann:
script.js.Scripte.Sonstige.Autobahn: {"webcam":[]}Frage:
Muss die httpget anders aussehen?Die anderen url von der api funktionieren; nur halt nicht die webcam url.
-
Keiner eine Idee ?
-
Hallo,
ich habe auch mal ne Frage zu der api.Bei folgender url:
https://verkehr.autobahn.de/o/autobahn/A7/services/webcam
bekomme ich nur sowas:

Lt. api sollte doch aber eine Auflistung folgen:

Wie gesagt, ich hätte gerne das u.g. json.
Folgendes Script habe ich zum auslesen mal schnell geschrieben:
httpGet('https://verkehr.autobahn.de/o/autobahn/A7/services/webcam', { timeout: 1000 }, (error, response) => { if (!error) { console.log(response.statusCode); console.log(response.data); } else { console.error(error); } });Im log kommt dann:
script.js.Scripte.Sonstige.Autobahn: {"webcam":[]}Frage:
Muss die httpget anders aussehen?Die anderen url von der api funktionieren; nur halt nicht die webcam url.
@bahnuhr sagte in Auslesen und Filtern der autobahn.api von bund.dev:
bekomme ich nur sowas:

Die Webcams sind bereits seit einigen Jahren nicht mehr für die Öffentlichkeit verfügbar - Datenschutz.
Ich finde das auch blöde, früher hatte ich mir immer den Verkehr auf der Rheinbrücke vor der Fahrt angesehen, geht in Deutschland nicht mehr. -
@bahnuhr sagte in Auslesen und Filtern der autobahn.api von bund.dev:
bekomme ich nur sowas:

Die Webcams sind bereits seit einigen Jahren nicht mehr für die Öffentlichkeit verfügbar - Datenschutz.
Ich finde das auch blöde, früher hatte ich mir immer den Verkehr auf der Rheinbrücke vor der Fahrt angesehen, geht in Deutschland nicht mehr.@ralf-2
Danke für die Info.
Dann ist aber auch die api Beschreibung veraltet.