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.
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)
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?
Laut Maintainer.txt (https://svn.fhem.de/trac/browser/trunk/fhem/MAINTAINER.txt#L534) wäre das Rudi:
File Maintainer Forum
=========================================================================
FHEM/98_SVG.pm rudolfkoenig Frontends/SVG/Plots/logProxy
Danke fuer den Hinweis.
Da gab es wohl mehrere Stellen, wo 29.Februar falsch behandelt wurde.
Ich habe jetzt zwei weitere Stellen gefixt.
Es funktioniert...
Danke