DBLog - reducelog Bearbeitungszeitraum einschränken

Begonnen von KernSani, 08 April 2018, 22:42:43

Vorheriges Thema - Nächstes Thema

KernSani

Hi Heiko,

im Anfängerforum wurde kürzlich schonmal die Frage gestellt, ich denke aber, thematisch passt es hier besser hin. Reducelog läuft bei mir wöchentlich. Dabei werden die Datensätze einer Woche des vergangenen Monats tatsächlich reduziert und Datensätze aus ca. 4 weiteren Jahren unnötig bearbeitet (die bereits reduziert sind). Wäre es nicht sinnvoll einen weiteren Aufrufparameter neben <n> bereitzustellen, mit dem der Zeitraum eingeschränkt werden kann (in meinem Fall aslo <n>+7>?
Ich habe mir einen Hack hart codiert:

               $sth_get  = $dbh->prepare("SELECT TIMESTAMP,DEVICE,'',READING,VALUE FROM history WHERE "
                           .($a[-1] =~ /^INCLUDE=(.+):(.+)$/i ? "DEVICE like '$1' AND READING like '$2' AND " : '')
            ."TIMESTAMP < $cmd AND TIMESTAMP >= $cmd2 ORDER BY TIMESTAMP ASC");  # '' was EVENT, no longer in use
     };
   
mit $cmd2 = 7 Tage vor $cmd. Damit braucht reducelog jetzt eine halbe Minute statt einer halben Stunde... Spricht aus deiner Sicht irgendwas dagegen, so vorzugehen?
Ich kann das gerne so anpassen, dass das als Parameter übergeben wir und einen patch bereitstellen.

Grüße,

Oli
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

DS_Starter

Hi Oli,

habe den Post jetzt erst gesehen. (komisch, manchmal scheint dasmit der email bei neuen posts nicht zu klappen).
Ich habe gerade zwei Änderungen in dblog die ich gern erstmal einchecken möchte.
Danach würde ich mir die Sache anschauen und selbst mal testen.
Oder du wartest kurz bis ich dblog wieder einchecke um den patch zu machen  ;)
Aber sollten wir hinbekommen....

LG,
Heiko
ESXi@NUC+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

bobyg

Hallo,

diese Funktion wünsche ich mir auch schon seit längerem. Und mit zunehmenden Datensätzen immer dringender.
Wie ist der momentane Stand?
Ich habe mir jetzt auch die Funktion "hard coded", würde mich aber freuen wenn es diese "out of the box" gäbe :)

Viele Grüße

DS_Starter

Muß gestehen, dass ich das Thema vergessen hatte. Gut das du nachfragst.
Habe es jetzt auf meine ToDo-Liste gesetzt und melde mich wieder dazu wenn das Wetter "programmierfreundlicher" ist  ;)

VG
Heiko
ESXi@NUC+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

DS_Starter

Hallo zusammen,

ich habe mal etwas an meiner ToDo-Liste gearbeitet und die Erweiterung von KernSani in eine für das Modul passende Form gebracht.
Es kann nun optional auch die Anzahl der Tage angegeben werden die neuer sind als das aktuelle Datum.
Die Syntax für das reduce sieht nun so aus:

set <name> reduceLog(Nbl) <no>[:<nn>] [average[=day]] [exclude=device1:reading1,device2:reading2,...]

    Reduziert historische Datensätze, die älter sind als <no> Tage und (optional) neuer sind als <nn> Tage auf einen Eintrag (den ersten) pro Stunde je Device & Reading.
    Innerhalb von device/reading können SQL-Wildcards "%" und "_" verwendet werden.
    ....

Das heißt,  die Angabe "set <name> reduceLog(Nbl) 100:105" berücksichtigt Einträge die älter als 100 und neuer als 105 Tage  (inklusive dem 105. Tag) sind.

Die Version könnt ihr aus contrib herunterladen:

https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Probierts mal bitte aus und gebt mir Bescheid ob euch etwas auffällt bzw. alles läuft.

LG,
Heiko

ESXi@NUC+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

DS_Starter

ESXi@NUC+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