FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Klaus_R am 06 Oktober 2022, 10:00:32

Titel: SVG plot 24:00 / 00:00 Uhr Problem (Lösung gefunden)
Beitrag von: Klaus_R am 06 Oktober 2022, 10:00:32
Hallo zusammen,
mache ich was falsch bzw. was sollte ich ändern um folgendes Problem zu beseitigen?

2022-10-02_23:00:00 Du_Strom VerbrauchStunde: 0.220
2022-10-03_00:00:00 Du_Strom VerbrauchStunde: 0.210
2022-10-03_01:00:00 Du_Strom VerbrauchStunde: 0.120
2022-10-03_02:00:00 Du_Strom VerbrauchStunde: 0.150
2022-10-03_03:00:00 Du_Strom VerbrauchStunde: 0.110
2022-10-03_04:00:00 Du_Strom VerbrauchStunde: 0.100
2022-10-03_05:00:00 Du_Strom VerbrauchStunde: 0.090
2022-10-03_06:00:00 Du_Strom VerbrauchStunde: 0.110
2022-10-03_07:00:00 Du_Strom VerbrauchStunde: 0.090
2022-10-03_08:00:00 Du_Strom VerbrauchStunde: 0.160
2022-10-03_09:00:00 Du_Strom VerbrauchStunde: 0.110
2022-10-03_10:00:00 Du_Strom VerbrauchStunde: 0.240
2022-10-03_11:00:00 Du_Strom VerbrauchStunde: 0.120
2022-10-03_12:00:00 Du_Strom VerbrauchStunde: 0.150
2022-10-03_13:00:00 Du_Strom VerbrauchStunde: 0.180
2022-10-03_14:00:00 Du_Strom VerbrauchStunde: 0.720
2022-10-03_15:00:00 Du_Strom VerbrauchStunde: 0.310
2022-10-03_16:00:00 Du_Strom VerbrauchStunde: 0.460
2022-10-03_17:00:00 Du_Strom VerbrauchStunde: 0.200
2022-10-03_18:00:00 Du_Strom VerbrauchStunde: 0.100
2022-10-03_19:00:00 Du_Strom VerbrauchStunde: 0.110
2022-10-03_20:00:00 Du_Strom VerbrauchStunde: 0.190
2022-10-03_21:00:00 Du_Strom VerbrauchStunde: 1.000
2022-10-03_22:00:00 Du_Strom VerbrauchStunde: 0.370
2022-10-03_23:00:00 Du_Strom VerbrauchStunde: 0.230
2022-10-04_00:00:00 Du_Strom VerbrauchStunde: 0.270
2022-10-04_01:00:00 Du_Strom VerbrauchStunde: 0.180


Aus dieser Datenreihe bekomme ich die anhängenden Grafiken:
Erste Frage: Der Verbrauch fällt zwischen z.B. 20:00 und 21:00 an wird aber in der Grafik als Verbrauch von 20:30 bis 21:30 dargestellt. Lässt sich das ändern?

Bei der derzeitigen  Darstellung entsteht zwischen 23:00 Uhr und 01:00 des nächsten Tages folgendes Problem.
Wert von 23:00 bis 00:00 ( bzw. 23:30 bis 24:00) wird nicht dargestellt. Am nachfolgenden Tag  wird ein Balken für den halben Stundenwert 00:00 bis 00:30 dargestellt)

Hoffe es ist alles Verständlich und das Problem ersichtlich.
Gruss Klaus
Titel: Antw:SVG plot 24:00 / 00:00 Uhr Problem
Beitrag von: frank am 06 Oktober 2022, 10:49:33
nimm einen, zu deinen erwartungen passenden linienstyl.
eventuell zeigt "fsteps" das, was du willst.

oder die kurve verschieben mit logproxy.
Titel: Antw:SVG plot 24:00 / 00:00 Uhr Problem
Beitrag von: Klaus_R am 06 Oktober 2022, 11:05:08
Zitat von: frank am 06 Oktober 2022, 10:49:33
nimm einen, zu deinen erwartungen passenden linienstyl.
eventuell zeigt "fsteps" das, was du willst.

oder die kurve verschieben mit logproxy.

Danke! Ersteres hat schonmal geholfen. Die letzte Stunde fehlt aber immer noch s.Bild. Mit loxproxy muss ich mich jetzt erst mal beschäftigen.
Gruß Klaus
Titel: Antw:SVG plot 24:00 / 00:00 Uhr Problem
Beitrag von: Klaus_R am 06 Oktober 2022, 11:15:42
Evtl. sollte/könnte ich auch bei der Erstellung des Log etwas ändern denn, dass es den letzen Wert eines Tages mit 00:00 logt ist eigentlich falsch. Besser wäre 24:00!
24:00 und 00:00 sind ja nicht genau dasselbe ;)
Titel: Antw:SVG plot 24:00 / 00:00 Uhr Problem
Beitrag von: Otto123 am 06 Oktober 2022, 11:52:51
Zitat2022-10-03_23:00:00 Du_Strom VerbrauchStunde: 0.230
2022-10-04_00:00:00 Du_Strom VerbrauchStunde: 0.270
Der letzte Wert des Tages ist 23:00 Uhr
Der erste Wert des neuen Tages ist 00:00

Aus meiner Sicht ist das in Ordnung.
Titel: Antw:SVG plot 24:00 / 00:00 Uhr Problem
Beitrag von: frank am 06 Oktober 2022, 12:07:39
Zitat von: Klaus_R am 06 Oktober 2022, 11:15:42
Evtl. sollte/könnte ich auch bei der Erstellung des Log etwas ändern denn, dass es den letzen Wert eines Tages mit 00:00 logt ist eigentlich falsch. Besser wäre 24:00!
24:00 und 00:00 sind ja nicht genau dasselbe ;)
eventuell fehlt dir dann aber ein wert am tagesanfang.  :)
ausserdem könnte es sein, dass 24:00 auch nicht funktioniert, sondern eher 23:59.
es könnte also sein, dass du 2 werte für den tageswechsel brauchst.

aber auch hierbei hilft logproxy mit option extend.
Titel: Antw:SVG plot 24:00 / 00:00 Uhr Problem
Beitrag von: Klaus_R am 06 Oktober 2022, 13:56:48
Zitat von: Otto123 am 06 Oktober 2022, 11:52:51
Der letzte Wert des Tages ist 23:00 Uhr
Der erste Wert des neuen Tages ist 00:00

Aus meiner Sicht ist das in Ordnung.

Naja???
Mir dämmert, dass meine Frage falsch gestellt war denn  gewollt ist  den Verbrauch einer kompletten Stunde anzuzeigen. Den kann ich aber erst am Ende der Stunde feststellen. Die letzte Stunde eines Tages ist doch wohl die Stunde zwischen 23:00 und 24:00 Uhr. Wenn dieser Wert mit der Zeitangabe 00:00 gespeichert wird bedeutet das aber dass der Verbrauch auf den nächsten Tag verschoben wird.

Würde er mit der Zeitangabe 24:00 gespeichert wäre alles in Ordnung. Ist also eher ein Problem das beim Erstellen der Logreihe entsteht.

Ich glaube ich sollte die Sache als neue Frage mit  dem Betreff "AT und 00:00 24:00 Uhrproblem stellen.
Gruss Klaus
Titel: Antw:SVG plot 24:00 / 00:00 Uhr Problem
Beitrag von: Otto123 am 06 Oktober 2022, 14:07:23
Naja - ich denke Deine Erwartung ist falsch. Man kann zwar umgangssprachlich sagen es ist der 31.12. 24:00 Uhr - es ist aber in dem Moment die letzte Sekunde des Tages vorbei und es ist rein technisch der 1.1. 00:00 Uhr

So steht es zumindest auch hier https://de.wikipedia.org/wiki/24-Stunden-Z%C3%A4hlung

Du stellst Deinen Verbrauch jetzt nicht am Ende der Stunde sondern am Beginn der Stunde fest. Beispiel 11:00 ist der Beginn der neue Stunde! Die vorherige Stunde endet unendlich kurz vor 11:00 (10:59:59).

Wenn du das optisch anders willst musst Du den Eintrag immer xx:59 Uhr  machen - wie Frank auch sagt.
Aber wie rum Du die Decke ziehst, bei voller Stunde fehlt Dir der Wert entweder früh oder Abends.

Kannst Du dein mentales Problem mit fixedrange (oder https://forum.fhem.de/index.php?topic=88338.0) lösen?
Titel: Antw:SVG plot 24:00 / 00:00 Uhr Problem
Beitrag von: betateilchen am 06 Oktober 2022, 20:20:21
Kannst Du nicht einfach um xx.59.59 per at und addLog einen zusätzlichen Wert ins Log schreiben?
Titel: Antw:SVG plot 24:00 / 00:00 Uhr Problem
Beitrag von: Klaus_R am 07 Oktober 2022, 13:08:51
Zitat von: Otto123 am 06 Oktober 2022, 14:07:23
Du stellst Deinen Verbrauch jetzt nicht am Ende der Stunde sondern am Beginn der Stunde fest. Beispiel 11:00 ist der Beginn der neue Stunde! Die vorherige Stunde endet unendlich kurz vor 11:00 (10:59:59).


Da hast Du Recht aber..... bei jeder Stunde wird der Plotbalken dann trotzdem richtig gesetzt (bei Einstellung fsteps) nämlich links der Plotzeit(Stunde). In deinem Zeitbeispiel von oben die Stunde "vor" 11:00. Also von 10:00 - 11:00. Nur bei 00:00 passiert das nicht (weil eben auch der Tag gewechselt hat).

Ist jetzt aber nicht weiter schlimm ich schau mal ob ich mein AT mit
+*01:00:00
und
alignTime 00:00
belasse und diese Zusatzeile einfüge

my $Zeit = strftime("%Y-%m-%d %H:%M:%S",localtime(time-1));;
fhem("setreading Du_Strom $Zeit VerbrauchStunde $VerbrauchStunde");;


und dadurch erreiche, dass das AT zwar zu 00:00 ausgeführt wird aber die Logzeit auf den Vortag fällt.

Wenn das nicht klappt ist  logproxy dran.

Danke für die Tipps Gruss Klaus
Titel: Antw:SVG plot 24:00 / 00:00 Uhr Problem
Beitrag von: frank am 07 Oktober 2022, 14:15:00
ZitatWenn das nicht klappt ist  logproxy dran.
wieso nicht gleich?
ist doch deutlich einfacher, als die zusätzlichen logeinträge.
Titel: Antw:SVG plot 24:00 / 00:00 Uhr Problem
Beitrag von: Klaus_R am 08 Oktober 2022, 10:41:33
Zitat von: frank am 07 Oktober 2022, 14:15:00
wieso nicht gleich?
ist doch deutlich einfacher, als die zusätzlichen logeinträge.
Zunächst mal vielen Dank für den Hinweis auf logProxy! Ohne den Tipp wäre ich vermutlich nicht darauf gestossen.

Warum ich es nicht gleich nutzen wollte? Weil ich als Anfänger mit lernen von Fhem, Perl, Tasmota, Tasmota Rules, ESPEasy, ESPEasy Rules usw. usw. eigentlich schon gut  ausgelastet bin ;) ;)

Da die Plots aber immer noch nicht fehlerfrei sind muss ich mich nun wohl oder übel auch noch in dieses Detail reinknien.

Ich habe jetzt zwar Logeinträge ohne 00:00 Uhr sondern diese Zeiten als letztes:
2022-10-07_21:59:59 Du_Strom VerbrauchStunde: 0.240
2022-10-07_22:59:59 Du_Strom VerbrauchStunde: 0.280
2022-10-07_23:59:59 Du_Strom VerbrauchStunde: 0.070

und diese Darstellung ist jetzt fehlerfrei!
aber die ersten des neuen Tages sind:
2022-10-08_00:59:59 Du_Strom VerbrauchStunde: 0.100
2022-10-08_01:59:59 Du_Strom VerbrauchStunde: 0.100
2022-10-08_02:59:59 Du_Strom VerbrauchStunde: 0.120

und da wird der erste  Wert einfach unterschlagen.

Gibt es dafür eine Erklärung?
Und kann ich das mit logProxy wirklich besser hinbekommen?

Ach... und beim letzten Test gerade merke ich... wenn ich statt fsteps auf bars umschalte stimmt alles :D
Also ist mein Problem gelöst ;D

LG Klaus