Wetter-Widget wird nicht angezeigt

Troubleshooting wenn das Wetter-Widget fehlt oder Fehler anzeigt

9 min readLast updated: 1/15/20240

Wetter-Widget wird nicht angezeigt

Wenn das Wetter-Widget auf Ihrem Display fehlt oder einen Fehler zeigt, folgen Sie dieser Anleitung.

Symptome

  • ☁️ Kein Wetter-Widget sichtbar (nur Flüge)
  • ❌ "Weather data not available" in API-Response
  • 🌡️ Mock/Fake-Wetter statt echten Daten
  • 🔄 Widget lädt unendlich ohne Daten
  • 🌍 Falscher Standort (z.B. München statt Wien)
  • Schnell-Checks (2 Minuten)

    Check 1: Subscription-Plan prüfen

    Wetter ist NUR verfügbar in:

  • Pro Plan (€89/Monat)
  • Premium Plan (€129/Monat)
  • Basic Plan (€69/Monat) - KEIN Wetter
  • 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:

  • Checkbox aktivieren
  • Save Settings
  • Display neu laden (F5)
  • Check 3: Demo-Modus testen

    Testen Sie mit Vienna:

    [CODE_BLOCK]

    https://lobbyflight.com/display/demo

    [CODE_BLOCK]

    Falls Demo Wetter zeigt:

  • ✅ OpenWeatherMap API funktioniert
  • ✅ System ist OK
  • ❌ Problem ist Ihr Airport oder Config
  • Falls Demo KEIN Wetter zeigt:

  • ❌ Systemweites Problem
  • API könnte down sein
  • 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:

  • → Mock-Wetter wird generiert
  • → Immer gleiche "schöne" Daten (20°C, sonnig)
  • → Nicht realistisch!
  • Symptome

  • Wetter zeigt unrealistische Daten:
  • - Immer 20°C

    - Immer "Clear sky"

    - Niemals Regen/Schnee

  • Console-Log: "No API key configured, using mock data"
  • API-Response: { mock: true, ... }
  • Lösung (für Administratoren)

    Schritt 1: OpenWeatherMap Account erstellen

  • Gehen Sie zu: https://openweathermap.org/api
  • Klicken Sie Sign Up (kostenlos)
  • Bestätigen Sie Email
  • Dashboard → API Keys → Kopieren Sie den Key
  • Free Plan:

  • 1,000 Calls/Tag
  • Ausreichend für mehrere Hotels
  • Keine Kreditkarte nötig
  • 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 = undefined
  • → Funktion gibt null zurück
  • → Kein Wetter-Widget
  • Symptome

  • Console-Warnung: "No coordinates found for airport: XXX"
  • API-Response: { error: "Weather data not available" }
  • Widget zeigt gar nicht an
  • Lösung

    Schritt 1: Unterstützte Airports prüfen

    Aktuell unterstützte Airports (Stand 2024):

  • VIE - Vienna International
  • MUC - Munich
  • FRA - Frankfurt
  • ZRH - Zurich
  • BER - Berlin Brandenburg
  • HAM - Hamburg
  • DUS - Düsseldorf
  • GVA - Geneva
  • SZG - Salzburg
  • INN - Innsbruck
  • Schritt 2: Koordinaten manuell hinzufügen (für Admins)

    Falls Ihr Airport fehlt, fügen Sie ihn hinzu:

  • Koordinaten finden:
  • - Google Maps → Flughafen suchen → GPS-Koordinaten notieren

    - Oder: https://www.latlong.net/

  • Datei editieren: /lib/weather.ts
  • [CODE_BLOCK]typescript

    const AIRPORT_COORDS = {

    // ... bestehende

    YOUR: { lat: 48.1234, lon: 16.5678 }, // Ihr Airport

    }

    [CODE_BLOCK]

  • Code deployen
  • Schritt 3: Alternative Airport verwenden

    Temporär, verwenden Sie nahegelegenen unterstützten Airport:

  • Wien Umgebung → VIE
  • München Umgebung → MUC
  • Frankfurt Umgebung → FRA
  • 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:

  • metric: °C, km/h, mm (Europa)
  • imperial: °F, mph, in (USA)
  • Symptome

  • Temperatur in falschen Einheiten (72°F statt 22°C)
  • Wind-Speed: 15 mph statt 24 km/h
  • Verwirrende Werte für europäische Gäste
  • 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:

  • Warten Sie 30 Minuten
  • Oder: Server neu starten
  • Ursache 4: API Rate Limit erreicht

    Technische Details

    OpenWeatherMap Free Plan:

  • 1,000 Calls/Tag
  • 1 Call/Sekunde max
  • Überschreitung:

  • → HTTP 429 "Too Many Requests"
  • → Kein Wetter für 24 Stunden
  • Symptome

  • Console-Error: "OpenWeatherMap API error: 429"
  • API-Response: { cod: 429, message: "API call limit exceeded" }
  • Wetter funktioniert manchmal, dann nicht
  • 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:

  • → Upgrade zu Startup Plan ($40/Monat, 60 Calls/Minute)
  • → Oder: Cache-Zeit erhöhen (60 Minuten)
  • 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:

  • Immer schön (sonnig, 20°C)
  • Nicht lokalisiert
  • Für Demo-Zwecke
  • Symptome

  • Wetter passt nicht zur Realität
  • Immer gleiche Werte
  • Niemals Regen/Schnee/Nebel
  • Icon immer "01d" (Sonne)
  • Lösung

    Prüfen Sie:

  • API-Key ist gesetzt? (siehe Ursache 1)
  • Koordinaten existieren? (siehe Ursache 2)
  • Rate Limit nicht überschritten? (siehe Ursache 4)
  • Test-Request:

    [CODE_BLOCK]bash

    curl "https://lobbyflight.com/api/weather/VIE?units=metric"

    [CODE_BLOCK]

    Echte Daten haben:

  • "mock": false ODER kein "mock" Feld
  • Realistische Temperaturen (-5°C bis 35°C)
  • Verschiedene Wetter-Descriptions
  • Mock-Daten haben:

  • "mock": true
  • Immer 20°C
  • Immer "Clear sky"
  • Ursache 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:

  • → Wetter für falschen Ort
  • → Große Temperatur-Abweichung
  • Symptome

  • Wetter passt nicht zum aktuellen Wetter am Standort
  • Große Abweichung (>10°C)
  • Falscher Sonnenauf-/untergang
  • Lösung

    Schritt 1: Koordinaten verifizieren

  • Google Maps: Suchen Sie Ihren Airport
  • Rechtsklick auf Marker → "Was ist hier?"
  • Koordinaten notieren (z.B. 48.1103, 16.5697)
  • 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:

  • → Korrigieren Sie in AIRPORT_COORDS
  • → Deploy neuen Code
  • Schritt 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:

  • Nur Flüge (Hauptfunktion)
  • Kein Wetter-Widget
  • Mehr Platz für Flüge
  • Prävention

    Best Practices

    1. API-Key sicher verwenden:

  • Nie im Code committen
  • Nur in Environment Variables
  • Für jedes Environment (dev/prod)
  • 2. Monitoring einrichten:

  • OpenWeatherMap Usage täglich checken
  • Alert bei 80% Quota
  • 3. Fallback-Plan:

  • Mock-Daten OK für kurze Zeit
  • Aber nicht dauerhaft!
  • Upgrade zu Paid Plan wenn nötig
  • 4. Koordinaten dokumentieren:

  • Liste aller Airports mit GPS
  • Verifizierung vor Deploy
  • Verwandte Artikel

  • API-Setup: "OpenWeatherMap API konfigurieren"
  • Subscription: "Plan upgraden (Pro/Premium)"
  • Display-Setup: "Wetter-Widget aktivieren"
  • Troubleshooting: "Mock-Daten statt echte Daten"
  • Debug-Checkliste

  • [ ] Subscription Pro oder Premium?
  • [ ] Einstellung "Show Weather" aktiviert?
  • [ ] API-Key gesetzt und gültig?
  • [ ] Airport in AIRPORT_COORDS Liste?
  • [ ] Demo-Modus zeigt Wetter?
  • [ ] Rate Limit nicht überschritten (< 1,000/Tag)?
  • [ ] Koordinaten korrekt für Airport?
  • [ ] Einheiten metric (°C) nicht imperial?
  • [ ] Mock-Daten oder echte Daten?
  • [ ] Support kontaktiert mit API-Response?
  • Was this article helpful?