Wetter-Widget wird nicht angezeigt
Troubleshooting wenn das Wetter-Widget fehlt oder Fehler anzeigt
Wetter-Widget wird nicht angezeigt
Wenn das Wetter-Widget auf Ihrem Display fehlt oder einen Fehler zeigt, folgen Sie dieser Anleitung.
Symptome
Schnell-Checks (2 Minuten)
Check 1: Subscription-Plan prüfen
Wetter ist NUR verfügbar in:
Prüfen Sie Ihren Plan:
[CODE_BLOCK]
Portal → Billing → Current Plan
[CODE_BLOCK]
Falls Basic Plan:
→ Upgrade zu Pro oder Premium nötig
→ Siehe Artikel "Plan upgraden"
Check 2: Wetter-Einstellung aktiviert
Portal-Einstellungen prüfen:
[CODE_BLOCK]
Portal → Settings → Display Options
→ "Show Weather Widget" = AKTIVIERT (✓)
[CODE_BLOCK]
Falls deaktiviert:
Check 3: Demo-Modus testen
Testen Sie mit Vienna:
[CODE_BLOCK]
https://lobbyflight.com/display/demo
[CODE_BLOCK]
Falls Demo Wetter zeigt:
Falls Demo KEIN Wetter zeigt:
Ursache 1: Kein OpenWeatherMap API Key
Technische Details
Code-Location: /lib/weather.ts (Zeilen 50-60)
Wetter-Daten werden von OpenWeatherMap geladen:
[CODE_BLOCK]typescript
const API_KEY = process.env.OPENWEATHERMAP_API_KEY
if (!API_KEY) {
console.warn('No OpenWeatherMap API key, using mock data')
return generateMockWeather(airportCode) // Fake-Daten!
}
const response = await fetch(
https://api.openweathermap.org/data/2.5/weather?lat=${lat}&lon=${lon}&appid=${API_KEY}
)
[CODE_BLOCK]
Ohne API-Key:
Symptome
- Immer 20°C
- Immer "Clear sky"
- Niemals Regen/Schnee
"No API key configured, using mock data"{ mock: true, ... }Lösung (für Administratoren)
Schritt 1: OpenWeatherMap Account erstellen
Free Plan:
Schritt 2: API Key konfigurieren
In .env.local Datei:
[CODE_BLOCK]bash
OPENWEATHERMAP_API_KEY=ihr_api_key_hier_einfügen
[CODE_BLOCK]
Beispiel:
[CODE_BLOCK]
OPENWEATHERMAP_API_KEY=a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6
[CODE_BLOCK]
Für Vercel Deployment:
[CODE_BLOCK]
Vercel Dashboard → Project Settings → Environment Variables
→ Add New Variable:
Key: OPENWEATHERMAP_API_KEY
Value: ihr_api_key
→ Save → Redeploy
[CODE_BLOCK]
Schritt 3: Server neu starten
[CODE_BLOCK]bash
Lokal:
npm run dev
Vercel:
vercel --prod --force
[CODE_BLOCK]
Schritt 4: Verifizierung
Test-Request:
[CODE_BLOCK]bash
curl "https://api.openweathermap.org/data/2.5/weather?lat=48.11&lon=16.57&appid=IHR_KEY&units=metric"
[CODE_BLOCK]
Erwartetes Ergebnis:
[CODE_BLOCK]json
{
"main": { "temp": 5.2, "feels_like": 3.1, ... },
"weather": [{ "main": "Clouds", "description": "scattered clouds" }],
...
}
[CODE_BLOCK]
Ursache 2: Airport nicht in Koordinaten-Liste
Technische Details
Code-Location: /lib/weather.ts (Zeilen 6-21)
Wetter benötigt GPS-Koordinaten für jeden Airport:
[CODE_BLOCK]typescript
const AIRPORT_COORDS: Record
VIE: { lat: 48.1103, lon: 16.5697 }, // Vienna
MUC: { lat: 48.3538, lon: 11.7861 }, // Munich
FRA: { lat: 50.0379, lon: 8.5622 }, // Frankfurt
ZRH: { lat: 47.4647, lon: 8.5492 }, // Zurich
BER: { lat: 52.3667, lon: 13.5033 }, // Berlin
// ... weitere
}
export async function getWeather(airportCode: string) {
const coords = AIRPORT_COORDS[airportCode]
if (!coords) {
console.warn(No coordinates found for airport: ${airportCode})
return null // Kein Wetter!
}
// Lade Wetter für Koordinaten...
}
[CODE_BLOCK]
Wenn Airport fehlt:
coords = undefinednull zurückSymptome
"No coordinates found for airport: XXX"{ error: "Weather data not available" }Lösung
Schritt 1: Unterstützte Airports prüfen
Aktuell unterstützte Airports (Stand 2024):
Schritt 2: Koordinaten manuell hinzufügen (für Admins)
Falls Ihr Airport fehlt, fügen Sie ihn hinzu:
- Google Maps → Flughafen suchen → GPS-Koordinaten notieren
- Oder: https://www.latlong.net/
/lib/weather.ts[CODE_BLOCK]typescript
const AIRPORT_COORDS = {
// ... bestehende
YOUR: { lat: 48.1234, lon: 16.5678 }, // Ihr Airport
}
[CODE_BLOCK]
Schritt 3: Alternative Airport verwenden
Temporär, verwenden Sie nahegelegenen unterstützten Airport:
Hinweis: Wetter kann 20-50km unterschiedlich sein!
Ursache 3: Falsche Einheiten (°F statt °C)
Technische Details
Code-Location: /app/api/weather/[airportCode]/route.ts (Zeilen 18-20)
Wetter kann in metric oder imperial abgerufen werden:
[CODE_BLOCK]typescript
export async function GET(request: NextRequest, { params }) {
const { searchParams } = new URL(request.url)
const units = searchParams.get('units') as 'metric' | 'imperial' || 'metric'
const weather = await getWeather(params.airportCode, units)
}
[CODE_BLOCK]
Units:
Symptome
Lösung
Schritt 1: Aktuelle Einstellung prüfen
API direkt testen:
[CODE_BLOCK]bash
curl "https://lobbyflight.com/api/weather/VIE?units=metric"
[CODE_BLOCK]
Erwartetes Ergebnis:
[CODE_BLOCK]json
{
"temp": 5, // °C
"windSpeed": 15, // km/h
"humidity": 80 // %
}
[CODE_BLOCK]
Schritt 2: Units in Settings setzen
Portal:
[CODE_BLOCK]
Settings → Display Options → Weather Units
→ Wählen: "Metric (°C, km/h)"
→ Save Settings
[CODE_BLOCK]
Schritt 3: Cache leeren
Wetter wird 30 Minuten gecached:
Ursache 4: API Rate Limit erreicht
Technische Details
OpenWeatherMap Free Plan:
Überschreitung:
Symptome
"OpenWeatherMap API error: 429"{ cod: 429, message: "API call limit exceeded" }Lösung
Schritt 1: API-Nutzung prüfen
OpenWeatherMap Dashboard:
[CODE_BLOCK]
Dashboard → Statistics → Calls Today
[CODE_BLOCK]
Berechnung für 1 Hotel:
[CODE_BLOCK]
1 Call alle 30 Minuten (Cache) × 48 = 48 Calls/Tag
→ Free Plan ausreichend für ~20 Hotels
[CODE_BLOCK]
Falls überschritten:
Schritt 2: Cache-Zeit erhöhen
/lib/weather.ts editieren:
[CODE_BLOCK]typescript
// Vorher:
fetch(url, { next: { revalidate: 1800 } }) // 30 Minuten
// Nachher:
fetch(url, { next: { revalidate: 3600 } }) // 60 Minuten
[CODE_BLOCK]
Trade-off: Weniger aktuelle Wetter-Daten
Ursache 5: Mock-Daten statt echte Daten
Technische Details
Code-Location: /lib/weather.ts (Zeilen 135-189)
Falls API fehlschlägt, werden Mock-Daten generiert:
[CODE_BLOCK]typescript
function generateMockWeather(airportCode: string): WeatherData {
return {
temp: 20,
feelsLike: 19,
description: 'Clear sky',
icon: '01d',
humidity: 65,
windSpeed: 12,
forecast: [
{ date: tomorrow, tempMax: 22, tempMin: 18, ... },
...
]
}
}
[CODE_BLOCK]
Mock-Wetter ist:
Symptome
Lösung
Prüfen Sie:
Test-Request:
[CODE_BLOCK]bash
curl "https://lobbyflight.com/api/weather/VIE?units=metric"
[CODE_BLOCK]
Echte Daten haben:
"mock": false ODER kein "mock" FeldMock-Daten haben:
"mock": trueUrsache 6: Wetter für falschen Standort
Technische Details
Wetter basiert auf GPS-Koordinaten aus AIRPORT_COORDS:
[CODE_BLOCK]typescript
VIE: { lat: 48.1103, lon: 16.5697 } // Vienna
MUC: { lat: 48.3538, lon: 11.7861 } // Munich - 300km Unterschied!
[CODE_BLOCK]
Falls falsche Koordinaten:
Symptome
Lösung
Schritt 1: Koordinaten verifizieren
Schritt 2: Mit Code vergleichen
[CODE_BLOCK]typescript
// In /lib/weather.ts:
console.log(AIRPORT_COORDS['VIE'])
// Sollte ausgeben: { lat: 48.1103, lon: 16.5697 }
[CODE_BLOCK]
Falls Abweichung:
AIRPORT_COORDSSchritt 3: API-Response prüfen
[CODE_BLOCK]bash
curl "https://api.openweathermap.org/data/2.5/weather?lat=48.11&lon=16.57&appid=KEY"
[CODE_BLOCK]
Response enthält:
[CODE_BLOCK]json
{
"coord": { "lat": 48.11, "lon": 16.57 },
"name": "Vienna", // ← Sollte korrekt sein!
...
}
[CODE_BLOCK]
Workaround: Wetter deaktivieren
Falls Wetter nicht kritisch:
[CODE_BLOCK]
Portal → Settings → Display Options
→ "Show Weather Widget" = DEAKTIVIERT (☐)
→ Save Settings
[CODE_BLOCK]
Display zeigt dann:
Prävention
Best Practices
1. API-Key sicher verwenden:
2. Monitoring einrichten:
3. Fallback-Plan:
4. Koordinaten dokumentieren: