Hauptmenü

FileLog Filter

Begonnen von Guest, 20 Juli 2012, 12:44:28

Vorheriges Thema - Nächstes Thema

Guest

Originally posted by: <email address deleted>

hallo,
 
ich setze temperatursensoren ein, die zwei-minütlich die aktuelle
temperatur schicken.
es werden die werte beider sensoren in einem file geloggt u dann grafisch
dargestellt.
um die log files nicht unnötig groß werden zu lassen, möchte nur einen wert
alle 10 minuten loggen, obwohl eben alle 2 minute werte empfangen werden.
nichtsdestotrotz möchte ich eine änderung der temp zeitnah erkennen können,
wodurch das 2 minütige intervall erforderlich ist.
 
aktuell zieht die definition so aus:
*/root/log/fhem/Temp-%Y-%m-%d.log TempA:T:.*|TempB:T:.**
 
ich habe schon versuche à la:
*/root/log/fhem/Temp-%Y-%m-%d.log 0:...TempA:T:.*|0:...TempB:T:.**
gemacht mit dem hintergedanken einen regex für die log-zeit zu machen,
wobei dann die letzte ziffer der minute 0 sein muss.
 
es funktioniert nicht. meiner vermutung nach, weil die log-zeit nicht mit
dem regex geprüft wird.
...oder weil meine regex kenntnisse sehr klein sind :)
 
ein gedanke (aber nicht getestet) ist, ein notify zu verwenden und nur,
wenn ein perl-ausdruck zutritt, die logdatei händisch zu schreiben......
 
danke für eure hilfe.
 

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

http://www.danielfett.de/internet-und-opensource,artikel,regulaere-ausdruecke

LG

pah

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Danke, Regex-Seite habe ich auch schon viele gefunden...
 
Ich bin nicht weitergekommen, weil ich nicht weis, ob der Timestamp mit
überprüft wird oder nicht.
Sprich, wird nur der zu loggende String gecheckt und NACHHER evtl. erst der
Timestamp angefügt....!? Oder wird erst ein String aus Log-Info und
Timestamp gebildet, der dann anschließend mit dem regulären Ausdruck
überprüft wird.
Im zweiten Fall muss ich nur den passenden Regex-Ausdruck finden. Bei
ersterem würde ein Regex-Ausdruck auch nicht helfen.
 

Am Freitag, 20. Juli 2012 16:08:00 UTC+2 schrieb Prof. Dr. Peter A. Henning:

>
> http://www.danielfett.de/internet-und-opensource,artikel,regulaere-ausdruecke
>
> LG
>
> pah
>

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Das zweite ist richtig. Man muss "nur" den passenden regulären Ausdruck
finden.

LG

pah

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Wenn ich die 92_FileLog.pm ab Zeile 98 anschaue, denke ich fast, dass der
Timestamp erst später dazukommt.
Bin kein Perl Profi, aber täusche ich mich?
 
*  my $n = $dev->{NAME};
  my $re = $log->{REGEXP};
  my $max = int(@{$dev->{CHANGED}});
  for (my $i = 0; $i < $max; $i++) {
    my $s = $dev->{CHANGED}[$i];
    $s = "" if(!defined($s));
    if($n =~ m/^$re$/ || "$n:$s" =~ m/^$re$/) {
      my $t = TimeNow();
      $t = $dev->{CHANGETIME}[$i] if(defined($dev->{CHANGETIME}[$i]));
      $t =~ s/ /_/; # Makes it easier to parse with gnuplot*
*      FileLog_Switch($log);*
*      my $fh = $log->{FH};
      print $fh "$t $n $s\n";*
 
 

Am Freitag, 20. Juli 2012 17:01:00 UTC+2 schrieb Prof. Dr. Peter A. Henning:

> Das zweite ist richtig. Man muss "nur" den passenden regulären Ausdruck
> finden.
>
> LG
>
> pah
>

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com