Ich greife das Thema hier noch einma auf. Außer für Regen (%rainweek%) und Sonnenstunden (%sunweek_s%) gibt es ja keine Variablen für die laufende Wochenauswertung. Deshalb habe ich noch mal etwas gebastelt.
%ws_setmem[12]=%ws_daysmonth[%ws_month2%~%ws_year%]%%
%ws_setmem[1]=%ws_calc[+]=%ws_day%~1~0%%
%ws_setmem[2]=%ws_calc[-]=%ws_getmem[1]%~%ws_dayweek%~0%%
%ws_setmem[3]=%ws_compare[5]=%ws_getmem[2]%~1~%ws_getmem[12]%~%ws_getmem[2]%%%
%ws_setmem[4]=%ws_calc[+]=%ws_getmem[3]%~%ws_getmem[2]%~0%%
%ws_setmem[5]=%ws_compare[3]=%ws_getmem[2]%~%ws_getmem[3]%~%ws_getmem[2]%~%ws_getmem[4]%%%
%ws_setmem[6]=%ws_compare[4]=%ws_getmem[5]%~10~0%ws_getmem[5]%~%ws_getmem[5]%%%
%ws_setmem[7]=%ws_calc[+]=%ws_month%~-1~0%%
%ws_setmem[8]=%ws_compare[3]=%ws_getmem[7]%~0~12~%ws_getmem[7]%%%
%ws_setmem[9]=%ws_compare[5]=%ws_getmem[2]%~1~%ws_getmem[8]%~%ws_month%%%
%ws_setmem[10]=%ws_compare[4]=%ws_getmem[9]%~10~0%ws_getmem[9]%~%ws_getmem[9]%%%
Teil 1 (oben) ist sozusagen die "Steuervariable", die die Woche berechnet.
Darunter dann die Variablen für die einzelnen Sensoren, hier mal für Wind und Temperatur.
%season_avg[35~%ws_getmem[6]%%ws_getmem[10]%%ws_year%~00000000]%
%season_max[35~%ws_getmem[6]%%ws_getmem[10]%%ws_year%~00000000]%
%season_avg[2~%ws_getmem[6]%%ws_getmem[10]%%ws_year%~00000000]%
%season_min[2~%ws_getmem[6]%%ws_getmem[10]%%ws_year%~00000000]%
%season_max[2~%ws_getmem[6]%%ws_getmem[10]%%ws_year%~00000000]%
%ws_getmem[6]% ersetzt dabei %ws_day% und
%ws_getmem[10]% ersetzt %ws_month%, bzw. die ursprünglichen
dd und
mm für den Tag und Monat.
Ursprungsvariable:
%season_max[id~ddmmyyyy~ddmmyyyy]%
Das ganze ist deshalb so kompliziert, weil es Wochen gibt, die in zwei Monate fallen - oder auch in zwei Jahre - und die Ausgabevariable benötigt immer 2 Ziffern für Tag und Monat (die Variable %ws_month
2% wird durch die Berechnung
%ws_calc zwangsweise wieder auf einstellig zurückgeführt. Also Wert 1 statt 01). Diese Probleme habe ich gelöst, allerdings bleibt ein kleiner "Wehrmutstropfen": Das Problem mit den alternierenden 30/31 Tagen eines Monats habe ich unberücksichtigt gelassen und nur mit 31 Tagen/Monat gerechnet. Der Aufwand wäre tierisch groß.... und da es ja 7 Monate mit 31 Tagen gibt, muß man mit dieser kleinen Ungenauigkeit in den Restmonaten (vorerst) leben.
Diese "Ungenauigkeit" tritt aber
nur bei folgende Bedingungen auf:
die zu berechnende Woche fällt in einen Monatswechsel + alter Monat hat 30 Tage
Update: Problem mit den alternierenden Tagen mittels dieser Variablen gelöst:
%ws_setmem[12]=%ws_daysmonth[%ws_month2%~%ws_year%]%%
Es gibt ja (fast) nichts im WSWIN, was es nicht gibt.
Zur Veranschaulichung hier der Direktlink zu meiner Auswertung:
http://www.woldegk-wetter.de/wind1.html