Zugzielanzeiger
Bilder echter und eigener Zugzielanzeiger. Gezeichnet mit derselben Software wie die Anzeigen von bahnhoftafel.de: S-Bahn Berlin, DB-Anzeiger am Gleis und DB-Listenanzeiger.
Objekte
Objekt Eigener Zug
| Feld | Typ | Beschreibung |
|---|---|---|
line | string | Linie, eine von S1, S15, S2, S25, S26, S3, S41, S42, S45, S46, S47, S5, S7, S75, S8, S85, S9, U1, U2, U3, U4, U5, U6, U7, U8, U9 |
destination | string | Ziel, höchstens 40 Zeichen |
minutes? | integer | Abfahrt in Minuten (0–120, Standard 2) |
via? | string[] | Halte unterwegs, höchstens 4 |
cancelled? | boolean | Zug fällt aus |
{
"line": "S3",
"destination": "Erkner",
"minutes": 2,
"via": [
"Köpenick",
"Friedrichshagen"
]
}Live-Anzeiger
/v1/stations/{station_id}/board.pngEimer bildDer Zugzielanzeiger eines Gleises, so wie er gerade aussieht. An S-Bahn-Gleisen in Berlin im Stil der S-Bahn, sonst als DB-Anzeiger. Mit list statt Gleis der Abfahrts- bzw. Ankunftsanzeiger der DB.
Eigener Eimer bild: 10 Bilder pro Minute. Dasselbe Gleis innerhalb von 15 Sekunden kommt aus dem Zwischenspeicher.
Pfad-Parameter
| Feld | Typ | Beschreibung |
|---|---|---|
station_idPflicht | string | EVA-Nummer |
Query-Parameter
| Feld | Typ | Beschreibung |
|---|---|---|
platform | string | Gleis (ohne: das erste Gleis des Bahnhofs) |
view | string | Darstellung am S-Bahn-Anzeigerlarge nächster Zug groß, list Liste der nächsten Züge |
list | string | Listenanzeiger der DB statt Gleisanzeigerdepartures Abfahrtsanzeiger, arrivals Ankunftsanzeiger |
Antwort
PNG, 1640 × 640 Pixel. Header X-Board-Layout: zza (S-Bahn), db (DB-Anzeiger)
Beispiel
curl "https://developer.bahnhoftafel.de/v1/stations/8011160/board.png" \
-H "Authorization: Bearer $BT_SCHLUESSEL" --output tafel.pngconst antwort = await fetch("https://developer.bahnhoftafel.de/v1/stations/8011160/board.png", {
method: "GET",
headers: { Authorization: `Bearer ${process.env.BT_SCHLUESSEL}`, },
});
const png = Buffer.from(await antwort.arrayBuffer());import os, requests
antwort = requests.get(
"https://developer.bahnhoftafel.de/v1/stations/8011160/board.png",
headers={"Authorization": f"Bearer {os.environ['BT_SCHLUESSEL']}"},
timeout=30,
)
open("${datei}", "wb").write(antwort.content)Eigener Anzeiger
/v1/boards/custom.pngEimer bildEin S-Bahn-Anzeiger mit deinen eigenen Zügen, Zielen, Halten und Laufband.
JSON-Körper
| Feld | Typ | Beschreibung |
|---|---|---|
trainsPflicht | object[] | Züge, der erste steht obenFelder: line, destination, minutes?, via?, cancelled? |
platform | string | Gleis |
ticker | string | Text im Laufband |
view | string | Darstellunglarge nächster Zug groß, list Liste |
Antwort
PNG, 1640 × 640 Pixel
Beispiel
curl -X POST "https://developer.bahnhoftafel.de/v1/boards/custom.png" \
-H "Authorization: Bearer $BT_SCHLUESSEL" \
-H "Content-Type: application/json" \
-d '{"trains":[{"line":"S3","destination":"Erkner","minutes":2,"via":["Köpenick"]},{"line":"S5","destination":"Strausberg Nord","minutes":7}],"platform":"3","ticker":"Grüße aus der API"}' --output tafel.pngconst antwort = await fetch("https://developer.bahnhoftafel.de/v1/boards/custom.png", {
method: "POST",
headers: { Authorization: `Bearer ${process.env.BT_SCHLUESSEL}`, "Content-Type": "application/json" },
body: JSON.stringify({"trains":[{"line":"S3","destination":"Erkner","minutes":2,"via":["Köpenick"]},{"line":"S5","destination":"Strausberg Nord","minutes":7}],"platform":"3","ticker":"Grüße aus der API"}),
});
const png = Buffer.from(await antwort.arrayBuffer());import os, requests
antwort = requests.post(
"https://developer.bahnhoftafel.de/v1/boards/custom.png",
headers={"Authorization": f"Bearer {os.environ['BT_SCHLUESSEL']}"},
json={"trains":[{"line":"S3","destination":"Erkner","minutes":2,"via":["Köpenick"]},{"line":"S5","destination":"Strausberg Nord","minutes":7}],"platform":"3","ticker":"Grüße aus der API"},
timeout=30,
)
open("${datei}", "wb").write(antwort.content)Textanzeiger
/v1/boards/text.pngEimer bildEin Anzeiger, der nur deinen Text zeigt, wie bei einer Durchsage oder „Zugverkehr unterbrochen“.
JSON-Körper
| Feld | Typ | Beschreibung |
|---|---|---|
textPflicht | string | Text |
size | string | Schriftgrößesmall klein, normal normal, large großStandard: normal |
Antwort
PNG, 1640 × 640 Pixel
Beispiel
curl -X POST "https://developer.bahnhoftafel.de/v1/boards/text.png" \
-H "Authorization: Bearer $BT_SCHLUESSEL" \
-H "Content-Type: application/json" \
-d '{"text":"Heute kein Zugverkehr","size":"large"}' --output tafel.pngconst antwort = await fetch("https://developer.bahnhoftafel.de/v1/boards/text.png", {
method: "POST",
headers: { Authorization: `Bearer ${process.env.BT_SCHLUESSEL}`, "Content-Type": "application/json" },
body: JSON.stringify({"text":"Heute kein Zugverkehr","size":"large"}),
});
const png = Buffer.from(await antwort.arrayBuffer());import os, requests
antwort = requests.post(
"https://developer.bahnhoftafel.de/v1/boards/text.png",
headers={"Authorization": f"Bearer {os.environ['BT_SCHLUESSEL']}"},
json={"text":"Heute kein Zugverkehr","size":"large"},
timeout=30,
)
open("${datei}", "wb").write(antwort.content)