Re: Anzeige Wetterdaten
Verfasst: Fr 5. Jun 2020, 10:10
Leider hat es in meinem Fall trotzdem nicht funktioniert und ich musste die Wetterdaten.php ändern. Laut LOG (mit Tracelevel 10) liefert mir OWM für Königsbrunn (ID: 2885908) nicht Regen für 3h sondern für eine Stunde (1h):
Evtl kann man dies oder eine bessere Änderung in die Wetterdaten.php einbauen, damit es nicht beim Update wieder überschrieben wird. Den Round und Substring habe ich für meinen Fall (1h) auch herausgenommen, sonst wurden kleine Regenmengen wieder mit 0 eingepflegt.
Ich vermute, dass es ähnliche Probleme mit Schnee geben wird, kann ich aber aktuell natürlich nicht testen. Evtl. gleich eine analoge If / Elseif Konstruktion verwenden?
Code: Alles auswählen
Aktuelles Wetter
array (
'coord' =>
array (
'lon' => 10,
'lat' => 48.58,
),
'weather' =>
array (
0 =>
array (
'id' => 500,
'main' => 'Rain',
'description' => 'Leichter Regen',
'icon' => '10d',
),
),
'base' => 'stations',
'main' =>
array (
'temp' => 10.58,
'feels_like' => 9.41,
'temp_min' => 9.44,
'temp_max' => 11.67,
'pressure' => 998,
'humidity' => 82,
),
'wind' =>
array (
'speed' => 0.89,
'deg' => 242,
'gust' => 3.13,
),
'rain' =>
array (
'1h' => 0.15,
),
'clouds' =>
array (
'all' => 100,
),
'dt' => 1591343331,
'sys' =>
array (
'type' => 3,
'id' => 2002329,
'country' => 'DE',
'sunrise' => 1591327196,
'sunset' => 1591384649,
),
'timezone' => 7200,
'id' => 2885908,
'name' => 'Königsbrunn',
'cod' => 200,
)
Code: Alles auswählen
if (isset($Ergebnis["rain"]["3h"]))
$aktuellesWetter["Regenmenge"] = round(substr($Ergebnis["rain"]["3h"],0,5),0);
elseif (isset($Ergebnis["rain"]["1h"]))
$aktuellesWetter["Regenmenge"] = $Ergebnis["rain"]["1h"];
else
$aktuellesWetter["Regenmenge"] = 0;
Ich vermute, dass es ähnliche Probleme mit Schnee geben wird, kann ich aber aktuell natürlich nicht testen. Evtl. gleich eine analoge If / Elseif Konstruktion verwenden?