Modul 93_DbRep - Reporting und Management von Datenbankinhalten (DbLog)

Begonnen von DS_Starter, 19 Mai 2016, 22:52:13

Vorheriges Thema - Nächstes Thema

DS_Starter

Hi Rainer,

nee, du hast natürlich vollkommen recht. Da habe ich beim Jahresverschieber doch tatsächlich Mist gebaut  :o
Weiß natürlich dass der Wertebereich 0-11 ist ... aber wenn man so beim proggen ist vergißt man das leicht.
Ich fixe das und checke es ein.

Danke und 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

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

blaxbox


DS_Starter

#543
Hallo zusammen,

in V7.3.0 habe ich die exportToFile-, importFromFile-Funktion verbessert.

Beim Export wird ein Zeichenfilter verwendet der Steuerzeichen/Umbrüche und dgl. entfernt die beim Import Probleme bereiten können.
Weiterhin ist die Speicherverwendung verbessert. Werden sehr viele Daten aus großen Datenbanken exportiert, konnte es bisher zum "died prematurely" Fehler kommen. In der neuen Version kann das verhindert werden indem man das Attribut "aggregation" setzt. Dadurch werden die zu exportierenden Daten in Zeitscheiben (z.B. Monatsscheiben bei aggregation=month) aus der DB selektiert und in das Exportfile geschrieben.
Beim Import wird bei einem eventuellen Formatfehler wie bisher die Zeilennummer und zusätzlich das fehlerhafte Feld (z.B. reading) ausgegeben.

viele 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

ioT4db

Hallo Heiko,

nachdem ich heute FHEM wieder mal ein "update" verpasst habe, gibt es bei mir dieses Problem:

Auszug aus dem Log:
"Please define DBAgent first"

DBAgent ist mein DbRep-Device, welches als "Agent" fungiert.

Die beim Update eingespielte Version war 7.2.1. Meine DbRep-Version zuvor, also mit der es noch lief, war 6.4.2.

Nachdem ich die Modulversion wieder auf den alten Stand gebracht hatte, läuft es nun wieder.

Hier noch ein paar Infos, die ich bei der Fehlersuche sammeln konnte:

Ein "reload" des Moduls (V7.2.1) brachte im Event Monitor folgendes:
syntax error at ./FHEM/93_DbRep.pm line 6394, near "$h{"
Global symbol "$h" requires explicit package name at ./FHEM/93_DbRep.pm line 6396.
Global symbol "$h" requires explicit package name at ./FHEM/93_DbRep.pm line 6396.
Global symbol "$h" requires explicit package name at ./FHEM/93_DbRep.pm line 6396.
Global symbol "$h" requires explicit package name at ./FHEM/93_DbRep.pm line 6397.
Global symbol "$h" requires explicit package name at ./FHEM/93_DbRep.pm line 6397.
Global symbol "$h" requires explicit package name at ./FHEM/93_DbRep.pm line 6397.
Global symbol "$h" requires explicit package name at ./FHEM/93_DbRep.pm line 6400.
Global symbol "$h" requires explicit package name at ./FHEM/93_DbRep.pm line 6400.
Global symbol "$h" requires explicit package name at ./FHEM/93_DbRep.pm line 6401.
Global symbol "$h" requires explicit package name at ./FHEM/93_DbRep.pm line 6401.
Global symbol "$h" requires explicit package name at ./FHEM/93_DbRep.pm line 6402.
Global symbol "$hash" requires explicit package name at ./FHEM/93_DbRep.pm line 6406.
Global symbol "@rows" requires explicit package name at ./FHEM/93_DbRep.pm line 6408.
Global symbol "$hash" requires explicit package name at ./FHEM/93_DbRep.pm line 6409.
Global symbol "$hash" requires explicit package name at ./FHEM/93_DbRep.pm line 6410.
Global symbol "@rows" requires explicit package name at ./FHEM/93_DbRep.pm line 6420.
Global symbol "$hash" requires explicit package name at ./FHEM/93_DbRep.pm line 6426.
Global symbol "$hash" requires explicit package name at ./FHEM/93_DbRep.pm line 6427.
Global symbol "@rows" requires explicit package name at ./FHEM/93_DbRep.pm line 6427.
Global symbol "$hash" requires explicit package name at ./FHEM/93_DbRep.pm line 6429.
Global symbol "$hash" requires explicit package name at ./FHEM/93_DbRep.pm line 6430.
syntax error at ./FHEM/93_DbRep.pm line 6433, near "}"
./FHEM/93_DbRep.pm has too many errors.


Im Log stand:

2018.01.07 23:12:06 1: PERL WARNING: ^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE $/ at ./FHEM/01_FHEMWEB.pm line 2687.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine DbRep_Initialize redefined at ./FHEM/93_DbRep.pm line 290.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine DbRep_Define redefined at ./FHEM/93_DbRep.pm line 354.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine DbRep_Set redefined at ./FHEM/93_DbRep.pm line 392.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine DbRep_Get redefined at ./FHEM/93_DbRep.pm line 651.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine DbRep_Attr redefined at ./FHEM/93_DbRep.pm line 715.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine DbRep_Notify redefined at ./FHEM/93_DbRep.pm line 942.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine DbRep_Undef redefined at ./FHEM/93_DbRep.pm line 1013.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine DbRep_firstconnect redefined at ./FHEM/93_DbRep.pm line 1033.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine DbRep_Connect redefined at ./FHEM/93_DbRep.pm line 1061.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine DbRep_Main redefined at ./FHEM/93_DbRep.pm line 1099.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine createTimeArray redefined at ./FHEM/93_DbRep.pm line 1233.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine collaggstr redefined at ./FHEM/93_DbRep.pm line 1603.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine averval_DoParse redefined at ./FHEM/93_DbRep.pm line 1773.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine averval_ParseDone redefined at ./FHEM/93_DbRep.pm line 1901.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine count_DoParse redefined at ./FHEM/93_DbRep.pm line 1962.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine count_ParseDone redefined at ./FHEM/93_DbRep.pm line 2079.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine maxval_DoParse redefined at ./FHEM/93_DbRep.pm line 2143.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine maxval_ParseDone redefined at ./FHEM/93_DbRep.pm line 2318.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine minval_DoParse redefined at ./FHEM/93_DbRep.pm line 2384.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine minval_ParseDone redefined at ./FHEM/93_DbRep.pm line 2560.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine diffval_DoParse redefined at ./FHEM/93_DbRep.pm line 2626.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine diffval_ParseDone redefined at ./FHEM/93_DbRep.pm line 2900.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine sumval_DoParse redefined at ./FHEM/93_DbRep.pm line 2988.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine sumval_ParseDone redefined at ./FHEM/93_DbRep.pm line 3116.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine del_DoParse redefined at ./FHEM/93_DbRep.pm line 3177.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine del_ParseDone redefined at ./FHEM/93_DbRep.pm line 3250.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine insert_Push redefined at ./FHEM/93_DbRep.pm line 3307.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine insert_Done redefined at ./FHEM/93_DbRep.pm line 3402.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine currentfillup_Push redefined at ./FHEM/93_DbRep.pm line 3452.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine currentfillup_Done redefined at ./FHEM/93_DbRep.pm line 3619.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine devren_Push redefined at ./FHEM/93_DbRep.pm line 3669.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine devren_Done redefined at ./FHEM/93_DbRep.pm line 3769.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine fetchrows_DoParse redefined at ./FHEM/93_DbRep.pm line 3831.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine fetchrows_ParseDone redefined at ./FHEM/93_DbRep.pm line 3921.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine delseqdoubl_DoParse redefined at ./FHEM/93_DbRep.pm line 3989.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine delseqdoubl_ParseDone redefined at ./FHEM/93_DbRep.pm line 4173.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine expfile_DoParse redefined at ./FHEM/93_DbRep.pm line 4243.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine expfile_ParseDone redefined at ./FHEM/93_DbRep.pm line 4336.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine impfile_Push redefined at ./FHEM/93_DbRep.pm line 4385.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine impfile_PushDone redefined at ./FHEM/93_DbRep.pm line 4545.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine sqlCmd_DoParse redefined at ./FHEM/93_DbRep.pm line 4588.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine sqlCmd_ParseDone redefined at ./FHEM/93_DbRep.pm line 4700.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine dbmeta_DoParse redefined at ./FHEM/93_DbRep.pm line 4808.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine dbmeta_ParseDone redefined at ./FHEM/93_DbRep.pm line 5021.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine DbRep_optimizeTables redefined at ./FHEM/93_DbRep.pm line 5077.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine OptimizeDone redefined at ./FHEM/93_DbRep.pm line 5271.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine mysql_DoDumpClientSide redefined at ./FHEM/93_DbRep.pm line 5313.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine mysql_DoDumpServerSide redefined at ./FHEM/93_DbRep.pm line 5774.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine DumpDone redefined at ./FHEM/93_DbRep.pm line 5935.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine mysql_RestoreServerSide redefined at ./FHEM/93_DbRep.pm line 6002.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine RestoreDone redefined at ./FHEM/93_DbRep.pm line 6072.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine RestoreAborted redefined at ./FHEM/93_DbRep.pm line 6111.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine ParseAborted redefined at ./FHEM/93_DbRep.pm line 6134.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine DumpAborted redefined at ./FHEM/93_DbRep.pm line 6151.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine OptimizeAborted redefined at ./FHEM/93_DbRep.pm line 6187.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine createSelectSql redefined at ./FHEM/93_DbRep.pm line 6204.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine createDeleteSql redefined at ./FHEM/93_DbRep.pm line 6236.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine specsForSql redefined at ./FHEM/93_DbRep.pm line 6272.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine checktimeaggr redefined at ./FHEM/93_DbRep.pm line 6302.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine ReadingsSingleUpdateValue redefined at ./FHEM/93_DbRep.pm line 6335.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine ReadingsBulkUpdateValue redefined at ./FHEM/93_DbRep.pm line 6349.
2018.01.07 23:14:13 1: PERL WARNING: Subroutine ReadingsBulkUpdateTimeState redefined at ./FHEM/93_DbRep.pm line 6363.


Eine Idee, woran das liegen könnte?

VG
Daniel
FHEM auf Synology mittels Docker,  Jeelink-Clone 1x für PCA301 und 1x für Lacrosse, THZ304SOL, Homematic: CUL_HM / M-MOD-RPI-PCB, Pushover, Xiaomi s50

DS_Starter

Hallo Daniel,

inzwischen ist die 7.3.0 aktuell. Was mich wundert ist die Zeile 6394. Die sieht bei mir etwas anders aus.
Sei es drum, mach erstmal ein update auf die aktuelle V und Restart !

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

ioT4db

Hallo Heiko,

gerade eben auf die 7.3 ge-updatet. Leider gleiches Verhalten.

Was meinst Du mit: bei Zeile 6394 steht bei Dir was anderes drin? Bei gleicher Modulversion, sollte der code doch identisch sein.

VG...
FHEM auf Synology mittels Docker,  Jeelink-Clone 1x für PCA301 und 1x für Lacrosse, THZ304SOL, Homematic: CUL_HM / M-MOD-RPI-PCB, Pushover, Xiaomi s50

DS_Starter

#547
Die V7.3 läuft bei mir einwandfrei. Syntaxfehler bringt mein Sytem auch nicht raus.
Ich tippe mal stark auf perl version.

Kannst du mal bitte die Ausschrift des Syntaxfehlers wie er jetzt in V7.3 im Log erscheint und auch mal deine perl version posten ?
Könntest du denn auf deinem System perl updaten ?

Edit:. deine Frage habe ganz vergessen .... die Zeile ist geringfügig anders, etwa  %$h{, da fehlte mir das % . Habe es gerade nicht vor mir. Schaue ich heute Abend.  Ich glaube mit dieser Syntax hatte ich mit älteren Perl Versionen schonmal bisschen Stress.

Grüsse
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

ioT4db

also ich habe die Version 5.14.2.

die scheint schon etwas älter.

Ich dachte eigentlich immer, dass ich mit sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get autoremove -y && sudo reboot beim raspi unter Debian (wheezy) auch die Perl-Pakete aktuell halte  :-\ ???

Welche Version sollte man denn mindestens haben?

VG...
FHEM auf Synology mittels Docker,  Jeelink-Clone 1x für PCA301 und 1x für Lacrosse, THZ304SOL, Homematic: CUL_HM / M-MOD-RPI-PCB, Pushover, Xiaomi s50

DS_Starter

#549
Hallo Daniel,

ich habe die relevanten Zeile(n) nun so umgeschrieben dass sie auch für deine Version passen sollte -> V7.3.1 im ersten Beitrag.

Deine Version ist schon älter.
Deine Methode zum Update ist schon ok. Nach kurzer Überlegung ist es wohl so dass das Perl-Mainrelease an dem OS-Release des Herstellers hängt.
Also wheezy kommt mit perl-base 5.14 und jessie (habe ich) mit perl-base 5.20. Die wurde durch update mittlerweile auf 5.22 angehoben.
siehst du auch hier:

https://packages.debian.org/de/wheezy/perl
https://packages.debian.org/de/jessie/perl

Vielleicht fragst du nochmal in entsprechenden Unterforen, aber ohne BS-Upgrade wirst du wohl m.M. nach auch kein höheres Perl bekommen.

ZitatWelche Version sollte man denn mindestens haben?
Diesbezüglich hat man schonmal hier https://forum.fhem.de/index.php/topic,65154.msg563946.html#msg563946 diskutiert.
Mit deiner Version sollte das meiste funktionieren, es sei denn ein Modulauthor hat, wie ich gerade, eine Syntax verwendet die mit deiner Version nicht funktioniert. Das kann man ja wieder umschreiben.
Aber tendenziell wäre es sicherlich hilfreich wenn du mal eine Version mindestens 5.20 ins Auge fasst. Wenn man auf der Statistics-Seite schaut (https://fhem.de/stats/statistics.html) verwenden ca. 3/4 aller User Perl 5.20 und höher.

Sag mir dann bitte Bescheid ob es bei dir nun klappt !

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

viegener

Zitat von: DS_Starter am 08 Januar 2018, 18:36:56

Aber tendenziell wäre es sicherlich hilfreich wenn du mal eine Version mindestens 5.20 ins Auge fasst. Wenn man auf der Statistics-Seite schaut (https://fhem.de/stats/statistics.html) verwenden ca. 3/4 aller User Perl 5.20 und höher.


Nur als Anmerkung hier, da ich auch auf dem Produktivsystem noch wheezy und perl 5.14 einsetze. Gerade da es das Produktivsystem betrifft, gibt es vermutlich einige Leute, die dieses System (genau wie ich) auch noch einige Zeit weiterbetrieben möchten.

Schön, dass Du das 5.14 kompatibel gehalten hast, denn FHEM wird bei mir schon regelmässig auf neue Versionen gehoben...
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

DS_Starter

ZitatSchön, dass Du das 5.14 kompatibel gehalten hast, denn FHEM wird bei mir schon regelmässig auf neue Versionen gehoben...
Na klar, mache ich gerne  :)

Habe ich mit meiner Aussage recht dass das Perl Release am BS hängt, oder kennst du eine separate Perl-Upgrademöglichkeit ?
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

viegener

Zitat von: DS_Starter am 08 Januar 2018, 19:10:46
Na klar, mache ich gerne  :)

Habe ich mit meiner Aussage recht dass das Perl Release am BS hängt, oder kennst du eine separate Perl-Upgrademöglichkeit ?

Generell ist das wohl so bei Debian, es gibt wohl auch die Möglichkeit es upzugraden (ich habe da einen Verweis auf eine upgrade-Möglichkeit via cpan gefunden), aber ich würde das selber eher nicht machen (nicht-standard - bei Problemen steht man eher alleine da). Dann schon lieber ein Upgrade der Debian-Version, denn das haben viele gemacht...

Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

ioT4db

#553
Hallo Heiko,

mit der V7.3.1 läuft es nun wieder. Danke!

Also das mit den Perl-Versionen hatte ich so auch noch nicht aufm Schirm.

Zumal man als User eigentlich keine Chance hat zu sehen, ob ein etwaiges Problem bzw. Fehlermeldungen vlt. aus einer inkompatiblen Perl-Version kommt. Uiuiui, wird nie langweilig ;)

VG...
FHEM auf Synology mittels Docker,  Jeelink-Clone 1x für PCA301 und 1x für Lacrosse, THZ304SOL, Homematic: CUL_HM / M-MOD-RPI-PCB, Pushover, Xiaomi s50

DS_Starter

ZitatUiuiui, wird nie langweilig ;)

Nee, wird es nicht  8)

Ja, das ist so eine Sache. Dem Modulentwickler sollte es auffallen wenn du den Fehler mitteilst ... naja aber manchmal sieht man das auch nicht gleich und ist am Haare raufen ...

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