DbLogInclude: Wie mehrere Readings loggen wenn ein Reading matched

Begonnen von stefanru, 26 November 2019, 21:01:08

Vorheriges Thema - Nächstes Thema

stefanru

Hi Heiko,

habe es gezogen und für die Tage ist es klasse (siehe Bild),
aber für die Woche past es einfach nicht.

Ich schau mir das jetzt schon sicher ne Stunde an und kapier nicht wo der Fehler liegt.
Ich habe so das Gefühl dass es ein Problem im Plot gibt.

Wenn ich die Woche 13(Montag) - 19(Sonntag) anschaue beginnt sie im Tages Plot (oben) am 13.,
im Wochenplot (unten) aber am 12.? Was ist da los? Warum sind die Tage vom Tagesplot nicht gleich denen im Wochenplot?

Das 2. Problem das es dann noch gäbe ist, dass die Wochenzeiten, im unteren SVG in blau:
1. Diese verschiebung um eine Tag nicht haben und wirklich am 13. angezeigt werden,
2. dies aber um eine Woche zu früh.

2. Kann ich verstehen weil der Wochenwert für meinen Plot wohl eher am 19. 23:59 oder am 20. 00:01 geschrieben werden müsste.
Vielleicht könnte ich das irgendwie in den Daten nach massieren.
Ich denke mittlerweile auch das die Daten so stimmen. Aber die Plotanzeige von Tag und Woche verstehe ich einfach nicht.

Hast du da noch eine Idee?

Gruß und vielen Dank,
Stefan

DS_Starter

Hi Stefan,

mit Plots anschauen alleine kommt man da wahrscheinlich nicht weiter.
Du müsstest mal im DbRep ein fetchRows ausführen und posten welche (im SVG anzuzeigenden) Datensätze tatsächlich in der DB vorhanden sind.

Ich habe zum Beispiel seit Anfang des Jahres Energiedaten mit aggregation week aufsummiert und die die DB geschrieben.
Die erstellten Readings aus diem Lauf sind:


     2020-01-18 18:18:01   2020-01-01__SMA_Energymeter__Einspeisung_Wirkleistung_Zaehler__SUM__week_01 108781989.9649
     2020-01-18 18:18:01   2020-01-06__SMA_Energymeter__Einspeisung_Wirkleistung_Zaehler__SUM__week_02 153251990.8751
     2020-01-18 18:18:01   2020-01-13__SMA_Energymeter__Einspeisung_Wirkleistung_Zaehler__SUM__week_03 126413825.6330


Die Wochenabgrenzungen sind richtig wie man sieht.
Die daraus resultierenden in die DB zu schreibenden Ergebnsisreadings sind diese (sieht man mit verbose 4):


2020.01.18 18:18:00.839 4: DbRep Rep.LogDB1 - 2020-01-01 00:00:01|SMA_Energymeter|SMAEM|calculated|sum_week_Einspeisung_Wirkleistung_Zaehler|108781989.9649|
2020.01.18 18:18:00.953 4: DbRep Rep.LogDB1 - 2020-01-06 00:00:01|SMA_Energymeter|SMAEM|calculated|sum_week_Einspeisung_Wirkleistung_Zaehler|153251990.8751|
2020.01.18 18:18:00.955 4: DbRep Rep.LogDB1 - 2020-01-13 00:00:01|SMA_Energymeter|SMAEM|calculated|sum_week_Einspeisung_Wirkleistung_Zaehler|126413825.6330|


Du siehst, dass nunmehr der Timestamp am Begin der Periode, z.B. 2020-01-06 00:00:01, geschrieben werden.
Mit fetchrows der Readings "sum_week_Einspeisung_Wirkleistung_Zaehler" (in einem anderen DbRep) müssen sich diese Sätze wiederfinden.

Schau mal bitte ...
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

stefanru

#47
Hi Heiko,

ja die Sätze stimmen bei mir jetzt auch. Ich denke ja an den Zeitstempeln liegt es gar nicht aber bei den Plots ist etwas seltsam.

Hier mal die Daten der letzten 14 Tage:

1. Datenbank:

2020-01-18 00:00:01 geofancy GEOFANCY calculated sum_day_lastPosDur_rr_Stefan 0.0000 NULL
2020-01-17 00:00:01 geofancy GEOFANCY calculated sum_day_lastPosDur_rr_Stefan 32404.0000 NULL
2020-01-16 00:00:01 geofancy GEOFANCY calculated sum_day_lastPosDur_rr_Stefan 28585.0000 NULL
2020-01-15 00:00:01 geofancy GEOFANCY calculated sum_day_lastPosDur_rr_Stefan 32400.0000 NULL
2020-01-14 00:00:01 geofancy GEOFANCY calculated sum_day_lastPosDur_rr_Stefan 31036.0000 NULL
2020-01-13 00:00:01 geofancy GEOFANCY calculated sum_day_lastPosDur_rr_Stefan 34220.0000 NULL
2020-01-13 00:00:01 geofancy GEOFANCY calculated sum_week_sum_day_lastPosDur_rr_Stefan 158645.0000 NULL
2020-01-12 00:00:01 geofancy GEOFANCY calculated sum_day_lastPosDur_rr_Stefan 0.0000 NULL
2020-01-11 00:00:01 geofancy GEOFANCY calculated sum_day_lastPosDur_rr_Stefan 0.0000 NULL
2020-01-10 00:00:01 geofancy GEOFANCY calculated sum_day_lastPosDur_rr_Stefan 37168.0000 NULL
2020-01-09 00:00:01 geofancy GEOFANCY calculated sum_day_lastPosDur_rr_Stefan 36000.0000 NULL
2020-01-08 00:00:01 geofancy GEOFANCY calculated sum_day_lastPosDur_rr_Stefan 25700.0000 NULL
2020-01-07 00:00:01 geofancy GEOFANCY calculated sum_day_lastPosDur_rr_Stefan 35945.0000 NULL
2020-01-06 00:00:01 geofancy GEOFANCY calculated sum_day_lastPosDur_rr_Stefan 28800.0000 NULL
2020-01-06 00:00:01 geofancy GEOFANCY calculated sum_week_sum_day_lastPosDur_rr_Stefan 163613.0000 NULL


Hier vom Tagesplot die preprocessed Input Werte ( ich teile die Sekunden durch /3600 um auf Minuten zu kommen):

get logdb HISTORY INT 2020-01-13_00:00:00 2020-01-19_23:59:59 geofancy:sum_day_lastPosDur_rr_Stefan:::$val=$val/3600

2020-01-13_00:00:01 9.50555555555556
2020-01-14_00:00:01 8.62111111111111
2020-01-15_00:00:01 9
2020-01-16_00:00:01 7.94027777777778
2020-01-17_00:00:01 9.00111111111111
2020-01-18_00:00:01 0
#geofancy:sum_day_lastPosDur_rr_Stefan:::$val=$val/3600


Und hier vom Wochenplot:

get logdb HISTORY INT 2020-01-01_00:00:00 2020-01-31_23:59:59 geofancy:sum_week_sum_day_lastPosDur_rr_Stefan:::$val=$val/3600 geofancy:sum_day_lastPosDur_rr_Stefan:::$val=$val/3600

2020-01-01_00:00:01 24.1413888888889
2020-01-06_00:00:01 45.4480555555556
2020-01-13_00:00:01 44.0680555555556
#geofancy:sum_week_sum_day_lastPosDur_rr_Stefan:::$val=$val/3600
2020-01-01_00:00:01 8
2020-01-02_00:00:01 8
2020-01-03_00:00:01 8.14138888888889
2020-01-04_00:00:01 0
2020-01-05_00:00:01 0
2020-01-06_00:00:01 8
2020-01-07_00:00:01 9.98472222222222
2020-01-08_00:00:01 7.13888888888889
2020-01-09_00:00:01 10
2020-01-10_00:00:01 10.3244444444444
2020-01-11_00:00:01 0
2020-01-12_00:00:01 0
2020-01-13_00:00:01 9.50555555555556
2020-01-14_00:00:01 8.62111111111111
2020-01-15_00:00:01 9
2020-01-16_00:00:01 7.94027777777778
2020-01-17_00:00:01 9.00111111111111
2020-01-18_00:00:01 0
#geofancy:sum_day_lastPosDur_rr_Stefan:::$val=$val/3600


Ich verstehe nicht warum der Wochenplot bei den Tageswerten am 12.01. einen Wert anzeigt. Da kommt doch 0.
Ist die skala da verrutscht?

P.S.:
Man sieht das gut gerade am 12. und 13. da habe ich einen Tageswert und eine Wochenwert, da es ja ein Montag ist und der Wochenplot bekommt:
2020-01-13_00:00:01 44.0680555555556  => Wochenwert
2020-01-13_00:00:01 9.50555555555556 => Tageswert

Aber doch fängt der Tageswert am 12. an, blauer kasten und der Wochenwert würde am 13. anfangen?

Gruß,
Stefan

DS_Starter

#48
Hi Stefan,

also die Werte in der DB stimmen nun wirklich und sind so wie sie sein sollen.
D.h. die Datenbasis ist korrekt, was ich nur nochmal sicherstellen wollte.
Alles andere ist nun eine Geschichte der Anzeige / Auswertung.

ZitatIch verstehe nicht warum der Wochenplot bei den Tageswerten am 12.01. einen Wert anzeigt. Da kommt doch 0.
Ja stimmt. Es müsste eigentlich eine Linie von 0 am 12. beginnend nach 9,5 am 13. schräg von unten nach rechts oben sein wie ich es im angehängten Bild habe versucht darzustellen :)
Ich bin kein SVG Experte, aber vielleicht gibt es eine Linieart die das kann ... evtl. bei den SVG Spezialisten mal fragen.
EDIT: Alternativ müsste dieser Wert am 12.01. nicht 00:00:01 geschrieben werden, sondern um 23:59:58. Dann würde sich die Darstellung nicht überlappen.

Zitat... und der Wochenwert würde am 13. anfangen?
Ja, richtig. Das Problem ist aber dass SVG ja nur einen Wert bis zum 13.01. bekommt, obwohl der Wert für den ganzen Zeitraum 13.01. bis 19.01. (bzw. bis zum gegenwärtigen Tag) gilt. Aber das weiß SVG ja nicht.
Zur kompletten Darstellung fehlt noch der Endwert der aktuellen Periode.

Hmm, damit der User eine Möglichkeit hat auf die zu schreibenden Werte in die DB EInfluss zu nehmen, kann ich mir vorstellen eine valueFn (wie ich es in DbLog gemacht habe) einzubauen. Dann kann der User eine Logik einfügen um Timestamps, Readingnamen und Werte beeinflussen zu können die in die DB geschrieben werden sollen.
So wäre es zum Beispiel möglich, beim Wochenwert, der ja durch "week" im Readingsnamen gekennzeichnet ist, einen weiteren Datensatz für die aktuelle Zeit in die DB zu schreiben. Das würde der PLot dann auch zeigen.

Das wäre auf jeden Fall etwas für den "advanced" Anwender, aber sehr flexibel um allle möglichen Aufgabenstellungen zu erschlagen.
Was denkst du ?

Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

stefanru

Hi Heiko,

ah ja richtig.
Wenn am 12.01. (Sonntag) der 0 Wert um 23:59 geschrieben wird siehts gut aus :-)
So langsam wirds mir klar.
Eigentlich bräuchte ich wohl immer für eine range einen Wert am Anfang und am Ende.

Also für einen Tag bräuchte ich einen Eintrag um 00:01 und 23:59.
Für eine Woche Montag um 00:01 und Sonntag um 23:59.

Mit einer user funktion bekomme ich das hin.
Würde es Sinn machen das auch irgendwie als standard anzubieten?
So etwas wie aggregate_begin_end?

Gruß,
Stefan

DS_Starter

Zitat
Mit einer user funktion bekomme ich das hin.
Würde es Sinn machen das auch irgendwie als standard anzubieten?
So etwas wie aggregate_begin_end?

Ich denke mal drüber nach. Die Tücke steckt im Detail weil das unter allen theoretisch vorkommenden Auswertungsvarianten, Aggregationen und Zeitabgrenzungen funktionionieren muss. Die Tücke steckt wir immer im Detail.  ;)

Melde mich hier wieder ...

LG,
Heiko
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

stefanru


DS_Starter

#52
Hallo Stefan,

jetzt habe ich die Write-Back Funktion für die setter averageValue und sumValue ziemlich umgebaut. Diese Setter bringen keinen definierten Zeitpunkt im Ergebnis.
Nun werden die Ergebnisse jeweils zum Begin und zum Ende der jeweiligen Aggregationsperiode in die DB geschrieben.
Also so z.B. für eine aggregation = hour:


     2020-01-22 23:23:43   2020-01-01_00-00-01__1__SMA_Energymeter__sum_hour_Einspeisung_Wirkleistung_Zaehler 913966.2480
     2020-01-22 23:23:43   2020-01-01_00-59-59__1__SMA_Energymeter__sum_hour_Einspeisung_Wirkleistung_Zaehler 913966.2480
     2020-01-22 23:23:43   2020-01-01_01-00-01__1__SMA_Energymeter__sum_hour_Einspeisung_Wirkleistung_Zaehler 913966.2480
     2020-01-22 23:23:43   2020-01-01_01-59-59__1__SMA_Energymeter__sum_hour_Einspeisung_Wirkleistung_Zaehler 913966.2480
     2020-01-22 23:23:43   2020-01-01_02-00-01__1__SMA_Energymeter__sum_hour_Einspeisung_Wirkleistung_Zaehler 913966.2480
     2020-01-22 23:23:43   2020-01-01_02-59-59__1__SMA_Energymeter__sum_hour_Einspeisung_Wirkleistung_Zaehler 913966.2480
     2020-01-22 23:23:43   2020-01-01_03-00-01__1__SMA_Energymeter__sum_hour_Einspeisung_Wirkleistung_Zaehler 913966.2480
     2020-01-22 23:23:43   2020-01-01_03-59-59__1__SMA_Energymeter__sum_hour_Einspeisung_Wirkleistung_Zaehler 913966.2480
     2020-01-22 23:23:43   2020-01-01_04-00-01__1__SMA_Energymeter__sum_hour_Einspeisung_Wirkleistung_Zaehler 913966.2480
     2020-01-22 23:23:43   2020-01-01_04-59-59__1__SMA_Energymeter__sum_hour_Einspeisung_Wirkleistung_Zaehler 913966.2480
     2020-01-22 23:23:43   2020-01-01_05-00-01__1__SMA_Energymeter__sum_hour_Einspeisung_Wirkleistung_Zaehler 913966.2480
     2020-01-22 23:23:43   2020-01-01_05-59-59__1__SMA_Energymeter__sum_hour_Einspeisung_Wirkleistung_Zaehler 913966.2480
     2020-01-22 23:23:43   2020-01-01_06-00-01__1__SMA_Energymeter__sum_hour_Einspeisung_Wirkleistung_Zaehler 913966.2480
     2020-01-22 23:23:43   2020-01-01_06-59-59__1__SMA_Energymeter__sum_hour_Einspeisung_Wirkleistung_Zaehler 913966.2480
     2020-01-22 23:23:43   2020-01-01_07-00-01__1__SMA_Energymeter__sum_hour_Einspeisung_Wirkleistung_Zaehler 913966.2480
     2020-01-22 23:23:43   2020-01-01_07-59-59__1__SMA_Energymeter__sum_hour_Einspeisung_Wirkleistung_Zaehler 913966.2480
     2020-01-22 23:23:43   2020-01-01_08-00-01__1__SMA_Energymeter__sum_hour_Einspeisung_Wirkleistung_Zaehler 913966.2954
     2020-01-22 23:23:43   2020-01-01_08-59-59__1__SMA_Energymeter__sum_hour_Einspeisung_Wirkleistung_Zaehler 913966.2954
     2020-01-22 23:23:43   2020-01-01_09-00-01__1__SMA_Energymeter__sum_hour_Einspeisung_Wirkleistung_Zaehler 898751.7360
     2020-01-22 23:23:43   2020-01-01_09-59-59__1__SMA_Energymeter__sum_hour_Einspeisung_Wirkleistung_Zaehler 898751.7360
     2020-01-22 23:23:43   2020-01-01_10-00-01__1__SMA_Energymeter__sum_hour_Einspeisung_Wirkleistung_Zaehler 914081.0231
     2020-01-22 23:23:43   2020-01-01_10-59-59__1__SMA_Energymeter__sum_hour_Einspeisung_Wirkleistung_Zaehler 914081.0231
     2020-01-22 23:23:43   2020-01-01_11-00-01__1__SMA_Energymeter__sum_hour_Einspeisung_Wirkleistung_Zaehler 914235.4951
     2020-01-22 23:23:43   2020-01-01_11-59-59__1__SMA_Energymeter__sum_hour_Einspeisung_Wirkleistung_Zaehler 914235.4951
     2020-01-22 23:23:43   2020-01-01_12-00-01__1__SMA_Energymeter__sum_hour_Einspeisung_Wirkleistung_Zaehler 914377.0826
     2020-01-22 23:23:43   2020-01-01_12-59-59__1__SMA_Energymeter__sum_hour_Einspeisung_Wirkleistung_Zaehler 914377.0826


Ich habe jeweils eine Sekunde am Anfang/Ende versetzt um eine gute Abgrenzung zu haben.
Probier mal wie es nun aussieht. Liegt wieder in meinem contrib.

LG,
Heiko 
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

stefanru

Oh cool, das ist genau was ich brauche.
Ich teste es heute Abend.

Danke,
Stefan

stefanru

Hi Heiko,

habs gerade getestet.

Hatte noch ein Problem, das aber einfach zu beheben war.
Hatte die Wochensummen aus den Tagessummen gebildet, anstatt die Einzelwerte zu nehmen.
Somit war die Wochensumme doppelt. Da die Tagessummen ja 2 x geschrieben werden.

Habe bei der Wochensummen nun nicht mehr die Tagessummen sondern die Einzelwerte und es geht.

Das ist wirklich toll!

Eine Sache fällt mir immer noch auf, aber eventuell lese ich den Plot auch falsch. (siehe Bild)
Der Tagesplot (diese Woche) sieht super aus (Montag - Donnerstag).
Unten im Wochenplot sieht es für mich so aus als wären die Tage (rot) und auch der Wochenbeginn (blau) um einen Tag verschoben.
Also starten erst Dienstag.

Die gestrichelte linie im Plot zeigt doch Ende Sonntag und Anfang Montag, oder?


Hier mal die Werte der Plots:
Tagesplot (dort ist alles gut, Montag ist Montag):

2020-01-20_00:00:01 8.85388888888889
2020-01-20_23:59:59 8.85388888888889
2020-01-21_00:00:01 8.33833333333333
2020-01-21_23:59:59 8.33833333333333
2020-01-22_00:00:01 10.6536111111111
2020-01-22_23:59:59 10.6536111111111
2020-01-23_00:00:01 9
2020-01-23_23:59:59 9


Wochenplot

2020-01-01_00:00:01 24.1413888888889
2020-01-05_23:59:59 24.1413888888889
2020-01-06_00:00:01 45.4480555555556
2020-01-12_23:59:59 45.4480555555556
2020-01-13_00:00:01 44.0680555555556
2020-01-19_23:59:59 44.0680555555556
2020-01-20_00:00:01 36.8458333333333
2020-01-23_23:59:59 36.8458333333333
#geofancy:sum_week_lastPosDur_rr_Stefan:::$val=$val/3600
2020-01-01_00:00:01 8
2020-01-01_23:59:59 8
2020-01-02_00:00:01 8
2020-01-02_23:59:59 8
2020-01-03_00:00:01 8.14138888888889
2020-01-03_23:59:59 8.14138888888889
2020-01-04_00:00:01 0
2020-01-04_23:59:59 0
2020-01-05_00:00:01 0
2020-01-05_23:59:59 0
2020-01-06_00:00:01 8
2020-01-06_23:59:59 8
2020-01-07_00:00:01 9.98472222222222
2020-01-07_23:59:59 9.98472222222222
2020-01-08_00:00:01 7.13888888888889
2020-01-08_23:59:59 7.13888888888889
2020-01-09_00:00:01 10
2020-01-09_23:59:59 10
2020-01-10_00:00:01 10.3244444444444
2020-01-10_23:59:59 10.3244444444444
2020-01-11_00:00:01 0
2020-01-11_23:59:59 0
2020-01-12_00:00:01 0
2020-01-12_23:59:59 0
2020-01-13_00:00:01 9.50555555555556
2020-01-13_23:59:59 9.50555555555556
2020-01-14_00:00:01 8.62111111111111
2020-01-14_23:59:59 8.62111111111111
2020-01-15_00:00:01 9
2020-01-15_23:59:59 9
2020-01-16_00:00:01 7.94027777777778
2020-01-16_23:59:59 7.94027777777778
2020-01-17_00:00:01 9.00111111111111
2020-01-17_23:59:59 9.00111111111111
2020-01-18_00:00:01 0
2020-01-18_23:59:59 0
2020-01-19_00:00:01 0
2020-01-19_23:59:59 0
2020-01-20_00:00:01 8.85388888888889
2020-01-20_23:59:59 8.85388888888889
2020-01-21_00:00:01 8.33833333333333
2020-01-21_23:59:59 8.33833333333333
2020-01-22_00:00:01 10.6536111111111
2020-01-22_23:59:59 10.6536111111111
2020-01-23_00:00:01 9
2020-01-23_23:59:59 9
#geofancy:sum_day_lastPosDur_rr_Stefan:::$val=$val/3600


Also wenn ich mir die Werte anschaue ist das eindeutig verschoben. Oder ist die gestrichelte linie der Anfang vom Sonntag?
Mit dieser Verschiebung könnte ich aber auch leben :-)

Gruß und vielen vielen Dank,
Stefan

DS_Starter

Hallo Stefan,

sieht für mich gut aus. Die preprocessed Wochenwerte habe ich verglichen und die stimmen.
Im Anhang noch ein Bild, wo ich dir den Beginn der Tage mal eingezeichnet habe.
Das einzige was mich stört ist, dass die blaue Wochenlinie am Anfang vom Samstag 18.01. nicht auf 0 geht so wie die preprocessed Werte es zeigen. Aber das ist eine Anzeigesache.

Denke das können wir als Standard einchecken.  :)

LG,
Heiko


Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

stefanru

Ok,

dann habe ich das falsch gesehen. Ich dachte an der gestrichelten Linie beginnt die Woche, also Anfang Montag.
So wie du es eingezeichnet hast passt es. Dann find ich aber die gestrichelte Linie falsch. Warum sollte die Anfang Sonntag sein?

Die blaue Woche kann nicht SA auf 0 gehen da sie von Montag 00:01 bis Sontag 23:59 gespeichert ist.
Das sind die 4 Werte oben im preprocesed bei den Wochen Werten.
Die unten sind die Tageswerte da ist am 18.01. eine 0.
Der Wochenwert der über den 18en geht ist das:
2020-01-13_00:00:01 44.0680555555556
2020-01-19_23:59:59 44.0680555555556

Von der DB Seite stimmt aber alles, die Werte passen perfekt. Das kannst du einchecken.

Wie gesagt, ich weiß garnicht wie ich dir danken kann.

Gruß,
Stefan

DS_Starter

Bitte Stefan, wieder ein Mehrwert für den User ...

Ich habe hier https://forum.fhem.de/index.php/topic,53584.msg1016388.html#msg1016388 noch eine Nachbesserung für PostgreSQL. Wenn ich damit durch bin checke ich die neue Version ein.

Grüße,
Heiko

Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

stefanru

Alles klar,
hat ja keine Eile, zumal ich ja deine Repo Version jetzt erstmal benutzen kann :-)

Danke für deine Mühe,
Stefan

stefanru

Hi Heiko,

hab doch noch ein kleines Problem entdeckt.
Beim Wochenzeit berechnen setzt er den Ende Zeitstempel auf den Tag der Abfrage und nicht aufs Ende der Woche.
Was dazu führt wenn man für die aktuelle Woche Montags, Dienstags, Mittwochs, ... jeweils einen lauf macht um eine aktuelle Summe zu bekommen, man jeden Tag einen Wert um 23:59 hat.

Beispiel:
2020-01-20_00:00:01 45.7069444444444  => Anfang der Woche (Montag)
2020-01-23_23:59:59 36.8458333333333  => Ein Lauf am Donnerstag mit aggregation week
2020-01-24_23:59:59 45.7069444444444  => Ein Lauf am Freitag mit aggregation week

Ich denke bei aggregation week müsste immer der kommende Sonntag 23:59 als Endpunkt genommen werden.
Also im Beispiel sollte es nur einen Wert geben und zwar 26.01. 23:59

Richtig?

Gruß,
Stefan