dashboard - bugfix: VBB API Endpoint Authorization #40
@@ -327,7 +327,6 @@ HA_BASE_URL=
|
|||||||
HA_TOKEN=
|
HA_TOKEN=
|
||||||
OPENWEATHER_API_KEY=
|
OPENWEATHER_API_KEY=
|
||||||
VBB_ACCESS_ID=
|
VBB_ACCESS_ID=
|
||||||
VBB_API_BASE_URL=https://vbb.demo.hafas.cloud/api/fahrinfo/latest
|
|
||||||
|
|
||||||
# Contentpanel / Aushang-Formatüberführung
|
# Contentpanel / Aushang-Formatüberführung
|
||||||
OLLAMA_GATEWAY_URL=https://ollama.pelpino.de
|
OLLAMA_GATEWAY_URL=https://ollama.pelpino.de
|
||||||
|
|||||||
@@ -28,7 +28,6 @@ services:
|
|||||||
HA_TOKEN: "${HA_TOKEN:-}"
|
HA_TOKEN: "${HA_TOKEN:-}"
|
||||||
OPENWEATHER_API_KEY: "${OPENWEATHER_API_KEY:-}"
|
OPENWEATHER_API_KEY: "${OPENWEATHER_API_KEY:-}"
|
||||||
VBB_ACCESS_ID: "${VBB_ACCESS_ID:-}"
|
VBB_ACCESS_ID: "${VBB_ACCESS_ID:-}"
|
||||||
VBB_API_BASE_URL: "${VBB_API_BASE_URL:-https://vbb.demo.hafas.cloud/api/fahrinfo/latest}"
|
|
||||||
OLLAMA_GATEWAY_URL: "${OLLAMA_GATEWAY_URL:-https://ollama.pelpino.de}"
|
OLLAMA_GATEWAY_URL: "${OLLAMA_GATEWAY_URL:-https://ollama.pelpino.de}"
|
||||||
OLLAMA_API_KEY: "${OLLAMA_API_KEY:-}"
|
OLLAMA_API_KEY: "${OLLAMA_API_KEY:-}"
|
||||||
OLLAMA_AUTH_HEADER: "${OLLAMA_AUTH_HEADER:-Authorization}"
|
OLLAMA_AUTH_HEADER: "${OLLAMA_AUTH_HEADER:-Authorization}"
|
||||||
|
|||||||
@@ -24,7 +24,6 @@ services:
|
|||||||
HA_TOKEN: ${HA_TOKEN:?set HA_TOKEN}
|
HA_TOKEN: ${HA_TOKEN:?set HA_TOKEN}
|
||||||
OPENWEATHER_API_KEY: ${OPENWEATHER_API_KEY:?set OPENWEATHER_API_KEY}
|
OPENWEATHER_API_KEY: ${OPENWEATHER_API_KEY:?set OPENWEATHER_API_KEY}
|
||||||
VBB_ACCESS_ID: ${VBB_ACCESS_ID:?set VBB_ACCESS_ID}
|
VBB_ACCESS_ID: ${VBB_ACCESS_ID:?set VBB_ACCESS_ID}
|
||||||
VBB_API_BASE_URL: ${VBB_API_BASE_URL:?set VBB_API_BASE_URL}
|
|
||||||
OLLAMA_GATEWAY_URL: ${OLLAMA_GATEWAY_URL:-https://ollama.pelpino.de}
|
OLLAMA_GATEWAY_URL: ${OLLAMA_GATEWAY_URL:-https://ollama.pelpino.de}
|
||||||
OLLAMA_API_KEY: ${OLLAMA_API_KEY:-}
|
OLLAMA_API_KEY: ${OLLAMA_API_KEY:-}
|
||||||
OLLAMA_AUTH_HEADER: ${OLLAMA_AUTH_HEADER:-Authorization}
|
OLLAMA_AUTH_HEADER: ${OLLAMA_AUTH_HEADER:-Authorization}
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
const DASHBOARD_VBB_STOP_ID = '900086103';
|
const DASHBOARD_VBB_STOP_ID = '900086103';
|
||||||
const DASHBOARD_VBB_BUS_PRODUCTS = 8;
|
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
|
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)) {
|
if (microtime(true) >= ($cache['retryAt'] ?? 0)) {
|
||||||
try {
|
try {
|
||||||
$query = http_build_query([
|
$query = http_build_query([
|
||||||
|
'accessId' => intranet_env('VBB_ACCESS_ID'),
|
||||||
'id' => DASHBOARD_VBB_STOP_ID,
|
'id' => DASHBOARD_VBB_STOP_ID,
|
||||||
'duration' => 120,
|
'duration' => 120,
|
||||||
'maxJourneys' => 30,
|
'maxJourneys' => 30,
|
||||||
'products' => DASHBOARD_VBB_BUS_PRODUCTS,
|
'products' => DASHBOARD_VBB_BUS_PRODUCTS,
|
||||||
|
'rtMode' => 'SERVER_DEFAULT',
|
||||||
'type' => 'DEP',
|
'type' => 'DEP',
|
||||||
'format' => 'json',
|
'format' => 'json',
|
||||||
'lang' => 'de',
|
'lang' => 'de',
|
||||||
], '', '&', PHP_QUERY_RFC3986);
|
], '', '&', PHP_QUERY_RFC3986);
|
||||||
$baseUrl = rtrim(intranet_env('VBB_API_BASE_URL'), '/');
|
$data = dashboard_http_json(DASHBOARD_VBB_API_URL . '?' . $query);
|
||||||
$data = dashboard_http_json($baseUrl . '/departureBoard?' . $query, [
|
|
||||||
'Authorization: Bearer ' . intranet_env('VBB_ACCESS_ID'),
|
|
||||||
]);
|
|
||||||
if (!isset($data['Departure']) || !is_array($data['Departure'])) {
|
if (!isset($data['Departure']) || !is_array($data['Departure'])) {
|
||||||
throw new RuntimeException('Unerwartete VBB-Antwort.');
|
throw new RuntimeException('Unerwartete VBB-Antwort.');
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user