FHEM Forum

FHEM => Frontends => SVG / Plots / logProxy => Thema gestartet von: CQuadrat am 03 Januar 2014, 14:37:58

Titel: SVG-Plot -> endPlotToday für year-Plots
Beitrag von: CQuadrat am 03 Januar 2014, 14:37:58
Hallo Zusammen,

hat es einen Grund, dass der Parameter endPlotToday nur für Wochen- und Monatsplots implementiert ist?

Ich würde es gut finden, wenn das auch für Jahresplots funktionieren würde. Wer ist denn hierzu der Maintainer?


Viele Grüße

Christoph
Titel: Antw:SVG-Plot -> endPlotToday für year-Plots
Beitrag von: rudolfkoenig am 03 Januar 2014, 15:28:47
Ich. Steht im MAINTAINER.txt
Titel: Antw:SVG-Plot -> endPlotToday für year-Plots
Beitrag von: CQuadrat am 03 Januar 2014, 15:36:58
Asche auf mein Haupt  :o -> wer lesen kann ist klar im Vorteil  :-[

Und wie ist es mit meiner Frage?
Titel: Antw:SVG-Plot -> endPlotToday für year-Plots
Beitrag von: rudolfkoenig am 03 Januar 2014, 16:21:11
Ist halt ein Wunsch, gehoert damit eigentlich in den Bereich Wunschliste, die ich nicht lese.

Einen passenden Patch wuerde ich einspielen.
Titel: Antw:SVG-Plot -> endPlotToday für year-Plots
Beitrag von: Frank_Huber am 06 Januar 2018, 20:46:47
Würde das Thema mal reaktivieren.
Mir fällt es auch gerade negativ auf dass die Jahres Plots leer sind.

Mit endPlotToday wäre das viel besser.
Kann aber leider nicht programmieren.
Niemand da der sich au solch einen Patch rantraut?

Mit dem Handy online, daher kurz gefasst...

Titel: Antw:SVG-Plot -> endPlotToday für year-Plots
Beitrag von: elektron-bbs am 04 Februar 2018, 21:28:28
Mir gefiel das auch nicht, deshalb hatte ich schon für mich eine Änderung eingebaut. Nach etwa einem Monat Test denke ich, das ich das veröffentlichen kann. In der Datei "98_SVG.pm" ist in der Sub "SVG_calcOffsets" nur eine kleine Änderung notwendig:

} elsif($zoom eq "year") {
    my @l = localtime($now);
   if(SVG_Attr($FW_wname, $wl, "endPlotToday", undef)) {
$l[3] = 1; # day
if ($l[4] < 11) { # month
$l[4]++;  # + 1 Monat
} else {
$l[4] = 0; # Januar
}
      $off--; # - 1 Jahr
    } else {
$l[4] = 0; # Januar
    }
    $l[5] += $off;
    $SVG_devs{$d}{from} = SVG_tspec(3,0,@l);
    $l[5]++;
    $SVG_devs{$d}{to}   = SVG_tspec(3,1,@l);
  }


Wie das Ergebnis aussieht und das komplette Modul lade ich mit hoch.
Titel: Antw:SVG-Plot -&gt; endPlotToday für year-Plots
Beitrag von: Frank_Huber am 04 Februar 2018, 21:36:15
Ich hab mich mittlerweile mit Attribut fixedrange 365days beholfen.
Werde mir aber deine Variante mal anschauen!
Danke fürs teilen

Mit dem Handy online, daher kurz gefasst...

Titel: Antw:SVG-Plot -> endPlotToday für year-Plots
Beitrag von: rudolfkoenig am 05 Februar 2018, 10:28:45
Der Patch ist
- nicht gegen die aktuelle SVG.pm Version (r16075 vs. r15863)
- trotz endPlotToday endet es am Ende des aktuellen Monats und nicht heute.
- falls endPlotToday nicht gesetzt ist, dann wird das aktuelle Jahr ab Januar, aktueller MonatsTag dargestellt.

Bin noch unentschlossen, ob ich auf einem "ordentlichen" Patch warten soll, oder ob ich es selbst fixen und testen soll.
Titel: Antw:SVG-Plot -> endPlotToday für year-Plots
Beitrag von: elektron-bbs am 07 Februar 2018, 21:23:44
OK, ich habe das nochmal überarbeitet und in die aktuelle Version übernommen.
Die erfassten Zeiträume sehen jetzt so aus:

2018.02.07 20:30:12 3: SVG with endPlotToday from: 2017-02-07_00:00:00   Offset: 0
2018.02.07 20:30:12 3: SVG with endPlotToday to:   2018-02-07_23:59:59   Offset: 0
2018.02.07 20:30:46 3: SVG with endPlotToday from: 2016-02-07_00:00:00   Offset: -1
2018.02.07 20:30:46 3: SVG with endPlotToday to:   2017-02-07_23:59:59   Offset: -1
2018.02.07 20:25:34 3: SVG without endPlotToday from: 2018-01-01_00:00:00   Offset: 0
2018.02.07 20:25:34 3: SVG without endPlotToday to:   2018-12-31_23:59:59   Offset: 0
2018.02.07 20:26:08 3: SVG without endPlotToday from: 2017-01-01_00:00:00   Offset: -1
2018.02.07 20:26:08 3: SVG without endPlotToday to:   2017-12-31_23:59:59   Offset: -1

Titel: Antw:SVG-Plot -> endPlotToday für year-Plots
Beitrag von: rudolfkoenig am 08 Februar 2018, 11:59:02
Habe jetzt fuer fixedRange year endPlotNow oder endPlotToday beruecksichtigt, mit dem Ergebnis:
ohne endPlot*: FROM: 2018-01-01_00:00:00   TO: 2018-12-31_23:59:59
endPlotToday:  FROM: 2017-02-09_00:00:00   TO: 2018-02-08_23:59:59
endPlotNow:    FROM: 2017-02-09_11:52:02   TO: 2018-02-08_11:52:02

Wenn der SVN Server wieder zur Verfuegung steht, werde ich es einchecken.
Titel: Antw:SVG-Plot -> endPlotToday für year-Plots
Beitrag von: rudolfkoenig am 08 Februar 2018, 12:57:58
Habs eingecheckt.
Titel: Antw:SVG-Plot -> endPlotToday für year-Plots
Beitrag von: elektron-bbs am 08 Februar 2018, 17:46:47
Danke, aber was passiert mit $l[3]++ am Monatsletzten? Das ergibt ein ungültiges Datum und das Diagramm bleibt leer.
Titel: Antw:SVG-Plot -> endPlotToday für year-Plots
Beitrag von: rudolfkoenig am 08 Februar 2018, 18:07:24
Ungueltiges Datum ist egal, es wird ein Stringvergleich gemacht. Aeh.... wenigstens in FileLog. Was macht DbLog?
Titel: Antw:SVG-Plot -> endPlotToday für year-Plots
Beitrag von: elektron-bbs am 08 Februar 2018, 18:19:07
Egal ist es auf jeden Fall nicht, da das Diagramm leer bleibt. Das Diagramm umfasst zwar den richtigen Zeitraum, aber es kommen wohl keine Werte aus der Datenbank.
2018.02.08 17:43:38 3: SVG with endPlotToday from: 2017-03-32_00:00:00   Offset: 0
2018.02.08 17:43:38 3: SVG with endPlotToday to:   2018-03-31_23:59:59   Offset: 0
Titel: Antw:SVG-Plot -> endPlotToday für year-Plots
Beitrag von: rudolfkoenig am 08 Februar 2018, 18:26:28
Diese Datenkbank Jungs mit Ihrem speziellen Datentypen machen einem das Leben nur unnoetig schwer.
Ich habe das Addieren des Tages entfernt.

Danke fuer den Test und fuer den Hinweis!