FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: rainer1962 am 21 Juni 2014, 15:21:10

Titel: DbLog und Reading welche "0" als Wert haben werden immer geloggt
Beitrag von: rainer1962 am 21 Juni 2014, 15:21:10
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
Titel: Antw:DbLog und Reading welche "0" als Wert haben werden immer geloggt
Beitrag von: betateilchen am 21 Juni 2014, 17:20:35
wo hast Du denn das DbLogExclude angegeben?
Titel: Antw:DbLog und Reading welche "0" als Wert haben werden immer geloggt
Beitrag von: rainer1962 am 21 Juni 2014, 17:33:45
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
Titel: Antw:DbLog und Reading welche "0" als Wert haben werden immer geloggt
Beitrag von: Puschel74 am 21 Juni 2014, 17:36:40
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
Titel: Antw:DbLog und Reading welche "0" als Wert haben werden immer geloggt
Beitrag von: betateilchen am 21 Juni 2014, 17:50:14
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);
Titel: Antw:DbLog und Reading welche "0" als Wert haben werden immer geloggt
Beitrag von: Puschel74 am 21 Juni 2014, 17:59:38
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
Titel: Antw:DbLog und Reading welche "0" als Wert haben werden immer geloggt
Beitrag von: rainer1962 am 21 Juni 2014, 18:02:48
hallo beta ....
habes geändert - neu gestartet - gleiches problem  .. alle readings mit "0" werden ständig geloggt
gruss rainer
Titel: Antw:DbLog und Reading welche "0" als Wert haben werden immer geloggt
Beitrag von: rainer1962 am 21 Juni 2014, 18:19:10
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
Titel: Antw:DbLog und Reading welche "0" als Wert haben werden immer geloggt
Beitrag von: Puschel74 am 21 Juni 2014, 18:23:41
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:::
Titel: Antw:DbLog und Reading welche "0" als Wert haben werden immer geloggt
Beitrag von: betateilchen am 21 Juni 2014, 18:43:36
@rainer1962 wenn Du mich nochmal beta nennst, gibts Haue! *grummel*
Titel: Antw:DbLog und Reading welche "0" als Wert haben werden immer geloggt
Beitrag von: betateilchen am 21 Juni 2014, 18:47:58
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 $
Titel: Antw:DbLog und Reading welche "0" als Wert haben werden immer geloggt
Beitrag von: betateilchen am 21 Juni 2014, 19:01:12
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.
Titel: Antw:DbLog und Reading welche "0" als Wert haben werden immer geloggt
Beitrag von: rainer1962 am 21 Juni 2014, 19:04:51
ok,
dann warten wir mal ab  ..... ich teste noch ein wenig  ....
gruss rainer
Titel: Antw:DbLog und Reading welche "0" als Wert haben werden immer geloggt
Beitrag von: Puschel74 am 21 Juni 2014, 19:08:00
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.
Titel: Antw:DbLog und Reading welche "0" als Wert haben werden immer geloggt
Beitrag von: rainer1962 am 21 Juni 2014, 19:18:52
sorry "BETATEILCHEN"  8)
war noch auf den Kanaren und von daher ein bissel "faul" im schreiben .......

Gruss Rainer  :o
Titel: Antw:DbLog und Reading welche "0" als Wert haben werden immer geloggt
Beitrag von: rainer1962 am 21 Juni 2014, 19:28:57
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
Titel: Antw:DbLog und Reading welche "0" als Wert haben werden immer geloggt
Beitrag von: betateilchen am 21 Juni 2014, 19:44:27
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)
Titel: Antw:DbLog und Reading welche "0" als Wert haben werden immer geloggt
Beitrag von: Puschel74 am 21 Juni 2014, 19:57:16
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
Titel: Antw:DbLog und Reading welche "0" als Wert haben werden immer geloggt
Beitrag von: betateilchen am 21 Juni 2014, 20:26:59
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?)
Titel: Antw:DbLog und Reading welche "0" als Wert haben werden immer geloggt
Beitrag von: Puschel74 am 21 Juni 2014, 20:32:47
Hallo,

Zitat(warum mache ich eigentlich das Bugfixing für fremde Module?)

Weil du nett bist und es kannst  ;D

Grüße
Titel: Antw:DbLog und Reading welche "0" als Wert haben werden immer geloggt
Beitrag von: rainer1962 am 21 Juni 2014, 20:58:24
und jetzt schnell deutschland gegen Ghana schauen  .. FHEM kommt wieder danach ...

Gruss Rainer
Titel: Antw:DbLog und Reading welche "0" als Wert haben werden immer geloggt
Beitrag von: betateilchen am 21 Juni 2014, 21:01:25
Zitat von: rainer1962 am 21 Juni 2014, 20:58:24
und jetzt schnell deutschland gegen Ghana schauen

interessiert mich nicht die Bohne...
Titel: Antw:DbLog und Reading welche "0" als Wert haben werden immer geloggt
Beitrag von: rainer1962 am 21 Juni 2014, 23:38:11
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
Titel: Antw:DbLog und Reading welche "0" als Wert haben werden immer geloggt
Beitrag von: betateilchen am 21 Juni 2014, 23:41:32
Zitat von: rainer1962 am 21 Juni 2014, 23:38:11
Darf ich fragen was du geändert hast ?

klar.
Titel: Antw:DbLog und Reading welche "0" als Wert haben werden immer geloggt
Beitrag von: rainer1962 am 22 Juni 2014, 00:03:06
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
Titel: Antw:DbLog und Reading welche "0" als Wert haben werden immer geloggt
Beitrag von: betateilchen am 22 Juni 2014, 00:06:37
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  ;)
Titel: Antw:DbLog und Reading welche "0" als Wert haben werden immer geloggt
Beitrag von: Puschel74 am 22 Juni 2014, 00:10:25
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.
Titel: Antw:DbLog und Reading welche "0" als Wert haben werden immer geloggt
Beitrag von: betateilchen am 22 Juni 2014, 00:11:44
wenn er die Version verwendet, die er hier aus dem Thread geladen hat, stellt sich die Frage nicht.
Titel: Antw:DbLog und Reading welche "0" als Wert haben werden immer geloggt
Beitrag von: Puschel74 am 22 Juni 2014, 00:25:45
Stimmt.
Du hast ja oben eine Version hochgeladen.
Hab ich übersehen.
Titel: Antw:DbLog und Reading welche "0" als Wert haben werden immer geloggt
Beitrag von: rainer1962 am 22 Juni 2014, 00:44:49
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


Titel: Antw:DbLog und Reading welche "0" als Wert haben werden immer geloggt
Beitrag von: betateilchen am 22 Juni 2014, 12:07:39
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.

Titel: Antw:DbLog und Reading welche "0" als Wert haben werden immer geloggt
Beitrag von: rainer1962 am 22 Juni 2014, 12:12:39
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
Titel: Antw:DbLog und Reading welche "0" als Wert haben werden immer geloggt
Beitrag von: Tobias am 02 November 2014, 13:41:53
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.
Titel: Antw:DbLog und Reading welche "0" als Wert haben werden immer geloggt
Beitrag von: Marco K. am 03 November 2014, 11:40:11
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.
Titel: Antw:DbLog und Reading welche "0" als Wert haben werden immer geloggt
Beitrag von: franky08 am 04 November 2014, 08:41:17
@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