Closed olwaldi closed 3 months ago
Die Biowettervorhersage gilt immer für halbe Tage, früh also von 00:00 Uhr bis 12:00 Uhr. Die neue Vorhersage kommt aber schon 11:00 Uhr und enthält die Werte für den aktuellen Vormittag nicht mehr. Damit gibt es zwischen 11:00 Uhr und 12:00 Uhr nur Werte für die Zukunft. $current.biowetterIssued
müßte in dieser Zeitspanne noch das Veröffentlichungsdatum vom Vortag liefern, denn nur da sind Werte für diesen Zeitraum enthalten.
Grundsätzlich kann $current.biowetterIssued
zwischen 11:00 Uhr und 12:00 Uhr nur dann definiert sein, wenn WeeWX zwischen 10:55 Uhr und 12:00 Uhr NICHT neu gestartet wurde.
Die Pollenvorhersage gilt dagegen immer für ganze Kalendertage. Auch die um 11:00 Uhr erscheinende Ausgabe enthält also Werte für den aktuellen Vormittag. Damit besteht das Problem hier nicht.
Nachdem es hier seit 4 Tagen keine weiteren Kommentare gegeben hat, gehe ich mal davon aus, daß der Fix das Problem gelöst hat.
Habe erst heute das aktualisierte weatherserviceshealth.py angeguckt. Jetzt ist biowetterIssued zwar immer gesetzt, "lügt" aber beim Datum: Gegen 11:00 wird ein neuer Datensatz vom DWD bereitgestellt und auch in der Biowetter-Tabelle angezeigt. biowetterIssued meldet aber weiterhin das Datum vom Vortag (dessen Werte in der Biowetter-Tabelle gar nicht mehr enthalten sind). Nach 12:00 paßt biowetterIssued wieder und zeigt das aktuelle Download-Datum an.
Aus meiner Sicht sollte biowetterIssued "einfach nur" das Datum des Downloads enthalten (so wie's auch in der Fußnote der Biowetter-Tabelle drinsteht).
Dann machen wir das Issue mal wieder auf. Sorry, daß ich zu ungeduldig war.
$current.biowetterIssued
"lügt" nicht. Neben $current.biowetterIssued
gibt es noch $current.biowetterValue.raw
und $current.biowetterExpectedThermalStress
. Diese drei Variablen gehören zusammen und liefern die jeweils aktuell gültigen Werte (halt "current"). Für den Zeitraum bis 12:00 Uhr sind das die Werte aus dem Datensatz vom Vortag, die für diesen Zweck zwischengespeichert werden.
Für die Tabellendarstellung, die ja selbst ein Ausgabedatum enthält, wird nichts zwischengespeichert. Das bedeutet, daß mit Herausgabe des neuen Datensatzes gegen 11:00 Uhr die Werte für den laufenden Vormittag nicht mehr verfügbar sind. Die Tabelle enthält nur Daten ab dem Nachmittag.
Das Datum des letzten Downloads ist $current.biowetterLastUpdate
.
Dann habe ich das issued als herausgegeben bzgl. Biowetter-Tabelle falsch interpretiert. Zusammen z.B. mit ExpectedThermalStress machts dann wie implementiert Sinn.
Danke für die Erläuterung, Michael
Nachtrag: Ich nutze dann einfach den ExpectedThermalStress (vermutlich Integer-Werte zwischen -2..2) in meinem Seasons-Skin:
Ohne format gibts viele Nullen hinter dem Komma:-)
vermutlich Integer-Werte zwischen -2..2
-4...+4
in beide Richtungen schwach, mäßig, stark und extrem
Ohne format gibts viele Nullen hinter dem Komma
Ich ordne den Wert mal group_count
zu, dann kommen die Nachkommastellen nicht mehr.
Hier mal noch ein Verweis auf die Symbole für die thermische Belastung: https://github.com/roe-dl/weathericons/blob/master/thermalstress/README.md
Im Programm werden die Symbole allerdings berechnet. Die Krümmung des Mundes richtet sich nach einer Formel. Das ist dort keine Auswahl aus Graphikdateien.
Ich hatte auch kurz überlegt, ob ich irgendwie die Symbole in meinem Seasons-Skin verwenden kann. Stattdessen mappe ich den ThermalStress auf die Erläuterungsstrings. Klappt prima. Ich habe aber viele Versuche gebraucht, bis ich auf das Suffix .raw gekommen bin:
<div class="widget_contents">
#set $thermalstress = $current.biowetterExpectedThermalStress.raw
#if $thermalstress >= 0
#set $stresstype = "Wärmebelastung"
#else
#set $stresstype = "Kältebelastung"
#set $thermalstress = -$thermalstress
#end if
<p class="widget_forecast">$stresstype:
#if $thermalstress == 1
schwach
#elif $thermalstress == 2
mäßig
#elif $thermalstress == 3
stark
#elif $thermalstress == 4
extrem
#else
keine
#end if
(von $current.biowetterIssued)
</p>
</div>
Ungefähr zwischen 11:00Uhr und 12:00Uhr ist die Variable $current.biowetterIssued (regelmäßig) undefiniert. Ggf. als Hinweis: In der Fußnote der Biowetter-Tabelle liegt die Vorhersage-Zeit einige Minuten VOR der Herausgabe-Zeit, z.B.
Bei der Pollen-Tabelle tritt dieses Problem nicht auf.