dashboard_list_posters(dashboard_now()), 'month_images' => dashboard_month_images(), ]; break; case 'indoor': $payload = ['indoor' => dashboard_fetch_indoor_temperature()]; break; case 'outdoor': $payload = ['outdoor' => dashboard_fetch_outdoor_weather()]; break; case 'departures_eich': require_once __DIR__ . '/util/bvg.php'; $payload = dashboard_fetch_departures(); break; default: http_response_code(400); $payload = ['error' => 'Unbekannte Dashboard-Ressource.']; } echo json_encode($payload, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES | JSON_THROW_ON_ERROR); } catch (Throwable $exception) { http_response_code(502); error_log('Dashboard data endpoint (' . $resource . '): ' . $exception->getMessage()); echo json_encode(['error' => 'Dashboard-Daten konnten nicht geladen werden.'], JSON_UNESCAPED_UNICODE); }