Fix cached weather error being returned

The weather cache was returning old errors (like "API Key fehlt"
from the previous OpenWeatherMap implementation) even after
switching to Open-Meteo which doesn't require an API key.

Changes:
- Delete cache file if it contains an error
- Prevent errors from being cached in the first place
This commit is contained in:
Claude
2026-01-22 21:40:09 +00:00
parent 6472bbf162
commit 328b5b5b15
+11 -1
View File
@@ -160,6 +160,12 @@ class WeatherManager {
return null;
}
// Fehler nicht aus Cache zurückgeben (z.B. alter "API Key fehlt" Error)
if (isset($data['error'])) {
@unlink($this->cacheFile); // Cache mit Fehler löschen
return null;
}
// Update-Intervall aus Settings holen (in Minuten)
$updateInterval = $this->settingsManager->getWeatherUpdateInterval() * 60; // Minuten -> Sekunden
@@ -172,9 +178,13 @@ class WeatherManager {
}
/**
* Speichert Daten im Cache
* Speichert Daten im Cache (nur wenn kein Fehler)
*/
private function saveCache($data) {
// Fehler nicht cachen
if (isset($data['error'])) {
return;
}
$json = json_encode($data, JSON_PRETTY_PRINT);
file_put_contents($this->cacheFile, $json, LOCK_EX);
}