Plot aus DBLog und Leerzeichen getrennten Werten

Begonnen von der-sigi, 18 Oktober 2017, 21:46:49

Vorheriges Thema - Nächstes Thema

der-sigi

Hallole

irgendwie bin ich auf den Kopf gefallen und blick es nicht:

Ich schreibe meine Logs als FileLog, das ist einfacher verteilbar, wartbar, lesbar usw. Mein Raspi bekommt aber Probleme, wenn ein Plot mit 10 Temperaturwerten abzuarbeiten ist oder so. Also dachte ich, schreibe ich die Werte (zum Testen) mal parallel in eine SQLite Datenbank und mach daraus den Plot. Bei einem Plot aus einem FileLog kann man schön Leerzeichen getrennte Zeilen verwenden und einen bestimmten Wert herausfischen und nutzen. Ich schreibe der Übersichtlichkeit halber zu einem Raum alle Werte in eine Log Zeile (Leerzeichen getrennt wegen dem Plot). Beim Auslesen der Zeile aus der DB gibt es die Möglichkeit nicht mehr einen Wert aus einer multiplen Werte Zeile herauszunehmen. Nach einigem Lesen, irgendwie habe ich keine Dokumentation dazu gefunden, bin ich auf die Variable $val gekommen.

Wenn ich den ersten Wert aus der Zeile brauche, dann funktioniert (gplot Datei):
#MyDBLog MyLogState:state:::$val=~s/^AUSSEN\s([\d.*])\s*/$1/eg

Wenn ich einen anderen Wert, beispielsweise an der 8. Stelle benötige, nehme ich folgendes, was aber nicht geht:
#MyDBLog MyLogState:state:::$val=((split(/\\s/,$val))[7])

Unter Perl direkt funktioniert das einwandfrei. Was habe ich übersehen? Oder wie macht Ihr das?

Beispielzeile:
2017-10-01_00:02:06 MyLogState AUSSEN 14.1 = - 10.2 08:22 26.2 15:40 70 = + 8.7 ok

In der Datenbank steht der Inhalt ab "AUSSEN" als Wert drin.

der-sigi

Wo steht denn ein bisschen mehr zu der gplot Definition und was alles in welches (Doppelpunkt) Feld gehört und was man mit dem $val (vielleicht gibt es noch mehr) machen kann? Infos wären hilfreich. Auch wie Ihr so manches damit gelöst habt. Danke.

#MyDBLog MyLogState:state:::$val=~s/^AUSSEN\s([\d.*])\s*/$1/eg