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!
Da ich den Beitrag laut maintainer.txt im falschen Bereich eröffnet habe bitte nach Automatisierung verschieben. Danke!
Bitte mal testen...
http://forum.fhem.de/index.php/topic,40176.msg326353.html#msg326353
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)
merkwürdig, mein fhem hat nicht gemeckert...
Bitte nochmal testen....
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.
das liegt glaub ich an deiner perl version...
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.
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.
FileLog != DBLog
Um die experimental Warnungen wegzubekommen, habe ich bei mir folgende Zeile am Anfang nach den use Anweisungen eingefügt:
no warnings 'experimental::smartmatch';
Bitte die Änderungen noch einpflegen, damit ein Update nicht immer die 93_DbLog.pm überschreibt. Danke!
Welche änderugen?
Und ein update ist doch dazu da alte dateien zu überschreiben?
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.
Bitte mal den Thread zuende lesen den du gerade verlinkt hast, danke
Thread habe ich soweit zuende gelesen, jedoch verstehe ich nicht ganz was du mir damit sagen möchtest.
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.
Na, dass es eingecheckt ist und ab morgen per update verteilt wird ;)
P.S. rapster war schneller
VG
Frank
Danke für Info und dem Wink mit dem Zaunpfahl, es funktioniert :)