Zitat von: rudolfkoenig am 01 November 2019, 15:23:04outputFormat <perlCode>
Falls gesetzt, ist die Ausgabezeile das Ergebnis der Auswertung.
Voreinstellung ist "$TIMESTAMP $NAME $EVENT\n".
Achtung: nur dieses Format ist kompatibel mit dem SVG-Editor.
Hi zusammen,
ich würde gerne folgendes machen, um die Datei später automatisch in Excel weiter verarbeiten zu können.
attr FileLog outputFormat "$TIMESTAMP $EVTPART1 \n"
oder am liebsten
attr FileLog outputFormat "$mday.$month.$year $EVTPART1 \n"
Dabei gibt es aber Fehlermeldungen
Global symbol "$EVTPART1" requires explicit package name (did you forget to declare "my $EVTPART1"?) at (eval 55770) line 1.
auch Perlvariablen können nicht verwendet werden, wie "$year" oder "$month".
POSIX strftime z.B "%d.%m.%Y" werde bei der Eingabe aktzeptiert, aber im Log steht dann nur %d.%m.%Y und nicht 07.05.2023
Wie müsste ich den Perlcode eingeben um zum Erfolg zu kommen?
LG mi.ke
Zitat von: mi.ke am 07 Mai 2023, 16:28:57Wie müsste ich den Perlcode eingeben um zum Erfolg zu kommen?
Vermutlich wie an allen ca. 728 Stellen in FHEM auch, an denen man perl Code eingeben kann: in geschweiften Klammern.
(ungetestet)
Ich glaube übrigens nicht, dass es an dieser Stelle ein $EVTPART1 oder andere von FHEM bereitgestellte oneliner-Variablen überhaupt gibt. Da wird lediglich ein einfaches eval ausgeführt. Du müsstest also das Splitten und das Erzeugen der timestamp-Variablen schon selbst in den perl Code mit aufnehmen.
Hatte mir so geholfen, dass ich den gewünschten String in userReadings erzeuge und formatieren und dann ins Log übergebe. Geht auch.
Ich hänge mich hier mal ran, gibt es noch andere Variablen ausser diese 3 genannten?
Ich möchte gerne auch das Datum lesbar formatieren - aber wichtiger nur den Wert ohne dem Reading speichern.