Switch weather API from OpenWeatherMap to Open-Meteo
🎉 **100% KOSTENLOS - KEIN API KEY MEHR NÖTIG!** **Warum Open-Meteo?** - ✅ Komplett kostenlos ohne Limits - ✅ KEIN API Key erforderlich - ✅ Keine Kreditkarte, keine Anmeldung - ✅ Open Source & Non-Profit - ✅ Sehr präzise Daten für die Schweiz - ✅ Schnell & zuverlässig **Technische Änderungen:** **WeatherManager.php:** - API URL auf api.open-meteo.com gewechselt - WMO Weather Codes (0-99) implementiert - Deutsche Wetterbeschreibungen für alle Codes - Temperatur, Wind, Luftdruck, Feuchtigkeit, Niederschlag - Icon-Mapping von WMO Codes zu Emojis - Timezone: Europe/Zurich **index.php Admin-Panel:** - API Key Feld entfernt (nicht mehr nötig!) - Überschrift: "Open-Meteo - 100% kostenlos!" - Event Listener für API Key entfernt - Funktioniert sofort ohne Setup! **API Endpoint:** https://api.open-meteo.com/v1/forecast - Keine Authentication nötig - Parameter: lat, lon, current weather vars - Response: JSON mit aktuellen Wetterdaten **Unterstützte Wetter-Codes:** - 0: Klar - 1-3: Bewölkt (verschiedene Grade) - 45-48: Nebel - 51-65: Regen (Niesel bis stark) - 71-77: Schnee - 80-86: Schauer - 95-99: Gewitter & Hagel **Resultat:** Widget funktioniert SOFORT ohne jegliches Setup! Einfach aktivieren und fertig! 🌤️
This commit is contained in:
@@ -1271,7 +1271,7 @@ class AdminManager {
|
||||
|
||||
// Weather Settings
|
||||
$output .= '<div class="settings-group">';
|
||||
$output .= '<h4>🌤️ Wetter-Widget</h4>';
|
||||
$output .= '<h4>🌤️ Wetter-Widget <span style="font-size:12px; color:#4CAF50;">(Open-Meteo - 100% kostenlos!)</span></h4>';
|
||||
|
||||
$output .= '<div class="setting-row">';
|
||||
$output .= '<span class="setting-label">Wetter-Widget anzeigen</span>';
|
||||
@@ -1283,13 +1283,6 @@ class AdminManager {
|
||||
$output .= '</div>';
|
||||
$output .= '</div>';
|
||||
|
||||
$output .= '<div class="setting-row">';
|
||||
$output .= '<span class="setting-label">OpenWeatherMap API Key <a href="https://openweathermap.org/api" target="_blank" style="font-size:11px;">(kostenlos registrieren)</a></span>';
|
||||
$output .= '<div class="setting-input">';
|
||||
$output .= '<input type="text" id="setting-weather-api-key" class="text-input" placeholder="Dein API Key hier einfügen..." value="' . htmlspecialchars($settingsManager->get('weather.api_key')) . '">';
|
||||
$output .= '</div>';
|
||||
$output .= '</div>';
|
||||
|
||||
$output .= '<div class="setting-row">';
|
||||
$output .= '<span class="setting-label">Standort (Stadt,Land)</span>';
|
||||
$output .= '<div class="setting-input">';
|
||||
@@ -3581,10 +3574,6 @@ const AdminSettings = {
|
||||
this.updateSetting('weather.enabled', e.target.checked);
|
||||
});
|
||||
|
||||
document.getElementById('setting-weather-api-key')?.addEventListener('change', (e) => {
|
||||
this.updateSetting('weather.api_key', e.target.value);
|
||||
});
|
||||
|
||||
document.getElementById('setting-weather-location')?.addEventListener('change', (e) => {
|
||||
this.updateSetting('weather.location', e.target.value);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user