Hallo,
Wenn DbLog aktiviert ist werden bei mir alle Werte , welche eine "0" im Reading gaben immer geloggt obwol " DbLogExclude .*(valveposition):300 " bei einen Thermostat angegeben wurde. Da sollte dieser Wert nur alle 5 Minuten in die Datenbank geschrieben werden oder eben wenn er sich geändert hat.
Ist das ein Bug in DbLog ????
Die Datenbank wird derzeit nur mit diesen Werten "zugemüllt".
Gibt es da schon eine Lösung ? Ich habe im Forum hier leider nix gefunden.
Danke Euch,
Rainer
wo hast Du denn das DbLogExclude angegeben?
ich habe es direkt als attribut bei dem jeweiligen thermostat eingerichtet.
Was ich danach noch probiert habe ist einfach das event-on-change-reading einzubausen .. dann werden diese vielen "0" einträge unterdrückt ...
aber dieser effekt sollte auch von dem attribut DbLogExclude erfüllt werden. Leider funktioniert das nicht bei Readingwerten von "0" .
Gruss Rainer
Hallo,
ich habe das an einem FHT auch versucht - nachdem rainer seine Frage gepostet hat.
Eingetragen habe ich:
attr Keller_Gaestezimmer_Heizung DbLogExclude actuator:300
Anbei das get aus der Datenbank:
Zitat2014-06-21_16:50:03 0
2014-06-21_16:51:59 0
2014-06-21_16:53:55 0
2014-06-21_16:55:51 0
2014-06-21_16:57:47 0
2014-06-21_16:59:43 0
2014-06-21_17:01:39 0
2014-06-21_17:03:35 0
2014-06-21_17:05:31 0
2014-06-21_17:07:27 0
2014-06-21_17:09:23 0
2014-06-21_17:11:19 0
2014-06-21_17:13:15 0
2014-06-21_17:15:11 0
2014-06-21_17:17:07 0
2014-06-21_17:19:03 0
2014-06-21_17:20:59 0
2014-06-21_17:22:55 0
2014-06-21_17:24:51 0
2014-06-21_17:26:47 0
#Keller_Gaestezimmer_Heizung:actuator:::
Ich hoffe ich hab mal nicht wieder was falsch gemacht ::)
Grüße
Kann mal jemand probieren, ab Zeile 532 zu ändern:
#Regexp matcht und MinIntervall ist angegeben
my $lt;
$lt = $defs{$dev->{NAME}}{Helper}{DBLOG}{$reading}{$hash->{NAME}}{TIME};
my $lv =0;
$lv = $defs{$dev->{NAME}}{Helper}{DBLOG}{$reading}{$hash->{NAME}}{VALUE};
$lt = 0 if(!$lt);
# $lv = "" if(!$lv);
Hallo,
kann ich gerne machen.
Aber nur mal zur Sicherheit:
Version von 93_DbLog.pm
# $Id: 93_DbLog.pm 5348 2014-03-28 09:38:23Z tobiasfaust $
Dieses
Zitat#Regexp matcht und MinIntervall ist angegeben
finde ich per Notepad++ ab Zeile 498
#Regexp matcht und MinIntervall ist angegeben
my $lt = $defs{$dev->{NAME}}{Helper}{DBLOG}{$reading}{$hash->{NAME}}{TIME};
my $lv = $defs{$dev->{NAME}}{Helper}{DBLOG}{$reading}{$hash->{NAME}}{VALUE};
$lt = 0 if(!$lt);
$lv = "" if(!$lv);
Sorry für die Nachfrage betateilchen aber ich möchte nur sicher gehen das ich die Änderung auch an der richtigen Stelle einbaue da mir update check für die 93_DbLog.pm keine neue Datei anbietet und notepad++ auch nur diese eine Zeile findet.
Sicher ist sicher 8)
Grüße
hallo beta ....
habes geändert - neu gestartet - gleiches problem .. alle readings mit "0" werden ständig geloggt
gruss rainer
hallo beta,
sorry !!!!
geht doch !!!!
hatte vergessen diese zeile auszudokumentieren :
$lv = "" if(!$lv);
Danke für die Lösung !!!!
Kann man das in als Änderung mit ins Update reinnehmen ???
Gruss Rainer
Hallo,
in diesem Fall hat sich meine Frage erübrigt.
Ich habs grad eingebaut und dann "luege mia mol".
Grüße
Edith: Klappt (wie nicht anders zu erwarten) ;D
Zitat2014-06-21_18:13:11 0
2014-06-21_18:15:07 0
2014-06-21_18:17:03 0
2014-06-21_18:18:59 0
2014-06-21_18:20:55 0
2014-06-21_18:26:43 0
2014-06-21_18:32:31 0
#Keller_Gaestezimmer_Heizung:actuator:::
@rainer1962 wenn Du mich nochmal beta nennst, gibts Haue! *grummel*
Zitat von: Puschel74 am 21 Juni 2014, 17:59:38
Aber nur mal zur Sicherheit:
# $Id: 93_DbLog.pm 5348 2014-03-28 09:38:23Z tobiasfaust $
Du solltest mal updaten...
# $Id: 93_DbLog.pm 5782 2014-05-08 06:15:58Z tobiasfaust $
Zitat von: rainer1962 am 21 Juni 2014, 18:19:10
Kann man das in als Änderung mit ins Update reinnehmen ???
Das müssen Andere entscheiden.
ok,
dann warten wir mal ab ..... ich teste noch ein wenig ....
gruss rainer
Hallo,
Zitat von: betateilchen am 21 Juni 2014, 18:47:58
Du solltest mal updaten...
# $Id: 93_DbLog.pm 5782 2014-05-08 06:15:58Z tobiasfaust $
Werd ich machen - aber ich wunder mich nur das mir update check das nicht anzeigt ???
ZitatList of new / modified files since last update:
UPD ./CHANGED
UPD ./configDB.pm
UPD FHEM/00_OWX_ASYNC.pm
UPD FHEM/00_TCM.pm
UPD FHEM/00_THZ.pm
UPD FHEM/01_FHEMWEB.pm
UPD FHEM/10_CUL_HM.pm
UPD FHEM/10_EnOcean.pm
UPD FHEM/10_Itach_IR.pm
UPD FHEM/21_OWTHERM.pm
UPD FHEM/31_LightScene.pm
UPD FHEM/32_speedtest.pm
UPD FHEM/33_readingsGroup.pm
UPD FHEM/36_EMT7110.pm
UPD FHEM/37_SHC.pm
UPD FHEM/37_SHCdev.pm
UPD FHEM/55_GDS.pm
UPD FHEM/57_Calendar.pm
UPD FHEM/59_Twilight.pm
UPD FHEM/59_Weather.pm
UPD FHEM/66_ECMD.pm
UPD FHEM/70_PIONEERAVR.pm
UPD FHEM/70_STV.pm
UPD FHEM/71_PIONEERAVRZONE.pm
UPD FHEM/88_Itach_IRDevice.pm
UPD FHEM/89_HEATRONIC.pm
UPD FHEM/95_FLOORPLAN.pm
UPD FHEM/95_remotecontrol.pm
UPD FHEM/98_HMinfo.pm
UPD FHEM/98_apptime.pm
UPD FHEM/98_statistics.pm
UPD FHEM/Blocking.pm
UPD FHEM/CUL_V2.hex
UPD FHEM/CUL_V2_HM.hex
UPD FHEM/CUL_V2_MAX.hex
UPD FHEM/CUL_V3.hex
UPD FHEM/CUL_V4.hex
UPD FHEM/OWX_DS2480.pm
UPD FHEM/OWX_Executor.pm
UPD FHEM/OWX_FRM.pm
UPD FHEM/OWX_SER.pm
UPD FHEM/SHC_datafields.pm
UPD FHEM/SHC_parser.pm
UPD docs/commandref.html
UPD docs/commandref_DE.html
UPD www/pgm2/fhemweb_colorpicker.js
UPD www/pgm2/fhemweb_readingsHistory.js
UPD www/pgm2/ios6touchpadstyle.css
Aber egal. Hat hier nichts zu suchen - ich werd einfach mal ein update einwerfen.
Danke nochmal für deine Anpassung.
Grüße
Edith: Hmmm, grad ein update gemacht.
Ohne Fehlermeldungen durchgelaufen aber selbst nach shutdown restart lt. version immer noch:
Zitat# $Id: 93_DbLog.pm 5348 2014-03-28 09:38:23Z tobiasfaust $
Ich mach besser einen neuen Beitrag auf dafür.
sorry "BETATEILCHEN" 8)
war noch auf den Kanaren und von daher ein bissel "faul" im schreiben .......
Gruss Rainer :o
hallo betateilchen,
noch eine frage zu dblog.
habe das problem dass mein fhem komplett abschmiert wenn ich "set dblog count" eingebe ....
ich sehe nur noch im ssh dass irgendwie der mysql server dabei abschmiert ...
DBD::mysql::db selectrow_array failed: MySQL server has gone away at /usr/local/FHEM/share/fhem/FHEM/93_DbLog.pm line 1118.
Can't use an undefined value as a symbol reference at /usr/local/FHEM/share/fhem/FHEM/Blocking.pm line 131.
kannst du mir sagen woran das liegt ???
LG Rainer
Zitat von: Puschel74 am 21 Juni 2014, 19:08:00
Edith: Hmmm, grad ein update gemacht.
Ohne Fehlermeldungen durchgelaufen aber selbst nach shutdown restart lt. version immer noch:
Ich mach besser einen neuen Beitrag auf dafür.
Nur mal nebenbei: Zwischen Deiner Version von DbLog und der aktuellen gab es noch ein paar weitere, die Dir offenbar fehlen:
(http://up.picr.de/18684824zu.png)
Hallo,
danke betateilchen.
Ich hab einen neuen Beitrag aufgemacht:
http://forum.fhem.de/index.php/topic,24767.0.html (http://forum.fhem.de/index.php/topic,24767.0.html)
Grüße
Zitat von: rainer1962 am 21 Juni 2014, 19:28:57
habe das problem dass mein fhem komplett abschmiert wenn ich "set dblog count" eingebe ....
ich sehe nur noch im ssh dass irgendwie der mysql server dabei abschmiert ...
...
kannst du mir sagen woran das liegt ???
Ja, der Fehler beruht (mal wieder) auf einer Eigenart von mysql.
Teste mal mit der Version hier im Anhang.
(warum mache ich eigentlich das Bugfixing für fremde Module?)
Hallo,
Zitat(warum mache ich eigentlich das Bugfixing für fremde Module?)
Weil du nett bist und es kannst ;D
Grüße
und jetzt schnell deutschland gegen Ghana schauen .. FHEM kommt wieder danach ...
Gruss Rainer
Zitat von: rainer1962 am 21 Juni 2014, 20:58:24
und jetzt schnell deutschland gegen Ghana schauen
interessiert mich nicht die Bohne...
Hallo Betateilchen,
vielen Dank fürs fixen der 93_DbLog.pm. - scheint zu funktionieren...
Ich bin ja auch kein Fussballfan, aber die WM schau ich mir doch mal ganz gerne an ...
Ich beobachte mal das Verhalten ....
Darf ich fragen was du geändert hast ???
LG Rainer
hallo betateilchen ...
kannst das vielleicht kurz erklären ???
vielleicht kann ich dann mein nächstes problemchen mit dblog eingrenzen ....
was ich festgestellt habe ist folgendes:
wenn ich fhem neu starte funktionier es hervorragend. sobald ich plots anzeigen lasse, wird danach nichts mehr in dblog geloggt.....
starte ich danach fhem neu "shutdown restart" wir wieder mitgeloggt ...
plotdevice :
define Temp_Feuchte_Aussen_plot SVG myDbLog:temp4hum6_dblog:HISTORY
attr Temp_Feuchte_Aussen_plot label "Temp_Feuchte_Aussen Min $data{min1}, Max $data{max1}, Last $data{currval1}"
attr Temp_Feuchte_Aussen_plot plotfunction Temp_Feuchte_Aussen
attr Temp_Feuchte_Aussen_plot room Plots
gplot-datei:
set terminal png transparent truecolor rounded medium size <SIZE> enhanced
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set ytics nomirror
set y2tics
#set ytics
set title '<L1>'
set grid xtics y2tics
set y2label "Temperature in C"
set ylabel "Humidity (%)"
set yrange [0:100]
set y2range [-20:50]
#DbLog <SPEC1>:temperature:0:
#DbLog <SPEC1>:humidity:0:
plot \
"< awk '/T:/ {print $1, $4}' <IN>" using 1:2 ls l0 axes x1y2 title 'Temperature' with lines,\
"< awk '/H:/ {print $1, $6}' <IN>" using 1:2 ls l2fill axes x1y1 title 'Humidity' with lines
Vielleicht kannst du rausbekommen was dieses phänomen verursacht ????
LG Rainer
Zitat von: rainer1962 am 22 Juni 2014, 00:03:06
was ich festgestellt habe ist folgendes:
wenn ich fhem neu starte funktionier es hervorragend. sobald ich plots anzeigen lasse, wird danach nichts mehr in dblog geloggt.....
starte ich danach fhem neu "shutdown restart" wir wieder mitgeloggt ...
Dieses plotfork Problem ist eigentlich seit Wochen in der aktuellen Version von 93_DbLog erfolgreich gelöst - dazu gab es eine eigene Diskussion hier im Forum.
Vielleicht könntest Du mal die Suche benutzen, bevor Du mir weiter Löcher in den Bauch fragst ;)
Vielleicht sollte rainer aber auch erst mal per version schauen welche 93_DbLog.pm er hat.
Evtl. wird seine Version per update auch nicht auf den neuesten Stand gehoben.
wenn er die Version verwendet, die er hier aus dem Thread geladen hat, stellt sich die Frage nicht.
Stimmt.
Du hast ja oben eine Version hochgeladen.
Hab ich übersehen.
hallo betateilchen,
habe deine 93_dblog.pm verwendet und festgestellt, auch mit deiner version, dass nach dem aufrufen einer oder mehrer plotdateien das nachfolgende loggen verhindert wird.
das passiert aber nur wenn ich "plotfork 1" setze.
wenn ich das attribut rausnehme funktioniert auch das mitloggen in dblog auch nach einem aufrufen der plots ....
sorry dass ich dir wiederspreche dass es mit deiner version funktionieren würde ... bei mir zumindest nicht .....
LG Rainer
Stimmt, plotfork funktioniert WIEDER nicht mehr.
Keine Ahnung warum. Und ich hab auch keine Lust, nochmal mehrere Tage Zeit (wie beim letzten Mal) da reinzustecken, nur damit nach mir wieder irgendwo etwas umgebaut wird, was die Arbeit zunichte macht.
hallo betateilchen,
sorry dass ich dir viel mühe gemacht habe ...
Aber kann man nicht nachvollziehen wer die änderungen nach dir eingecheckt hat ???
wäre schon schön wenn das modul wieder laufen würde ...
dennoch einen schönen sonntag für dich.
lg rainer
Mir ist unklar was jetzt genau der Fix ist.
Nur ein auskommentieren von "$lv = "" if(!$lv);"?
Kann ich mir nur schwer vorstellen , denn das ist das Initialisieren von "lastValue" wenn DBLog erstmalig initialisiert wird und das Device noch kein LastValue anbietet.
Nach meinem Verständnis hatte betateilchen in seinem Korrekturvorschlag deshalb auch davor noch
my $lv =0;
eingefügt. Ansonsten könnte man vielleicht eine Fallunterscheidung einführen: Nur wenn noch nicht initialisiert, dann Prüfung wie bisher.
@Tobias
Ich habe da auch ein Problem, wenn keine validen Daten in DbLog vorhanden sind. Siehe
http://forum.fhem.de/index.php/topic,28680.0.html
VG
Frank