Hallo zusammen,
ich komme gerade nicht weiter, die richtige Funktion zur Anzeige einer Temperatur im SVG Plot zu erstellen. Die liegt ein wenig verschachtelt vor im Log:
Example lines for input:
2016-11-18_23:42:01 TempDiffSen.02 T1: 25.3
2016-11-20_01:20:42 TempDiffSen.02 T1_T2: -0.1
2016-11-18_23:42:01 TempDiffSen.02 T2: 25.0
2016-11-20_01:20:42 TempDiffSen.02 T2_T1: 0.1
2016-11-20_01:25:23 TempDiffSen.02 battery: ok
Ich benötige den Wert, der hinter "T1: " steht. Und auch nur, wenn "T1: " dort steht, da ich die Differenzwerte etc. nicht anzeigen möchte bzw. die mir den Graph zerschießen.
Meine Tests mit
$fld[2]=~"T1:"?fld[3]:0
$fld[2]=~s/T1:\s/
schlugen leider fehl.
Ich gehe mal davon aus, dass das irgendwie möglich ist und ich die Werte nicht extra loggen muss!?
Gruß
Ronny
Das Regexp Feld muss als Erstes richtig spezifiziert sein, die Funktion kommt erst danach.
Im Plot-Editor hilft dir "Show preprocessed input".
Input Column habe ich auf 3. Der entscheidende Hinweis war die Vorschau "Show preprocessed Input". Damit konnte ich mich zum Ziel herantasten (und zwischendurch entdecken, dass die relevanten Werte aktuell gar nicht geloggt wurden...):
$fld[2]=~"^T1:"?$fld[3]:""
2016-11-18_23:42:01 TempDiffSen.02 T1: 25.3
Das habe ich bisher leider nicht genutzt, weil es für mich nicht intuitiv genug war. Danke für den Tipp!
Ist diesbezüglich vielleicht ein wenig OT:
ich frage mich, ob man aus der Anzeige der Logs heraus nicht sogar ein Regexp per Mausklick erstellen lassen kann. Auch beim Eventmonitor für Notifies. Ich mache immer wieder Anfängerfehler besonders bei Doppelpunkten und Freizeichen und wundere mich dann, warum das Notify nicht greift.
Gruß
Ronny
Zitatich frage mich, ob man aus der Anzeige der Logs heraus nicht sogar ein Regexp per Mausklick erstellen lassen kann.
Nur zu, Patches nehme ich immer wieder gerne.