FHEM Forum

FHEM => Automatisierung => Thema gestartet von: Pyromane am 22 August 2015, 02:49:03

Titel: [gelöst] DBLog Fehler bei SVG Grafik
Beitrag von: Pyromane am 22 August 2015, 02:49:03
Hallo,

ich möchte gerne SVG Grafiken aus gespeicherten Daten(PostgreSQL Datenbank) erstellen, erhalte jedoch keine Devices zur Auswahl (siehe Anhang) sondern lediglich folgende Fehlermeldung im Log:
2015.08.18 23:45:25 1: PERL WARNING: DBD::Pg::st execute failed: ERROR:  column "current.value" must appear in the GROUP BY clause or be used in an aggregate function
LINE 1: select device,reading,value from current where device <> '' ...
                              ^ at /opt/fhem//FHEM/93_DbLog.pm line 1681.
2015.08.18 23:45:25 1: PERL WARNING: DBD::Pg::st fetchrow_array failed: no statement executing at /opt/fhem//FHEM/93_DbLog.pm line 1682.

In der besagten Zeile steht folgendes:
1678    my $dbhf = $defs{$dlName}{DBHF};
1679    my $query = "select device,reading,value from current where device <> '' group by device,reading order by device,reading";
1680    my $sth = $dbhf->prepare( $query ); 
1681    $sth->execute();



Wenn man die Spalte "value" mit in das GROUP BY mit aufnimmt erhält man Werte, wobei ich mir jedoch nicht sicher bin ob das die gewünschten sind. (Ich habe es nur in der SQL Konsole getestet, da ich die Auswirkungen in FHEM nicht abschätzen kann.)

Bitte um Unterstützung. Danke!
Titel: Antw:DBLog Fehler bei SVG Grafik
Beitrag von: Pyromane am 23 August 2015, 10:45:12
Da ich den Beitrag laut maintainer.txt im falschen Bereich eröffnet habe bitte nach Automatisierung verschieben. Danke!
Titel: Antw:DBLog Fehler bei SVG Grafik
Beitrag von: Tobias am 26 August 2015, 08:12:28
Bitte mal testen...

http://forum.fhem.de/index.php/topic,40176.msg326353.html#msg326353
Titel: Antw:DBLog Fehler bei SVG Grafik
Beitrag von: Pyromane am 26 August 2015, 21:46:13
Mal eben schnell eine VM zum Testen aufgesetzt und die Datenbank eingespielt.
Mit der orig. 93_DbLog.pm erhalte ich die im ersten Beitrag angeführte Fehlermeldung.
Mit der DbLog, welche zum Testen gedacht war, schaut das Logfile wie folgt aus:
2015.08.26 21:38:13 1: Including fhem.cfg
2015.08.26 21:38:13 3: telnetPort: port 7072 opened
2015.08.26 21:38:13 3: WEB: port 8083 opened
2015.08.26 21:38:13 2: eventTypes: loaded 2 events from ./log/eventTypes.txt
Scalar found where operator expected at ./FHEM/93_DbLog.pm line 43, near "$hash"
(Missing semicolon on previous line?)
"my" variable $hash masks earlier declaration in same scope at ./FHEM/93_DbLog.pm line 102, <$fh> line 33.
"state" variable @_ masks earlier declaration in same scope at ./FHEM/93_DbLog.pm line 102, <$fh> line 33.
2015.08.26 21:38:13 1: reload: Error:Modul 93_DbLog deactivated:
syntax error at ./FHEM/93_DbLog.pm line 43, near "$hash"
Global symbol "$hash" requires explicit package name at ./FHEM/93_DbLog.pm line 44, <$fh> line 33.
Global symbol "$hash" requires explicit package name at ./FHEM/93_DbLog.pm line 65, <$fh> line 33.
Global symbol "$hash" requires explicit package name at ./FHEM/93_DbLog.pm line 66, <$fh> line 33.
syntax error at ./FHEM/93_DbLog.pm line 68, near "}"
Can't use global @_ in "my" at ./FHEM/93_DbLog.pm line 73, near "= @_"
Global symbol "$def" requires explicit package name at ./FHEM/93_DbLog.pm line 74, <$fh> line 33.
syntax error at ./FHEM/93_DbLog.pm line 98, near "}"
Can't use global @_ in "my" at ./FHEM/93_DbLog.pm line 102, near "= @_"
syntax error at ./FHEM/93_DbLog.pm line 108, near "}"
./FHEM/93_DbLog.pm has too many errors.

2015.08.26 21:38:13 0: syntax error at ./FHEM/93_DbLog.pm line 43, near "$hash"
Global symbol "$hash" requires explicit package name at ./FHEM/93_DbLog.pm line 44, <$fh> line 33.
Global symbol "$hash" requires explicit package name at ./FHEM/93_DbLog.pm line 65, <$fh> line 33.
Global symbol "$hash" requires explicit package name at ./FHEM/93_DbLog.pm line 66, <$fh> line 33.
syntax error at ./FHEM/93_DbLog.pm line 68, near "}"
Can't use global @_ in "my" at ./FHEM/93_DbLog.pm line 73, near "= @_"
Global symbol "$def" requires explicit package name at ./FHEM/93_DbLog.pm line 74, <$fh> line 33.
syntax error at ./FHEM/93_DbLog.pm line 98, near "}"
Can't use global @_ in "my" at ./FHEM/93_DbLog.pm line 102, near "= @_"
syntax error at ./FHEM/93_DbLog.pm line 108, near "}"
./FHEM/93_DbLog.pm has too many errors.

2015.08.26 21:38:13 1: Including ./log/fhem.save
2015.08.26 21:38:13 1: configfile: Cannot load module DbLog
2015.08.26 21:38:13 1: usb create starting
2015.08.26 21:38:13 1: usb create end
2015.08.26 21:38:13 2: Error messages while initializing FHEM: configfile: Cannot load module DbLog
2015.08.26 21:38:13 0: Featurelevel: 5.6
2015.08.26 21:38:13 0: Server started with 8 defined entities (version $Id: fhem.pl 9118 2015-08-23 12:43:56Z rudolfkoenig $, os linux, user fhem, pid 1829)
Titel: Antw:DBLog Fehler bei SVG Grafik
Beitrag von: Tobias am 27 August 2015, 15:09:33
merkwürdig, mein fhem hat nicht gemeckert...
Bitte nochmal testen....
Titel: Antw:DBLog Fehler bei SVG Grafik
Beitrag von: Pyromane am 28 August 2015, 11:36:17
Scheint soweit zu funktionieren, SVG Grafiken kann ich erstellen. Danke!  :)

Allerdings erhalte ich folgende Meldungen im Log:

2015.08.28 09:28:48 1: Including fhem.cfg
2015.08.28 09:28:48 3: telnetPort: port 7072 opened
2015.08.28 09:28:48 3: WEB: port 8083 opened
2015.08.28 09:28:48 2: eventTypes: loaded 2 events from ./log/eventTypes.txt
given is experimental at ./FHEM/93_DbLog.pm line 1318, <$fh> line 33.
when is experimental at ./FHEM/93_DbLog.pm line 1320, <$fh> line 33.
when is experimental at ./FHEM/93_DbLog.pm line 1328, <$fh> line 33.
when is experimental at ./FHEM/93_DbLog.pm line 1338, <$fh> line 33.
when is experimental at ./FHEM/93_DbLog.pm line 1346, <$fh> line 33.
given is experimental at ./FHEM/93_DbLog.pm line 1351, <$fh> line 33.
when is experimental at ./FHEM/93_DbLog.pm line 1352, <$fh> line 33.
when is experimental at ./FHEM/93_DbLog.pm line 1353, <$fh> line 33.
when is experimental at ./FHEM/93_DbLog.pm line 1354, <$fh> line 33.
when is experimental at ./FHEM/93_DbLog.pm line 1367, <$fh> line 33.
2015.08.28 09:28:48 3: Connecting to database Pg:database=fhemdaten;host=127.0.0.1 with user fhem
2015.08.28 09:28:48 3: Connection to db Pg:database=fhemdaten;host=127.0.0.1 established for pid 1830
2015.08.28 09:28:48 3: Connection to db Pg:database=fhemdaten;host=127.0.0.1 established
2015.08.28 09:28:48 1: Including ./log/fhem.save
2015.08.28 09:28:48 1: usb create starting
2015.08.28 09:28:48 1: usb create end
2015.08.28 09:28:49 2: SecurityCheck:  WEB has no basicAuth attribute. telnetPort has no password/globalpassword attribute.  Restart FHEM for a new check if the problem is fixed, or set the global attribute motd to none to supress this message.
2015.08.28 09:28:49 0: Featurelevel: 5.6
2015.08.28 09:28:49 0: Server started with 9 defined entities (version $Id: fhem.pl 9118 2015-08-23 12:43:56Z rudolfkoenig $, os linux, user fhem, pid 1830)
2015.08.28 09:32:28 1: PERL WARNING: Argument "AU_WDS10" isn't numeric in subtraction (-) at ./FHEM/92_FileLog.pm line 627, <GEN16> line 14.
Titel: Antw:DBLog Fehler bei SVG Grafik
Beitrag von: Tobias am 28 August 2015, 11:44:30
das liegt glaub ich an deiner perl version...
Titel: Antw:DBLog Fehler bei SVG Grafik
Beitrag von: rudolfkoenig am 28 August 2015, 12:17:32
Ich meine, dass neuere Perl Versionen given & when als experimental eingestuft haben, und Warnungen ausgeben.
Wie man das Problem "richtig" loest, weiss ich allerdings nicht.
Titel: Antw:DBLog Fehler bei SVG Grafik
Beitrag von: Pyromane am 28 August 2015, 18:25:00
Danke für die Rückmeldung!

Was hat es mit der Warnung in der letzten Zeile des Logs auf sich?
2015.08.28 09:32:28 1: PERL WARNING: Argument "AU_WDS10" isn't numeric in subtraction (-) at ./FHEM/92_FileLog.pm line 627, <GEN16> line 14.
Titel: Antw:DBLog Fehler bei SVG Grafik
Beitrag von: Tobias am 28 August 2015, 19:31:16
FileLog != DBLog
Titel: Antw:DBLog Fehler bei SVG Grafik
Beitrag von: stromer-12 am 28 August 2015, 22:43:37
Um die experimental Warnungen wegzubekommen, habe ich bei mir folgende Zeile am Anfang nach den use Anweisungen eingefügt:
no warnings 'experimental::smartmatch';
Titel: Antw:DBLog Fehler bei SVG Grafik
Beitrag von: Pyromane am 26 Oktober 2015, 15:22:15
Bitte die Änderungen noch einpflegen, damit ein Update nicht immer die 93_DbLog.pm überschreibt. Danke!
Titel: Antw:DBLog Fehler bei SVG Grafik
Beitrag von: rapster am 26 Oktober 2015, 17:50:20
Welche änderugen?
Und ein update ist doch dazu da alte dateien zu überschreiben?
Titel: Antw:DBLog Fehler bei SVG Grafik
Beitrag von: Pyromane am 26 Oktober 2015, 17:56:06
Zitat von: rapster am 26 Oktober 2015, 17:50:20
Welche änderugen?
Die Datei, die Tobias im dritten Beitrag verlinkt hat.
Zitat von: Tobias am 26 August 2015, 08:12:28
Bitte mal testen...

http://forum.fhem.de/index.php/topic,40176.msg326353.html#msg326353


Zitat von: rapster am 26 Oktober 2015, 17:50:20
Und ein update ist doch dazu da alte dateien zu überschreiben?
Tobias hatte die Änderungen nur in der Datei die im Forum vorgenommen, da ab in den letzten Tagen einige DBLog Änderungen durch andere Benutzer durchgeführt wurden hat es die händisch reinkopierte wieder überschrieben.
Titel: Antw:DBLog Fehler bei SVG Grafik
Beitrag von: rapster am 26 Oktober 2015, 18:14:07
Bitte mal den Thread zuende lesen den du gerade verlinkt hast, danke
Titel: Antw:DBLog Fehler bei SVG Grafik
Beitrag von: Pyromane am 26 Oktober 2015, 18:21:44
Thread habe ich soweit zuende gelesen, jedoch verstehe ich nicht ganz was du mir damit sagen möchtest.
Titel: Antw:DBLog Fehler bei SVG Grafik
Beitrag von: rapster am 26 Oktober 2015, 18:26:23
Damit will ich dir sagen,
- dass bis auf heute seit dem 04.10. keine Änderung mehr im DbLog-Modul stattgefunden hat.
- wenn du die aktuelle Version von heute aus dem SVN (morgigen Update) heruntergeladen hast, das ganze schon eingebaut ist,
- und du dir den Post hättest sparen können.
Titel: Antw:DBLog Fehler bei SVG Grafik
Beitrag von: franky08 am 26 Oktober 2015, 18:26:32
Na, dass es eingecheckt ist und ab morgen per update verteilt wird  ;)

P.S. rapster war schneller

VG
Frank
Titel: Antw:DBLog Fehler bei SVG Grafik
Beitrag von: Pyromane am 28 Oktober 2015, 08:54:40
Danke für Info und dem Wink mit dem Zaunpfahl, es funktioniert  :)