SVG fixedrange month im Feb 2020 ohne den 29.2.2020 in der Darstellung

Begonnen von bema15, 02 März 2020, 13:44:15

Vorheriges Thema - Nächstes Thema

bema15

Bei meinem SVG Plot mit dem Attribut fixedrange month wird im Monat Februar 2020 der 29.2.2020 nicht angezeigt. Der SVG Plot endet rechts mit dem 28.2.2020.

Wie kann Abhilfe geschaffen werden?

Nachtrag: endPlotToday ist 0. So dass immer volle Monate, vom ersten bis letzten Tag angezeigt werden sollen.

mahowi

Das ist direkt am 29.02. durch Rudi gefixt worden und sollte seit Sonntag per Update verteilt werden. (https://forum.fhem.de/index.php/topic,108829)
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

bema15

Ich habe gerade einen FHEM Update durchgeführt. Aber keine Änderung, das Verhalten ist immer noch das Gleiche....

Habe ein bischen im Modul 98_SVG.pm geschaut, ob da was falsch berechnet werden könnte. Und siehe da:
In den Zeilen 1027 und 1033 steht jeweils der folgende Code
      $me[1]++ if(($sy+1900)%4); # leap year. Ignore 1900 and 2100 :)
@me enthält die Anzahl Tage der Monate im Jahr und hier soll der Februar ($me[1]) um ein Tag erhöht werden, wenn es ein Schaltjahr ist, also durch 4 teilbar ist.
Nur ist die Bedingung im if falsch. So wird der Feb immer um eins erhöht, wenn es kein Schaltjahr ist, und nicht wenn es eins ist (%4 ist 0, wenn durch 4 teilbar).

Die richtige Anweisung müsste lauten:
      $me[1]++ if(($sy+1900)%4 == 0); # leap year. Ignore 1900 and 2100 :)

Wer kann dies im offiziellen 98_SVG.pm korrigieren?

mahowi

Laut Maintainer.txt wäre das Rudi:
File                         Maintainer           Forum
=========================================================================
FHEM/98_SVG.pm               rudolfkoenig         Frontends/SVG/Plots/logProxy
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

rudolfkoenig

Danke fuer den Hinweis.

Da gab es wohl mehrere Stellen, wo 29.Februar falsch behandelt wurde.
Ich habe jetzt zwei weitere Stellen gefixt.