FHEM Forum

FHEM => Frontends => SVG / Plots / logProxy => Thema gestartet von: jan4321 am 04 März 2019, 15:14:43

Titel: SVG Plot Daten aus Log lesen ohne Leerzeichen
Beitrag von: jan4321 am 04 März 2019, 15:14:43
Hallo,
ich habe folgendes Log, von dem ich gerne Sensor 1 und Sensor 2 die Temperatur und Luftfeuchtigkeit plotten möchte.

2019-03-04_15:01:22 mqttTempSensor sensor1: {"temperature":22.95,"linkquality":134,"humidity":53.04,"pressure":981,"battery":100,"voltage":3005}
2019-03-04_15:04:40 mqttTempSensor sensor2: {"temperature":21.4,"linkquality":42,"humidity":54.35,"pressure":981,"battery":100,"voltage":3005}
2019-03-04_15:04:40 mqttTempSensor transmission-state: incoming publish received

Wie muss ich beim SVG Plot die Felder Column, Regexp,DefaultValue und Function ausfüllen, damit er die werte aus den String extrahiert? wie definiert man beispielsweise dass er den String zwischen "temperature:" und "," auswählt?
Titel: Antw:SVG Plot Daten aus Log lesen ohne Leerzeichen
Beitrag von: rudolfkoenig am 04 März 2019, 18:04:27
Eigentlich konvertiert man diese Daten in Einzel-Readings beim Empfang (z.Bsp. macht MQTT2_DEVICE das bei autocreate mit json2nameValue automatisch), und man protokolliert die Einzel-Readings. Wen man unbedingt mehrere Werte in einer Zeile haben will, dann kann man mit userReadings diese wieder zusammenstellen, dann sind diese Zeilen mit SVG einfach verdaulich.

In diesem Fall muss man regexp bemuehen. D.h. im SVG-Editor traegt man ein:
- in der Filter Spalte mqttTempSensor.sensor1:
- in der Function Spalte $fld[3]=~m/"temperature":([\d.]*)/?$1:0
usw.
Titel: Antw:SVG Plot Daten aus Log lesen ohne Leerzeichen
Beitrag von: Frank_Huber am 04 März 2019, 18:58:58
Im sysmon RAM plot wird auch ein log Eintrag auf 3 Linien geteilt.
Schau doch dort ab wie es geht.

Gesendet von meinem Doogee S60 mit Tapatalk