FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: satprofi am 15 August 2022, 13:05:07

Titel: Logfile Zahlen grösser
Beitrag von: satprofi am 15 August 2022, 13:05:07
Hallo.
Wie kann ich Zahlen grösser 1000 nciht ionslogfile schreiben lassen? ignoreRegexp evt. ?
Titel: Antw:Logfile Zahlen grösser
Beitrag von: Guybrush am 15 August 2022, 13:43:34
Immer erstmal einmal in die CommandRef gucken / suchen, ob es da nicht was passendes gibt...  ::)
DbLogValueFn
attr <device> DbLogValueFn {}
Wird DbLog genutzt, wird in allen Devices das Attribut DbLogValueFn propagiert. Es kann über einen Perl-Ausdruck auf die Variablen $TIMESTAMP, $READING, $VALUE (Wert des Readings) und $UNIT (Einheit des Readingswert) zugegriffen werden und diese verändern, d.h. die veränderten Werte werden geloggt.
Außerdem hat man Lesezugriff auf $DEVICE (den Namen des Quellgeräts), $EVENT, $LASTTIMESTAMP und $LASTVALUE zur Bewertung in Ihrem Ausdruck.
Die Variablen $LASTTIMESTAMP und $LASTVALUE enthalten Zeit und Wert des zuletzt protokollierten Datensatzes von $DEVICE / $READING.
Soll $TIMESTAMP verändert werden, muss die Form "yyyy-mm-dd hh:mm:ss" eingehalten werden, ansonsten wird der geänderte $timestamp nicht übernommen. Zusätzlich kann durch Setzen der Variable "$IGNORE=1" der Datensatz vom Logging ausgeschlossen werden.
Die devicespezifische Funktion in "DbLogValueFn" wird vor der eventuell im DbLog-Device vorhandenen Funktion im Attribut "valueFn" auf den Datensatz angewendet.

Beispiel
attr SMA_Energymeter DbLogValueFn
{
  if ($READING eq "Bezug_WirkP_Kosten_Diff"){
    $UNIT="Diff-W";
  }
  if ($READING =~ /Einspeisung_Wirkleistung_Zaehler/ && $VALUE < 2){
    $IGNORE=1;
  }
}
Titel: Antw:Logfile Zahlen grösser
Beitrag von: Guybrush am 15 August 2022, 13:46:06
attr <DEVICE> DbLogValueFn { $IGNORE = 1 if ($VALUE > 1000);}
Titel: Antw:Logfile Zahlen grösser
Beitrag von: satprofi am 16 August 2022, 19:29:37
attr acceptedRange hat geholfen bis jetzt.
kannte ich nicht
Titel: Antw:Logfile Zahlen grösser
Beitrag von: Guybrush am 16 August 2022, 20:22:40
hauptsache es hat dir geholfen :-)