FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Bennemannc am 18 Januar 2015, 16:39:32

Titel: [gelöst] Regexp im Plot einsetzen
Beitrag von: Bennemannc am 18 Januar 2015, 16:39:32
Hallo,

ich nutze den Universal-Sensor von Dirk. Der bringt Nachts (warum auch immer) keine Helligkeitswerte.
2015-01-13_07:15:38 Weather_1 T: 10.2 H: 84 P: 10026 P-NN: 10028 batVoltage: 2.80
2015-01-13_07:18:08 Weather_1 T: 10.2 H: 84 P: 10025 P-NN: 10027 batVoltage: 2.82
2015-01-13_07:20:22 Weather_1 T: 10.2 H: 84 P: 10024 P-NN: 10026 batVoltage: 2.81
2015-01-13_07:23:30 Weather_1 T: 10.1 H: 84 P: 10028 P-NN: 10030 batVoltage: 2.80
2015-01-13_07:26:22 Weather_1 T: 10.1 H: 84 L: 0 P: 10025 P-NN: 10027 batVoltage: 2.82
2015-01-13_07:28:59 Weather_1 T: 10.1 H: 84 L: 0 P: 10024 P-NN: 10026 batVoltage: 2.80
2015-01-13_07:31:20 Weather_1 T: 10.1 H: 84 P: 10025 P-NN: 10027 batVoltage: 2.82
2015-01-13_07:34:35 Weather_1 T: 10.1 H: 84 L: 0 P: 10024 P-NN: 10026 batVoltage: 2.80
2015-01-13_07:37:33 Weather_1 T: 10.1 H: 84 L: 0 P: 10025 P-NN: 10027 batVoltage: 2.80
2015-01-13_07:40:17 Weather_1 T: 10.1 H: 84 L: 0 P: 10024 P-NN: 10026 batVoltage: 2.80
2015-01-13_07:42:45 Weather_1 T: 10.0 H: 84 L: 0 P: 10023 P-NN: 10025 batVoltage: 2.80
2015-01-13_07:44:57 Weather_1 T: 10.0 H: 84 L: 0 P: 10023 P-NN: 10025 batVoltage: 2.82
2015-01-13_07:48:03 Weather_1 T: 10.0 H: 85 L: 0 P: 10023 P-NN: 10025 batVoltage: 2.80
2015-01-13_07:50:53 Weather_1 T: 10.0 H: 85 L: 0 P: 10024 P-NN: 10026 batVoltage: 2.80
2015-01-13_07:53:28 Weather_1 T: 9.9 H: 85 L: 0 P: 10023 P-NN: 10025 batVoltage: 2.80
2015-01-13_07:55:47 Weather_1 T: 9.9 H: 85 L: 0 P: 10022 P-NN: 10024 batVoltage: 2.80
2015-01-13_07:59:00 Weather_1 T: 9.9 H: 85 L: 0.01 P: 10022 P-NN: 10024 batVoltage: 2.81
2015-01-13_08:01:57 Weather_1 T: 9.9 H: 85 L: 0.01 P: 10022 P-NN: 10024 batVoltage: 2.80
2015-01-13_08:04:38 Weather_1 T: 9.9 H: 85 L: 0.05 P: 10024 P-NN: 10026 batVoltage: 2.80
2015-01-13_08:07:04 Weather_1 T: 9.9 H: 85 L: 0.02 P: 10023 P-NN: 10025 batVoltage: 2.80
2015-01-13_08:10:24 Weather_1 T: 9.8 H: 85 L: 0.07 P: 10025 P-NN: 10027 batVoltage: 2.81
2015-01-13_08:13:27 Weather_1 T: 9.8 H: 85 L: 0.08 P: 10026 P-NN: 10028 batVoltage: 2.80
2015-01-13_08:16:16 Weather_1 T: 9.8 H: 85 L: 0.23 P: 10022 P-NN: 10024 batVoltage: 2.80
2015-01-13_08:18:48 Weather_1 T: 9.8 H: 85 L: 0.31 P: 10023 P-NN: 10025 batVoltage: 2.81
2015-01-13_08:21:05 Weather_1 T: 9.8 H: 85 L: 0.5 P: 10022 P-NN: 10024 batVoltage: 2.79
2015-01-13_08:24:16 Weather_1 T: 9.7 H: 85 L: 0.74 P: 10020 P-NN: 10022 batVoltage: 2.80
2015-01-13_08:27:11 Weather_1 T: 9.7 H: 85 L: 1.07 P: 10020 P-NN: 10022 batVoltage: 2.82
2015-01-13_08:29:51 Weather_1 T: 9.7 H: 85 L: 1.46 P: 10022 P-NN: 10024 batVoltage: 2.82
2015-01-13_08:32:15 Weather_1 T: 9.6 H: 85 L: 2.09 P: 10021 P-NN: 10023 batVoltage: 2.82
2015-01-13_08:35:32 Weather_1 T: 9.6 H: 85 L: 1.88 P: 10021 P-NN: 10023 batVoltage: 2.81
2015-01-13_08:38:34 Weather_1 T: 9.6 H: 85 L: 2.75 P: 10021 P-NN: 10023 batVoltage: 2.80
2015-01-13_08:41:20 Weather_1 T: 9.5 H: 85 L: 3.51 P: 10021 P-NN: 10023 batVoltage: 2.80
2015-01-13_08:43:51 Weather_1 T: 9.5 H: 85 L: 4.78 P: 10021 P-NN: 10023 batVoltage: 2.81
2015-01-13_08:46:06 Weather_1 T: 9.5 H: 85 L: 6.2 P: 10020 P-NN: 10022 batVoltage: 2.81
2015-01-13_08:49:15 Weather_1 T: 9.5 H: 85 L: 8.35 P: 10021 P-NN: 10023 batVoltage: 2.80
2015-01-13_08:52:08 Weather_1 T: 9.5 H: 85 L: 8.9 P: 10021 P-NN: 10023 batVoltage: 2.82
2015-01-13_08:54:46 Weather_1 T: 9.5 H: 85 L: 10.57 P: 10020 P-NN: 10022 batVoltage: 2.82
2015-01-13_08:57:08 Weather_1 T: 9.4 H: 86 L: 11.9 P: 10020 P-NN: 10022 batVoltage: 2.81
2015-01-13_09:00:23 Weather_1 T: 9.3 H: 86 L: 14.6 P: 10020 P-NN: 10022 batVoltage: 2.80
2015-01-13_09:03:23 Weather_1 T: 9.3 H: 86 L: 13.84 P: 10021 P-NN: 10023 batVoltage: 2.82
2015-01-13_09:06:08 Weather_1 T: 9.2 H: 86 L: 14.06 P: 10020 P-NN: 10022 batVoltage: 2.79
2015-01-13_09:08:36 Weather_1 T: 9.2 H: 87 L: 19.23 P: 10019 P-NN: 10021 batVoltage: 2.80
2015-01-13_09:10:49 Weather_1 T: 9.2 H: 87 L: 21.78 P: 10019 P-NN: 10021 batVoltage: 2.80
2015-01-13_09:13:56 Weather_1 T: 9.1 H: 87 L: 28.94 P: 10018 P-NN: 10020 batVoltage: 2.82
2015-01-13_09:16:47 Weather_1 T: 9.1 H: 87 L: 36.27 P: 10019 P-NN: 10021 batVoltage: 2.80
2015-01-13_09:19:22 Weather_1 T: 9.0 H: 87 L: 43.9 P: 10018 P-NN: 10020 batVoltage: 2.79

Mit dem 'normalen' gPlot und einer Spaltenauswertung komme ich so natürlich nicht weiter. Ich habe schon einiges probiert - auch mit einem Online Regexp Tester. Aber ich habe es nie hinbekommen.
Was muss ich tun, damit wenn kein L: im Log steht der Wert 0 im Plot angezeigt wird ?

Gruß Christoph
Titel: Antw:Regexp im Plot einsetzen
Beitrag von: TomWest am 19 Januar 2015, 09:07:41
Kann man die Sensorwerte nicht per Notify an eine eigene Routine in myUtils übergeben, die fehlende Werte feststellt und mit Defaultwerten ins Logfile schreibt?
Titel: Antw:Regexp im Plot einsetzen
Beitrag von: frank am 19 Januar 2015, 11:03:57
logge zusätzlich das reading luminosity vom sensor. das lässt sich sehr schön plotten.
wie erzeugst du deinen logeintrag? dort könntest du vielleicht auch ansetzen.
Titel: Antw:Regexp im Plot einsetzen
Beitrag von: Otto123 am 19 Januar 2015, 11:39:45
Kann man nicht per
$fld[6]=~"P:"?0

im function Feld des SVG Plots quasi P: in 0 um mappen?

Nur ne Idee, kann sein dass ich das auch noch nicht verstanden habe.

Gruß Otto
Titel: Antw:Regexp im Plot einsetzen
Beitrag von: frank am 19 Januar 2015, 11:51:08
leider hat man wohl nur zugriff auf die daten der spalte, die bei column ausgewählt ist. wählst du die spalte mit L/P, kannst du natürlich "kein L" erkennen und auf 0 mappen. wenn aber L vorhanden ist, hat man keinen zugriff auf die spalte mit den werten für L.
Titel: Antw:Regexp im Plot einsetzen
Beitrag von: Bennemannc am 19 Januar 2015, 12:01:08
Hallo Frank,

ich logge mit "T:.*" einfach alles was vom Sensor kommt. Die Idee mit dem Mappen hatte ich auch schon - da kann man ja auf alle Felder mit $fld[ ] zugreifen. Mann müsste eine IF einbauen, die nachschaut welcher Buchstabe im Feld 6 steht und Feld 7 bei "P" auf 0 umschreiben.
Die zweite Überlegung war mit Regexp zu arbeiten - also nur Feld 7 anzeigen wenn (L\a3x) und Oben statt Spalte 8 Spalte 7 anwählen. Dann meckert fhem aber - von wegen kein numerischer Wert.
Es würde ja reichen, generell in der kompletten Zeile anch einem "L" zu suchen.

Gruß Christoph
Titel: Antw:Regexp im Plot einsetzen
Beitrag von: Otto123 am 19 Januar 2015, 12:12:40
genau man bräuchte ein IF. Leider habe ich nicht gefunden ob und wenn wie das geht.

Bzw ist ja der Ausdruck ~"P:" wie ein IF, zumindest habe ich irgendwo ein Beispiel mit ~"on" gefunden.

Irgendwie sind die Beschreibungen, was dort in dem Feld geht sehr dürftig.

Gruß Otto
Titel: Antw:Regexp im Plot einsetzen
Beitrag von: frank am 19 Januar 2015, 12:35:08
ZitatMann müsste eine IF einbauen, die nachschaut welcher Buchstabe im Feld 6 steht und Feld 7 bei "P" auf 0 umschreiben.
$fld[6]=~"P"?0:$fld[7]
und stelle column=7 ein.
Titel: Antw:[gelöst] Regexp im Plot einsetzen
Beitrag von: Bennemannc am 19 Januar 2015, 17:51:54
Hallo Frank,

genau das habe ich gesucht. Ich habe das im unteren Feld für die Formel gepackt. Welche Column ich oben einstelle ist anscheinend egal - es geht mit 7 oder 8. Anscheinend wird einfach stupf das Feld genommen und ausgewertet.

Gruß Christoph