Vielleicht ist mein Betreff nicht so ganz genau definiert.
Ich habe etwa 20 readings die aus einer Solaranlage kommen und einige davon haben den gleichen Namensanfang, jedoch andere Eweiterungen.
z.Beispiel:
2019-01-12_17:28:21 mySL_now S0_now: 612
2019-01-12_17:28:21 mySL_now Pac_now_avg: 0
2019-01-12_17:28:21 mySL_now S0_now_avg: 677
2019-01-12_17:28:51 mySL_now Pac_now: 0
2019-01-12_17:28:51 mySL_now S0_now: 818
2019-01-12_17:28:51 mySL_now Pac_now_avg: 0
2019-01-12_17:28:51 mySL_now S0_now_avg: 686
Ich schaffe es nicht nur die readings ohne avg- Endung in eine Log Datei auszusondern und in diese in eine Log Datei zu schreiben:
Mit
define FileLog_mySL FileLog ./log/mySL-%Y-%W.log mySL_now:(Pac_now|S0_now).*
ehalte immer auch die readings mit"avg" Endung.
Im Forum und auch in der commandref habe ich nichts ganaues dazu gefunden.
Wie muß ich die Abfrage definieren, damit ich wirklich nur die 2 readings (Werte) ohne avg ins Log-File schreiben kann?
Gruß aus Köln
Norbert
Im FileLog-Device gibt es ein ignore-Attribut - ich glaube, es heisst ignoreRegexp. Mit diesem solltest Du ans Ziel kommen ...
Ja das habe ich auch probiert, mit dem ignorieren bzw mit dem anschließendem Ausschließen, habe ich aber nicht hin bekommen.
Ich denke, es wird doch dafür eine einfache Lösung geben, ein bestimmtes reading auszulesen und zu loggen, ohne das alle ähnlich geschriebenen readings mit in die Auswahl fallen.
Gruß
Norbert
Ich kann aktuell leider nichts testen, aber wenn Du am Ende statt ).* ein ):.* schreibst, sollte es auch klappen ...
@ OdfFhem
Bin im Moment noch unterwegs. Werde es aber heute nachmittag auf jeden Fall probieren.
Erst mal Danke.
Melde mich dann.
Gruß
Norbert
@OdfFhem
Wunderbar, das war die Lösung mit den Doppelpunkten funktioniert es einwandfrei.
Danke !!!
Norbert
Nur nebenbei gefragt: Aber warum ist das sonst nirgendwo dokumentiert?
Weil es so nicht in die Doku gehört. Du hast einfach den regEx zu "groß" gemacht.
Nur mal als Beispiel:
Zitat2019-01-12_17:28:21 mySL_now S0_now: 612
2019-01-12_17:28:21 mySL_now Pac_now_avg: 0
Dein "mySL_now:(Pac_now|S0_now).*" trickert auf alle Zeilen, das neue "mySL_now:(Pac_now|S0_now):.*" dagegen möchte z.B. nach dem Pac_no ein ":" und das hat die Zeile mit avg nicht.
Vielen Dank für deine Erklärung. Wenn ich die lese verstehe ich es auch.
Aber da wäre ich im Traum nicht drauf gekommen, weil ich im Internet nach ähnlichen Fällen gesucht habe, und nirgends auf den Doppelpunkt gestossen bin, sonst hätte ich das als Gedankenanstoss schon verstanden und nach der Ursache geforscht.
Nochmals Danke, hat mir viel Mühe und Sucherei gespart.
Gruß aus Köln
Norbert
Der ":" bedeutet in einer RegEx infach nur ":"
So wie ein "a" einfach nur ein "a" ;o)