FileLog Problem (Log wird erzeugt, aber nicht beschrieben)

Begonnen von JorEl, 03 August 2014, 19:54:36

Vorheriges Thema - Nächstes Thema

JorEl

Hi,

ich weiß nicht, ob die Frage unter "Anfängerfragen" wirklich richtig aufgehoben ist, aber einen passenderen Bereich dafür wüsste ich auch nicht.

Ich habe versucht das LaCrosse Modul so zu erweitern, dass auch Werte von TX22 Sensoren empfangen werden können - dazu war auch eine Anpassung der LaCrosse Sketch erforderlich, aber das klappt nun soweit. D.h. ich bekomme von der Conrad WS1600 Wetterstation nun alle Werte korrekt übertragen und füge sie zu den Readings hinzu. Soweit so gut, d.h. alle paar Sekunden empfange ich ein neues Set aus Werten und im Web-Frontend wird die Liste der Readings auch richtig aktualisiert.

Nun habe ich versucht, diese Daten auch zu protokollieren um im nächsten Schritt eine grafische Darstellung zu ermöglichen. Ich habe bereits zuvor verschiedene LaCrosse Sensoren für Temperaturwerte protokolliert, das war nie ein Problem - sieht dann etwa so aus:


define FileLog_13Thermo1 FileLog ./log/13Thermo1-%Y.log 13Thermo:temperature:.*
attr FileLog_13Thermo1 logtype temp4hum6:Temp/Hum,text


Nun zum seltsamen Teil... obwohl ich wirklich nur relativ kleine Anpassungen am LaCrosse Modul vorgenommen habe, funktioniert dies nicht für den neu hinzugekommenen TX22 Sensor. Der Config-Eintrag ist praktisch identisch:


define FileLog_WS1600_temp FileLog ./log/WS1600_temp-%Y.log WS1600:temperature:.*
attr FileLog_WS1600_temp logtype temp4hum6:Temp/Hum,text


Ein Reading namens "temperature" existiert natürlich für WS1600... das Logfile wird auch angelegt, allerdings bleibt es immer bei einer Größe von 0 Byte, es wird nie ein Wert hineingeschrieben.

Daher meine Frage - gibt es noch etwas zu beachten? Ich wäre davon ausgegangen, dass mit einem "readingsEndUpdate" alles erledigt ist, normalerweise sollte man doch - wenn ich es richtig verstanden habe - nicht einmal DoTrigger auf 1 setzen müssen, da der Aufruf aus Dispatch heraus erfolgt und dort dies ohnehin erledigt wird.

Wichtig ist möglicherweise noch zu erwähnen, dass ich eine kleine Anpassung in der fhem.pl vorgenommen habe, da mein fhem log (das monatliche Standard-Log) alle paar Sekunden mit einem Fehlereintrag beschrieben wurde. Konkret geht es um folgende Code-Passage in Dispatch:


#  return undef if($found[0] eq ""); # Special return: Do not notify
  return undef if(@found[0] eq ""); # Special return: Do not notify


Ich weiß offen gesagt nicht, ob ich damit keine anderen Probleme verursache, aber wie es aussieht klappt sonst alles noch einwandfrei und die zuvor aufgetretenen "Use of uninitialized value $found[0] in string eq at /fhem/fhem.pl line 2791" sind zumindest weg. Allerdings bin ich noch im frühen Anfangsstadium was meine Perl-Skills betrifft, insofern könnte ich hier natürlich auch was fatales gemacht haben.  :)

Ich fasse zusammen:

- Für "gewöhnliche" LaCrosse Sensoren funktioniert die Protokollierung
- Für den TX22, den ich ergänzt habe, bekomme ich zwar alle paar Sekunden Readings, aber es wird kein Protokolleintrag generiert.

Falls jemand einen Tipp hat wäre das großartig, denn ich komme nicht so richtig weiter.

Gruß,
Robert

rudolfkoenig

Solche Fragen sollte man lieber in Sonstiges stellen, da ich die Anfaenger nur selte lese.
FileLog kann nur Events protokollieren, also das was im EventMonitor/inform auch erscheint.
Normalerweise erzeugt readings*Update auch Events (und modifiziert die Readings), man kann es aber auch so parametriesieren, dass die Events ausbleiben.
Statt fhem.pl sollte das betroffene Modul geaendert werden.
Bei Aenderungen an fhem.pl bin ich sehr vorsichtig, da sowas alle betrifft.

JorEl

Hi,

danke für die Antwort. Ich hab eben die Ursache gefunden - hatte einfach ein return vergessen und deswegen wurde wohl kein Logeintrag erzeugt - nun funktioniert es einwandfrei. :-) Ich werde den angepassten Modulcode und das dazugehörige JeeLink sketch noch ein wenig aufräumen und dann die Anpassungen posten, die vollständigen Daten des TX22 inklusive Wind, Böen, Regen, etc. auszulesen ist vielleicht auch für andere interessant.

ZitatSolche Fragen sollte man lieber in Sonstiges stellen, da ich die Anfaenger nur selte lese.
Sorry, ich war einfach nicht sicher in welchem Bereich es gut aufgehoben ist...

ZitatStatt fhem.pl sollte das betroffene Modul geaendert werden.
Absolut... ich fühle mich mit der Anpassung in fhem.pl auch nicht ganz wohl - denke, dass Fehlermeldungen die ich in fhem.pl bekommen habe eher ihre Ursache im Modul haben. Ich mache die Anpassung nun mal wieder rückgängig und lasse es ein paar Tage laufen, vermutlich werden jetzt keine falschen Einträge mehr ins fhem log geschrieben.

okiberlin

Hallo,

ist der Sketch für den Jeelink zum Empfang der TX22 Daten schon irgendwo verfügbar? Ich hätte da großes Interesse...

Viele Grüße
Olaf