Hauptmenü

Logfile Zahlen grösser

Begonnen von satprofi, 15 August 2022, 13:05:07

Vorheriges Thema - Nächstes Thema

satprofi

Hallo.
Wie kann ich Zahlen grösser 1000 nciht ionslogfile schreiben lassen? ignoreRegexp evt. ?
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

Guybrush

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;
  }
}

Guybrush


attr <DEVICE> DbLogValueFn { $IGNORE = 1 if ($VALUE > 1000);}

satprofi

attr acceptedRange hat geholfen bis jetzt.
kannte ich nicht
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

Guybrush

hauptsache es hat dir geholfen :-)