93_DbLog - Überlegungen zur Optimierung (RPI und andere Systeme)

Begonnen von JoeALLb, 27 Januar 2017, 22:16:19

Vorheriges Thema - Nächstes Thema

DS_Starter

Ja  für die Zukunft würde ich es auch so machen. Ich dachte jetzt mit meiner Anmerkung eher an den bestehenden Sachverhalt.  ;)
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

Nighthawk

Hallo zusammen,

danke für die Rückmeldung.

Erwartet hätte ich eigentlich die Differenz des Tages, in etwa so:

2019-10-02 00:00:29 Stromzaehler OBIS total_consumption: 6.39221171 total_consumption 6.39221171
und
2019-10-02 23:59:56 Stromzaehler OBIS total_consumption: 14.2591381 total_consumption 14.2591381

also 14.2591381 - 6.39221171

Warum wird hier der Vortag mit herangezogen und kann ich da nicht über einfache Wertemanipulation in der DB das Ganze bereinigen (das wäre mir am liebsten)?

Gruß
Alex

PS
ich habe hier noch mal den SQL Export mit angehängt

DS_Starter

#842
Hallo Alex,

ZitatWarum wird hier der Vortag mit herangezogen ...
Zunächst mal sind es historische Gründe, d.h. man hatte sich irgenwann einmal entschlossen die Selektion so zu gestalten und ich möchte sie aus Kompatibilitätsgründen auch nicht komplett umstoßen.
Es erscheint mir auch logisch, da man z.B. auch keine realistischen Werte bekommt, wenn der Vortag mit einem niedrigen Wert endet, der neue Tag mit einem vergleichsweise hohen Wert beginnt und dieser vlt. sogar kaum eine Steigerung erfährt. Dann wäre die ausgegebene Diff sehr klein,  was nicht stimmt wenn man vom Vortageswert ausgeht.
(Joe wird sich vllt. noch erinnern wie wir am diffValue im DbRep gefeilt haben um die Logik auszuprägen 8) )

Es war bisher ebenfalls so implementiert, dass bei den Diff-Berechnungen die vorherige Periode, also Tag oder Stunde bei delta-h, mit berücksichtigt wurde. Kannst gerne mal einen Vergleich mit der aktuell offiziell eingecheckten Version 4.7.5 durchführen.

Die Werte nachträglich zu manipulieren wäre m.M. nach wie schon angedeutet mit einem diffValue (mit der aggregation day) im DbRep problemloas möglich. Das Ganze mit der Option "writeToDB". Dann hast du für jeden Tag die Differenz als fertigen Wert in der DB stehen und brauchst nur noch im SVG anzeigen. Die Definition kannst du z.B. jede Nacht (4:00)  für den Vortag laufen lassen. Man müsste das natürlich vorher auf einer TestDB laufen lassen ob das Ergebnis den Wünschen entspricht. Aber es wäre ein möglicher Weg denke ich.

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

Nighthawk

Hallo Heiko,

danke, ich versuche es mit DiffValue.

Gruß
Alex

DS_Starter

Hallo zusammen,

ich möchte nochmal die Bitte erneuern, die DbLog-Version aus meinem contrib zu testen. Ist jetzt vllt. nach den letzten Beiträgen etwas untergegangen.
Es ist die SVG Erstellung bzgl. delta-h und delta-d geändert.

Einfacher Download mit diesem Befehl in der FHEM Kommandozeile. Bitte so komplett mit den Ausführungszeichen am Anfang und Ende eingeben!!!

Zitat
"wget -qO ./FHEM/93_DbLog.pm https://svn.fhem.de/fhem/trunk/fhem/contrib/DS_Starter/93_DbLog.pm"

Grüße,
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

Nighthawk

Hallo Heiko,

läuft bei mir seit einigen Tagen ohne Auffälligkeiten.

Gruß
Alex

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

frober

Hallo Heiko,

auch bei mir sieht alles super aus, danke nochmal.

Gruß Bernd
Raspi 3b mit Raspbian Buster und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

DS_Starter

Danke Bernd !

Mal schauen ob sich noch Vertreter der SQLite und Postgre "Fraktion" melden.
Ansonsten checke ich die Version bald ein. Überlege nur noch den richtigen Zeitpunkt. Da ich in Kürze ein paar Tage Urlaub mache, wird es wahrscheinlich erst danach. Bei einer so zentralen Änderung möchte ich gerne verfügbar sein nach dem check-In .  :)

Grüße,
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

frober

Von mit aus, mach dir keinen Stress.
Genieße lieber den Urlaub.
Raspi 3b mit Raspbian Buster und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

Pyromane

Hallo Heiko,

Zitat von: DS_Starter am 19 Oktober 2019, 13:40:23Einfacher Download mit diesem Befehl in der FHEM Kommandozeile. Bitte so komplett mit den Ausführungszeichen am Anfang und Ende eingeben!!!
danke für den Tipp, der macht Tests soooooooooo viel einfacher!

ZitatMal schauen ob sich noch Vertreter der SQLite und Postgre "Fraktion" melden.
Ich habs bei meinem Testsystem eingespielt, sollte ich keinen Aufschrei tätigen hat wie gewohnt alles funktioniert :)

Wünsch einen schönen Urlaub.

Grüße
Pyro

DS_Starter

Guten Abend zusammen,

nach nun gut zweiwöchiger Testzeit habe ich soeben die DbLog-Version 4.8.0 eingecheckt und ist morgen früh im Regelupdate enthalten.

Danke an alle die mitgeholfen und getestet haben !!
Hoffen wir, dass es bei allen anderen Nutzern ebenfalls so gut läuft wie im Testerkreis.

Grüße und einen guten Wochenstart,
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 meine ToDo weiter abgearbeitet und Feature Request von obi aus #804 umgesetzt.
In der V 4.9.0 gibt es nun ein Attribut defaultMinInterval mit dem man global für alle Devices ein MinIntervall einstellen kann.

Auszug aus ComRef:

defaultMinInterval

    attr <device> defaultMinInterval <devspec>::<MinInterval>[::force],[<devspec>::<MinInterval>[::force]] ...

    Mit diesem Attribut wird ein Standard Minimum Intervall für devspec festgelegt. Ist defaultMinInterval angegeben, wird der Logeintrag nicht geloggt, wenn das Intervall noch nicht erreicht und der Wert des Readings sich nicht verändert hat. Ist der optionale Parameter "force" hinzugefügt, wird der Logeintrag auch dann nicht nicht geloggt, wenn sich der Wert des Readings verändert hat.
    Eventuell im Quelldevice angegebene Spezifikationen DbLogExclude / DbLogInclude haben Vorrag und werden durch defaultMinInterval nicht überschrieben.
    Die Eingabe kann mehrzeilig erfolgen.

    Beispiele
    attr dblog defaultMinInterval .*::120::force
    # Events aller Devices werden nur geloggt, wenn 120 Sekunden zum letzten Logeintrag vergangen sind ist (Reading spezifisch)
    attr dblog defaultMinInterval (Weather|SMA)::300
    # Events der Devices "Weather" und "SMA" werden nur geloggt wenn 300 Sekunden zum letzten Logeintrag vergangen sind (Reading spezifisch) und sich der Wert nicht geändert hat.
    attr dblog defaultMinInterval TYPE=CUL_HM::600::force
    # Events aller Devices des Typs "CUL_HM" werden nur geloggt, wenn 600 Sekunden zum letzten Logeintrag vergangen sind ist (Reading spezifisch)

Einfacher Download mit diesem Befehl in der FHEM Kommandozeile. Bitte so komplett mit den Ausführungszeichen am Anfang und Ende eingeben!!!

"wget -qO ./FHEM/93_DbLog.pm https://svn.fhem.de/fhem/trunk/fhem/contrib/DS_Starter/93_DbLog.pm"

Wer mag bitte mal testen.

LG und schönen Sonntag ...
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

Die neue Version mit den oben genannten Features sowie kleineren Korrekturen ist soeben in das Repository gewandert und ist morgen früh im Update enthalten.

Grüße,
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

firebladerx52

Ich glaub das Problem ist noch nicht ganz beseitigt.

Die Darstellung des Plot´s geht hervorragend.
Ich hab jedoch das Label son configuriert das ich dort die Maximal,-Minimal und Durchschnittswerte angezeigt bekomme.
Leider taucht hier wieder der Wert "-9.22337e+18" auf.
Ich hab hier mal zwei Bilder vom Plot mit Label und die Configuration vom Label.
Ein "Show preprocessed input" gibt folgendes aus:
Zitatget logdb HISTORY INT 2019-11-01_00:00:00 2019-11-30_23:59:59 HM_6CF841_IEC_01:kWh::delta-d

2019-11-02_12:00:00 11.9
2019-11-03_12:00:00 19.5
2019-11-04_12:00:00 12.9
2019-11-05_12:00:00 10.8
2019-11-06_12:00:00 10.2
2019-11-07_12:00:00 12.6
2019-11-08_12:00:00 18.2
2019-11-09_12:00:00 19.3
2019-11-10_12:00:00 18.6
2019-11-11_12:00:00 13.4
2019-11-12_12:00:00 9
2019-11-13_12:00:00 9.6
2019-11-14_12:00:00 9.4
2019-11-15_12:00:00 13.9
2019-11-16_12:00:00 21.5
2019-11-17_12:00:00 15.8
2019-11-18_12:00:00 12.8
2019-11-19_12:00:00 12.2
2019-11-20_12:00:00 4.5
#HM_6CF841_IEC_01:kWh::delta-d:

Hier ist mir aufgefallen das der Wert vom 01.11.2019 fehlt. Das ist jetzt nicht das Problem aber vieleicht ein entscheidender Hinweis.