dashboard - Abfahrtinfo VBB API fix

This commit is contained in:
2026-09-20 06:45:43 +02:00
parent ce90820094
commit 72d6df0102
4 changed files with 4 additions and 7 deletions
@@ -4,6 +4,7 @@ declare(strict_types=1);
const DASHBOARD_VBB_STOP_ID = '900086103';
const DASHBOARD_VBB_BUS_PRODUCTS = 8;
const DASHBOARD_VBB_API_URL = 'https://fahrinfo.vbb.de/restproxy/latest/departureBoard';
function dashboard_vbb_datetime(array $departure, bool $realtime = false): ?DateTimeImmutable
{
@@ -67,18 +68,17 @@ function dashboard_fetch_departures(): array
if (microtime(true) >= ($cache['retryAt'] ?? 0)) {
try {
$query = http_build_query([
'accessId' => intranet_env('VBB_ACCESS_ID'),
'id' => DASHBOARD_VBB_STOP_ID,
'duration' => 120,
'maxJourneys' => 30,
'products' => DASHBOARD_VBB_BUS_PRODUCTS,
'rtMode' => 'SERVER_DEFAULT',
'type' => 'DEP',
'format' => 'json',
'lang' => 'de',
], '', '&', PHP_QUERY_RFC3986);
$baseUrl = rtrim(intranet_env('VBB_API_BASE_URL'), '/');
$data = dashboard_http_json($baseUrl . '/departureBoard?' . $query, [
'Authorization: Bearer ' . intranet_env('VBB_ACCESS_ID'),
]);
$data = dashboard_http_json(DASHBOARD_VBB_API_URL . '?' . $query);
if (!isset($data['Departure']) || !is_array($data['Departure'])) {
throw new RuntimeException('Unerwartete VBB-Antwort.');
}