Hallo,
heute Nacht um 00:00:01 hatte ich folgende Meldungen im Log:
print() on closed filehandle GEN9 at ./FHEM/92_FileLog.pm line 115.
print() on closed filehandle GEN14 at ./FHEM/92_FileLog.pm line 115.
print() on closed filehandle GEN17 at ./FHEM/92_FileLog.pm line 115.
print() on closed filehandle GEN34 at ./FHEM/92_FileLog.pm line 115.
print() on closed filehandle GEN18 at ./FHEM/92_FileLog.pm line 115.
Ich gehe mal davon aus das Fhem in ein Monatliches Log schreiben wollte welches schon rotiert war.
Ist das ein Fehler in FileLog.pm oder ein Problem in meiner Konfig?
Ich mach mal mit hatte das selbe:
2013.02.01 00:08:21 3: ml device opened
print() on closed filehandle GEN6 at ./FHEM/92_FileLog.pm line 115.
print() on closed filehandle GEN6 at ./FHEM/92_FileLog.pm line 115.
print() on closed filehandle GEN6 at ./FHEM/92_FileLog.pm line 115.
print() on closed filehandle GEN6 at ./FHEM/92_FileLog.pm line 115.
2013.02.01 00:10:02 3: Opening ml device 192.168.2.22:62910
Mal wieder hochkram:
scheint ein Problem in 92_FileLog.pm zu sein, sehe ich auch jeden Monat...
Keine Besserung in Sicht? ;)
Die Ursache für den Fehler ist aus meiner Sicht ganz einfach zu finden.
Der Fehler liegt wie ihr richtig vermutet in 92_FileLog.pm.
(siehe Anhang / see attachement)
$fh(das aktuelle filehandle) wird in Zeile 104 aus einem hash gefüllt, aber zum Monatswechsel wird das file in Zeile 113 FileLog_Switch($log) geschlossen und ein neues file geöffnet. Dann zeigt $fh in Zeile 115 auf ein geschlossenes file und das besagt dann auch die Fehlermeldung.
Man muss also nur die Zuweisung Zeile 104 hinter den Aufruf von FileLog_Switch($log) verschieben und alles ist gut.
@ Rudi:
Wenn du dies liest, kannst du das Problem lösen oder soll ich es machen?
ihr werdet es wohl selbst machen müssen, Rudi hat wohl nicht mitgelesen
Habe ich bei mir jetzt auch festgestellt, in dem mir der erste Messwert im Log fehlt.
Ja - ist logisch, weil der erste Messwert nach einem Monatswechsel in ein geschlossenes File geschrieben wird.
Einfach die Zuweisung $fh = ... nochmals hinter die Zeile mit dem Funktionaufruf FileLog_Switch($log) kopieren - dann ist alles ok. Nach einem Update müßt ihr das immer wieder korrigieren, solange der Modulverantwortliche es nicht korrigiert.
wurde jetzt repariert!!! - nach einem update verfügbar.