Neues Modul 98_FileLogConvert.pm - FileLog Import in DbLog und mehr

Begonnen von DeeSPe, 04 Februar 2017, 12:20:07

Vorheriges Thema - Nächstes Thema

Commander

Supi genau soetwas habe ich gesucht. Leider bekomme ich folgende Fehlermeldung nach dem runterladen und reload Befehl:

syntax error at ./FHEM/98_FileLogConvert.pm line 8, near "<"
Unknown regexp modifier "/t" at ./FHEM/98_FileLogConvert.pm line 9, at end of line
Unknown regexp modifier "/t" at ./FHEM/98_FileLogConvert.pm line 9, at end of line
Unknown regexp modifier "/e" at ./FHEM/98_FileLogConvert.pm line 9, at end of line
syntax error at ./FHEM/98_FileLogConvert.pm line 15, near "-->"
syntax error at ./FHEM/98_FileLogConvert.pm line 32, near "$(".trac-autofocus""
syntax error at ./FHEM/98_FileLogConvert.pm line 33, near "$(".trac-target-new""
syntax error at ./FHEM/98_FileLogConvert.pm line 34, near ") {"
syntax error at ./FHEM/98_FileLogConvert.pm line 35, near "$(".trac-disable-on-submit""
syntax error at ./FHEM/98_FileLogConvert.pm line 38, near ""text/javascript" src"
./FHEM/98_FileLogConvert.pm has too many errors.


Was mache ich falsch?
FHEM5.6 auf Intel NUC NUC5PPYH
HM-CFG-USB-2 / HMLAN
CUL 433 CUL 868 / WMBus_T (Techem) JeeLink
MAX! Cube,Logitech Harmony Hub,Philips Hue

funkner

Hast du die aktuellste Version heruntergeladen?

Gesendet von meinem ONEPLUS A3003 mit Tapatalk


supergrobi

Zitat von: supergrobi am 07 Oktober 2017, 19:29:01
Hallo Forum,
ich bin Anfänger und kürzlich (vor ca. 4 Tagen) auf DbLog umgestiegen. habe mir dann auch das hier vorgestellte LogConvert eingebunden und benutzt. Ich habe einige Logfiles, die ich gerne importieren möchte. Das analysieren funktioniert und importieren scheint auch zu funktionieren.
Die DB wird immer größer. bin jetzt bei ~700 MB mit einigen importierten files. Jedoch scheint es so, als wenn bei jedem importierten File alle Daten von vorher unbrauchbar gemacht werden. Aufgegfallen ist mir dies, als ich mir die Plots ansehen wollte. Auch aktuelle Daten sind dann nur noch von 1-2h vorhanden und natürlich alle von dem gerade importierten File, aber keine von den vorigen. Ich kenne mich leider nicht so gut mit Datenbanken aus. Habe mir das DB-File aber mal aus dem FHEM runter geladen und mit DB-Browser angesehen. In der History Tabelle hab ich 722071 Einträge. Das zuletzt importierte File hatte ~600000, das davor auch ~600000 und das davor auch > 500000 usw. Die Current Tabelle hat 1166 Einträge.
Wo sind die Daten geblieben ? Gibt es irgend ein Reparatur Tool ?

gruß
Thomas

Nachdem ich die Datenbank nochmal gelöscht und neu angelegt habe scheint es jetzt zu funktionieren. 
Danke

supergrobi

#48
Zitat von: supergrobi am 18 Oktober 2017, 21:24:50
Nachdem ich die Datenbank nochmal gelöscht und neu angelegt habe scheint es jetzt zu funktionieren. 
Danke

zu früh gefreut...
nachdem ich heute wärend des Imports die Plots geöffnet hatte, wurde die DB wieder abgeschossen.
diesmal hatte ich zumindest ein Backup von gestern...
im Log gibt es dann Meldungen wie


2017.10.18 21:40:43 2: DBLog error: disk I/O error
2017.10.18 21:40:43 2: DBLog retry failed.
2017.10.18 21:54:05 2: DBLog error: database disk image is malformed
2017.10.18 21:54:05 2: DBLog retry failed.


Edit: Hiermit hat es angefangen:

2017.10.18 21:35:30 3: Defining DbLog SVG-Plots with :CURRENT is deprecated. Please define DbLog SVG-Plots with :HISTORY instead of :CURRENT. (define <mySVG> SVG <DbLogDev>:<gplotfile>:HISTORY)

die zuvor genannten Meldungen kamen nachdem ich FHEM mit Shutdown restart neu gestartet hatte...

supergrobi

... und wieder ist die DB Abgeschossen...
diesmal sind keine Tables mehr vorhanden.

sqlite> .tables
...bringt keine reaktion, genauso wie
sqlite> .schema

sqlite> .fullschema
/* No STAT tables available */

...hilft auch nicht mehr...
ich kann nicht sagen, ob es an SQLite liegt, oder am Modul

Ich werd mein Glück mit MySQL versuchen...

DeeSPe

Zitat von: supergrobi am 20 Oktober 2017, 22:25:30
... und wieder ist die DB Abgeschossen...
diesmal sind keine Tables mehr vorhanden.

sqlite> .tables
...bringt keine reaktion, genauso wie
sqlite> .schema

sqlite> .fullschema
/* No STAT tables available */

...hilft auch nicht mehr...
ich kann nicht sagen, ob es an SQLite liegt, oder am Modul

Ich werd mein Glück mit MySQL versuchen...

Am Modul kann es eigentlich nicht liegen denn es nutzt die Funktion DbLog_ExecSQL aus dem DbLog Modul um die Daten in die Datenbank zu schreiben.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

supergrobi

Zitat von: DeeSPe am 23 Oktober 2017, 11:02:06
Am Modul kann es eigentlich nicht liegen denn es nutzt die Funktion DbLog_ExecSQL aus dem DbLog Modul um die Daten in die Datenbank zu schreiben.

Gruß
Dan

Hallo Dan,

das denke ich auch...  das SQLite scheint zu instabil zu sein.
Ich habe jetzt MySQL installiert, das läuft einwandfrei. Allerdings benötigte hier auch nicht die import funktion. Hab alle files als CSv exportiert und dann über HeidiSQL importiert. Wofür ich vorher mehr als eine Woche gebraucht hatte, ging so innerhalb eines halben Tages...

Leider ist der Raspi für MySQL zu schwach... :(
Ich versuche jetzt TinkerBoard...

lg

screetch82

Zitat von: Commander am 13 Oktober 2017, 20:07:05
Supi genau soetwas habe ich gesucht. Leider bekomme ich folgende Fehlermeldung nach dem runterladen und reload Befehl:

syntax error at ./FHEM/98_FileLogConvert.pm line 8, near "<"
Unknown regexp modifier "/t" at ./FHEM/98_FileLogConvert.pm line 9, at end of line
Unknown regexp modifier "/t" at ./FHEM/98_FileLogConvert.pm line 9, at end of line
Unknown regexp modifier "/e" at ./FHEM/98_FileLogConvert.pm line 9, at end of line
syntax error at ./FHEM/98_FileLogConvert.pm line 15, near "-->"
syntax error at ./FHEM/98_FileLogConvert.pm line 32, near "$(".trac-autofocus""
syntax error at ./FHEM/98_FileLogConvert.pm line 33, near "$(".trac-target-new""
syntax error at ./FHEM/98_FileLogConvert.pm line 34, near ") {"
syntax error at ./FHEM/98_FileLogConvert.pm line 35, near "$(".trac-disable-on-submit""
syntax error at ./FHEM/98_FileLogConvert.pm line 38, near ""text/javascript" src"
./FHEM/98_FileLogConvert.pm has too many errors.


Was mache ich falsch?

ich bekomme die gleiche Meldung. Das Modul habe ich von aus dem SVN link runtergeladen.

DeeSPe

Zitat von: screetch82 am 10 November 2017, 09:52:51
ich bekomme die gleiche Meldung. Das Modul habe ich von aus dem SVN link runtergeladen.

Du hast die HTML-Datei heruntergeladen. ;)

Damit sollte es gehen.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Loetkolben

Hallo,

habe das Modul erfolgreich installiert, jedoch weigert es sich meine Logfiles zu importieren und auch die Umwandlung in CSV und SQL geht nicht.
Bei meinen Versuchen habe ich zum Spass mal Logfiles genommen die ich eigentlich nicht importieren möchte und diese als CSV und SQL exportiert.
Komischerweise hat es da funktioniert.

Dann habe ich mir die beiden Logfiles mal angesehen und dabei festgestellt das in den Logfiles die nicht funktionieren ein Device mit "Punkt" im Namen vorkommen.
Also, Logfile editiert und die Punkte durch "_" ersetzt.  Siehe da, schon funktioniert es.

Beispiel:

2017-11-11_23:32:03 Stromkalkulation CN_Stromzaehler_countsOverall_EnergyDay: 18.953
2017-11-11_23:32:03 Stromkalkulation CN_Stromzaehler_countsOverall_EnergyMonth: 152.555
2017-11-12_00:00:00 Stromkalkulation CN_Stromzaehler_countsOverall_EnergyDayLast: 19.140
2017-11-13_00:00:02 Stromkalkulation CN_Stromzaehler_countsOverall_EnergyDayLast: 13.901
2017-11-14_00:00:00 Stromkalkulation CN_Stromzaehler_countsOverall_EnergyDayLast: 15.462
2017-11-15_00:00:03 Stromkalkulation CN_Stromzaehler_countsOverall_EnergyDayLast: 20.714
2017-11-16_00:00:00 Stromkalkulation CN_Stromzaehler_countsOverall_EnergyDayLast: 12.088
2017-11-16_13:48:05 Stromkalkulation CN_Stromzaehler_countsOverall_PowerDayAver: 0.000

... funktionert

2017-11-11_23:32:03 Stromkalkulation CN.Stromzaehler_countsOverall_EnergyDay: 18.953
2017-11-11_23:32:03 Stromkalkulation CN.Stromzaehler_countsOverall_EnergyMonth: 152.555
2017-11-12_00:00:00 Stromkalkulation CN.Stromzaehler_countsOverall_EnergyDayLast: 19.140
2017-11-13_00:00:02 Stromkalkulation CN.Stromzaehler_countsOverall_EnergyDayLast: 13.901
2017-11-14_00:00:00 Stromkalkulation CN.Stromzaehler_countsOverall_EnergyDayLast: 15.462
2017-11-15_00:00:03 Stromkalkulation CN.Stromzaehler_countsOverall_EnergyDayLast: 20.714
2017-11-16_00:00:00 Stromkalkulation CN.Stromzaehler_countsOverall_EnergyDayLast: 12.088
2017-11-16_13:48:05 Stromkalkulation CN.Stromzaehler_countsOverall_PowerDayAver: 0.000

... funktioniert nicht

Kann das Modul nicht mit Device-Namen umgehen die einen Punkt haben?

   Andreas
1x Pi3, 1x Pi4, CUL V3, miniCUL433+868, IKEA-Steckdosen, sonoff, shelly1, Conbee II, div. Zigbee-Leuchten, Alexa, Homematic, Tablet UI

DeeSPe

Zitat von: Loetkolben am 25 November 2017, 14:51:42
Hallo,

habe das Modul erfolgreich installiert, jedoch weigert es sich meine Logfiles zu importieren und auch die Umwandlung in CSV und SQL geht nicht.
Bei meinen Versuchen habe ich zum Spass mal Logfiles genommen die ich eigentlich nicht importieren möchte und diese als CSV und SQL exportiert.
Komischerweise hat es da funktioniert.

Dann habe ich mir die beiden Logfiles mal angesehen und dabei festgestellt das in den Logfiles die nicht funktionieren ein Device mit "Punkt" im Namen vorkommen.
Also, Logfile editiert und die Punkte durch "_" ersetzt.  Siehe da, schon funktioniert es.

Beispiel:

2017-11-11_23:32:03 Stromkalkulation CN_Stromzaehler_countsOverall_EnergyDay: 18.953
2017-11-11_23:32:03 Stromkalkulation CN_Stromzaehler_countsOverall_EnergyMonth: 152.555
2017-11-12_00:00:00 Stromkalkulation CN_Stromzaehler_countsOverall_EnergyDayLast: 19.140
2017-11-13_00:00:02 Stromkalkulation CN_Stromzaehler_countsOverall_EnergyDayLast: 13.901
2017-11-14_00:00:00 Stromkalkulation CN_Stromzaehler_countsOverall_EnergyDayLast: 15.462
2017-11-15_00:00:03 Stromkalkulation CN_Stromzaehler_countsOverall_EnergyDayLast: 20.714
2017-11-16_00:00:00 Stromkalkulation CN_Stromzaehler_countsOverall_EnergyDayLast: 12.088
2017-11-16_13:48:05 Stromkalkulation CN_Stromzaehler_countsOverall_PowerDayAver: 0.000

... funktionert

2017-11-11_23:32:03 Stromkalkulation CN.Stromzaehler_countsOverall_EnergyDay: 18.953
2017-11-11_23:32:03 Stromkalkulation CN.Stromzaehler_countsOverall_EnergyMonth: 152.555
2017-11-12_00:00:00 Stromkalkulation CN.Stromzaehler_countsOverall_EnergyDayLast: 19.140
2017-11-13_00:00:02 Stromkalkulation CN.Stromzaehler_countsOverall_EnergyDayLast: 13.901
2017-11-14_00:00:00 Stromkalkulation CN.Stromzaehler_countsOverall_EnergyDayLast: 15.462
2017-11-15_00:00:03 Stromkalkulation CN.Stromzaehler_countsOverall_EnergyDayLast: 20.714
2017-11-16_00:00:00 Stromkalkulation CN.Stromzaehler_countsOverall_EnergyDayLast: 12.088
2017-11-16_13:48:05 Stromkalkulation CN.Stromzaehler_countsOverall_PowerDayAver: 0.000

... funktioniert nicht

Kann das Modul nicht mit Device-Namen umgehen die einen Punkt haben?

   Andreas

Davicenamen mit Punkten sind schon mehrfach negativ aufgefallen.
Ich wüsste im Moment nicht warum das hier kritisch sein könnte, aber ich schaue mir das bei Gelegenheit mal an.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

funkner

Zitat von: DeeSPe am 25 November 2017, 18:40:21
Davicenamen mit Punkten sind schon mehrfach negativ aufgefallen.
Ich wüsste im Moment nicht warum das hier kritisch sein könnte, aber ich schaue mir das bei Gelegenheit mal an.

Gruß
Dan

Hallo Dan,
ich hab testweise die beiden RexEx-Muster (Zeile 219 und 233) folgendermaßen geändert.


aus
next unless ($line =~ /^(\d{4}-\d{2}-\d{2})_(\d{2}:\d{2}:\d{2})\s([A-Za-z0-9._]+)\s([A-Za-z0-9_-]+):\s(\S+)(\s.*)?$/
wird
next unless ($line =~ /^(\d{4}-\d{2}-\d{2})_(\d{2}:\d{2}:\d{2})\s([A-Za-z0-9._]+)\s([A-Za-z0-9._-]+):\s(\S+)(\s.*)?$/

aus
if ($line =~ /^(\d{4}-\d{2}-\d{2})_(\d{2}:\d{2}:\d{2})\s([A-Za-z0-9._]+)\s([A-Za-z0-9_-]+):\s(\S+)(\s.*)?$/)
wird
if ($line =~ /^(\d{4}-\d{2}-\d{2})_(\d{2}:\d{2}:\d{2})\s([A-Za-z0-9._]+)\s([A-Za-z0-9._-]+):\s(\S+)(\s.*)?$/)


Kannst du die Änderungen bitte verifizieren und gegebenenfalls übernehmen?

DeeSPe

Zitat von: funkner am 26 November 2017, 00:32:42
Hallo Dan,
ich hab testweise die beiden RexEx-Muster (Zeile 219 und 233) folgendermaßen geändert.


aus
next unless ($line =~ /^(\d{4}-\d{2}-\d{2})_(\d{2}:\d{2}:\d{2})\s([A-Za-z0-9._]+)\s([A-Za-z0-9_-]+):\s(\S+)(\s.*)?$/
wird
next unless ($line =~ /^(\d{4}-\d{2}-\d{2})_(\d{2}:\d{2}:\d{2})\s([A-Za-z0-9._]+)\s([A-Za-z0-9._-]+):\s(\S+)(\s.*)?$/

aus
if ($line =~ /^(\d{4}-\d{2}-\d{2})_(\d{2}:\d{2}:\d{2})\s([A-Za-z0-9._]+)\s([A-Za-z0-9_-]+):\s(\S+)(\s.*)?$/)
wird
if ($line =~ /^(\d{4}-\d{2}-\d{2})_(\d{2}:\d{2}:\d{2})\s([A-Za-z0-9._]+)\s([A-Za-z0-9._-]+):\s(\S+)(\s.*)?$/)


Kannst du die Änderungen bitte verifizieren und gegebenenfalls übernehmen?

Hab's mal mit Änderungen der RegEx eingecheckt.
Danke für den Hinweis.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Loetkolben

Hallo,

mit der Anpassung funktioniert es.  Danke.


   Andreas
1x Pi3, 1x Pi4, CUL V3, miniCUL433+868, IKEA-Steckdosen, sonoff, shelly1, Conbee II, div. Zigbee-Leuchten, Alexa, Homematic, Tablet UI

Fredi69

Erst einmal vielen Dank für das Modul.
Ich habe bereits einige Log Files in my DBLog importiert.
Ein File wurde nicht komplett importiert, wie kann ich diesen erneut importieren?
fhem auf Raspberry Pi 3
FRITZ!Box7490, Fritz!Box 3270 AP, 3xHMLAN, CUL868, nanoCUL 433 für IT, JeeLink für LaCrosse, HUE Bridge 2.0, Samsung UE46C8790 (STV), mehrere Homematic, Intertechno, Shelly und LaCrosse Komponenten