Autor Thema: Column im SVG Plot bei DBLog  (Gelesen 249 mal)

Offline Tabularasa

  • Full Member
  • ***
  • Beiträge: 176
Column im SVG Plot bei DBLog
« am: 26 November 2018, 22:02:31 »
Hallo. Ich habe auf dblog umgestellt. Ich habe ein Reading von dem statistics Modul, welches mehrere Werte enthält. Mit filelog konnte ich bei column den richtigen Wert für den Plot auswählen wie man es in dem ersten Bild sieht. Wie kann ich diese Werte von dem Reading denn bei dblog darstellen? Dort fehlen mir bei der Auswahl auch sämtliche aktuellen Werte.

Edit: muss ich denn Current oder History beim erstellen der SVG Plots auswählen?
« Letzte Änderung: 04 Dezember 2018, 20:36:24 von Tabularasa »

Offline Tabularasa

  • Full Member
  • ***
  • Beiträge: 176
Antw:Column im SVG Plot bei DBLog
« Antwort #1 am: 04 Dezember 2018, 20:43:33 »
Hab das Thema mal hierher verschoben und will es mal wieder vorholen ;D

Offline DS_Starter

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3159
Antw:Column im SVG Plot bei DBLog
« Antwort #2 am: 04 Dezember 2018, 22:49:27 »
Zitat
Edit: muss ich denn Current oder History beim erstellen der SVG Plots auswählen?
Immer die Werte aus der history Tabelle. Die current ist nur eine Hilfestellung zur Auswahl der Device/Reading Kombinationen im SVG-Editor.

Alle Readings deren Inhalt sich aus mehreren Werten zusammensetzt musst du mit regulären Ausdrücken behandeln um den gewünschten Wert zu extrahieren.

Beispiel zur Extraktion der drei Bestandteile eines state-Readings:

Datensatz: state T: 19.6 H: 53 D: 9.8

#lp DbLog:logdb,predict,extend=24*60*60:Temp_Zimmer:state:::$val=~s/.*H..([\d.]*).*/$1/eg     (H-Wert extrahieren)
#lp DbLog:logdb,predict,extend=24*60*60:Temp_Zimmer:state:::$val=~s/^T..([\d.]*).*/$1/eg      (T-Wert extrahieren)
#lp DbLog:logdb,predict,extend=48*60*60:Temp_Zimmer:state:::$val=~s/.*D..([\d.]*).*/$1/eg     (D-Wert extrahieren)


Im Wiki gibt es auch noch Erläuterungen dazu: https://wiki.fhem.de/wiki/SVG-Plots_von_FileLog_auf_DbLog_umstellen
ESXi 6.5 auf NUC6i5SYH mit FHEM auf Debian 9/64 Bit  (Stretch), DbLog/DbRep mit MariaDB auf Synology 415+
Maintainer: SSCam, DbLog/DbRep, Log2Syslog, Dashboard (interims)
aktive Mitarbeit:SMAEM, SMAInverter
Kaffeekasse: https://www.paypal.me/HMaaz
Informativ Informativ x 1 Liste anzeigen

Offline Tabularasa

  • Full Member
  • ***
  • Beiträge: 176
Antw:Column im SVG Plot bei DBLog
« Antwort #3 am: 05 Dezember 2018, 20:33:57 »
Immer die Werte aus der history Tabelle. Die current ist nur eine Hilfestellung zur Auswahl der Device/Reading Kombinationen im SVG-Editor.

Ok. Danke. Weil sich, egal ob ich current oder history anhänge, die Plots gleichermaßen aufbauen. Aber nochmal kurz die Frage, warum habe ich keine Zahlen Werte bei den example lines for input?

Beispiel zur Extraktion der drei Bestandteile eines state-Readings:
Datensatz: state T: 19.6 H: 53 D: 9.8

#lp DbLog:logdb,predict,extend=24*60*60:Temp_Zimmer:state:::$val=~s/.*H..([\d.]*).*/$1/eg     (H-Wert extrahieren)
#lp DbLog:logdb,predict,extend=24*60*60:Temp_Zimmer:state:::$val=~s/^T..([\d.]*).*/$1/eg      (T-Wert extrahieren)
#lp DbLog:logdb,predict,extend=48*60*60:Temp_Zimmer:state:::$val=~s/.*D..([\d.]*).*/$1/eg     (D-Wert extrahieren)


Im Wiki gibt es auch noch Erläuterungen dazu: https://wiki.fhem.de/wiki/SVG-Plots_von_FileLog_auf_DbLog_umstellen
Könntest du mir das nochmal aufschlüsseln oder einen link/suchwort geben wo ich das verstehen kann?
:::---->
$val=~s/ ---->
^T..----->
([\d.]*).*---->
/$1/----->
eg ----->

Und warum ^T und nicht .*T?

Herzlichen Dank

Offline DS_Starter

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3159
Antw:Column im SVG Plot bei DBLog
« Antwort #4 am: 05 Dezember 2018, 21:52:56 »
Zitat
Aber nochmal kurz die Frage, warum habe ich keine Zahlen Werte bei den example lines for input?
Der SVG-Editor wird durch das SVG-Modul bereitgestellt. Die Frage wäre dort richtig gestellt. Aber soviel ich weiß ist das Editorverhalten je nach Quelle (Filelog/Dblog) nicht exakt gleich. Wenn ich es noch richtig weiß (verwende Filelog nicht) stellen diese Zahlenwerte das Wertfeld dar, siehe https://wiki.fhem.de/wiki/Plots_erzeugen

:::---->                  .gplot File Formatvorgabe , https://wiki.fhem.de/wiki/Plots_erzeugen
$val=~s/ ---->        $val wird durch den regulären Ausdruck s/... verändert 
^T..----->                Zeichenkette beginnt mit T gefolgt von zwei beliebigen Zeichen
([\d.]*).*---->         regulärer Ausdruck  \d. steht für eine Ziffer oder Punkt, das ganze beliebig oft -> wird in Variable $1 gespeichert
/$1/----->               hier wird der Wert von Variable $1 eingesetzt
eg ----->                Modifikatoren:  e -> $1 wird als Ausdruck und nicht als Suchstring gewertet  g -> globale Suche  (http://www.mathematik.uni-ulm.de/help/perl5/doc/perlop.html)

Ich hoffe damit kommst du klar und ich habe alles richtig dargestellt/erläutert  ;)

Grüße
Heiko

ESXi 6.5 auf NUC6i5SYH mit FHEM auf Debian 9/64 Bit  (Stretch), DbLog/DbRep mit MariaDB auf Synology 415+
Maintainer: SSCam, DbLog/DbRep, Log2Syslog, Dashboard (interims)
aktive Mitarbeit:SMAEM, SMAInverter
Kaffeekasse: https://www.paypal.me/HMaaz

Offline Tabularasa

  • Full Member
  • ***
  • Beiträge: 176
Antw:Column im SVG Plot bei DBLog
« Antwort #5 am: 06 Dezember 2018, 22:16:16 »
Erstmal schönen Dank für die ausführliche Erläuterung. Ich dachte auch erst ich habe es verstanden und habe von den vorhandenen gplots diese genommen
# SYSMON
#
# Network-Traffic ETH0 (DbLog)
#

set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "

set title '<L1>'
set ylabel "Traffic RX / TX"
set y2label "Traffic Total"
set grid
set ytics
set y2tics
set format y "%.2f"
set format y2 "%.2f"

#DbLog <SPEC1>:eth0_diff:::$val=~s/^RX..([\d.]*).*/$1/eg
#DbLog <SPEC1>:eth0_diff:::$val=~s/.*TX..([\d.]*).*/$1/eg
#DbLog <SPEC1>:eth0_diff:::$val=~s/.*Total..([\d.]*).*/$1/eg

plot \
   "< awk '/eth0_diff:/ {print $1, $4}' <IN>" \
   using 1:2 ls l0 axes x1y1 title 'RX' lw 1 with lines \
   "< awk '/eth0_diff:/ {print $1, $4}' <IN>" \
   using 1:2 ls l1 axes x1y1 title 'TX' lw 1 with lines \
   "< awk '/eth0_diff:/ {print $1, $4}' <IN>" \
   using 1:2 ls l2 axes x1y2 title 'Total' lw 1 with lines \
und versucht an mich anzupassen
# Created by FHEM/98_SVG.pm, 2018-12-06 20:46:03
# SYSMON
#
# Network-Traffic ETH0 (DbLog)
#

set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "

set title '<L1>'
set ylabel "Traffic RX / TX"
set y2label "Traffic Total"
set grid
set ytics
set y2tics
set format y "%.2f"
set format y2 "%.2f"


#DbLogging RPi:eth0_diff:::$val=~s/^RX..([\d.]*).*/$1/eg
#DbLogging RPi:eth0_diff:::$val=~s/.*TX..([\d.]*).*/$1/eg
#DbLogging RPi:eth0_diff:::$val=~s/.*Total..([\d.]*).*/$1/eg

plot \
   "< awk '/eth0_diff:/ {print $1, $4}' <IN>" \
   using 1:2 ls l0 axes x1y1 title 'RX' lw 1 with lines \
   "< awk '/eth0_diff:/ {print $1, $4}' <IN>" \
   using 1:2 ls l1 axes x1y1 title 'TX' lw 1 with lines \
   "< awk '/eth0_diff:/ {print $1, $4}' <IN>" \
   using 1:2 ls l2 axes x1y2 title 'Total' lw 1 with lines \
jedoch bekomme ich keinen Graphen angezeigt.

Offline DS_Starter

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3159
Antw:Column im SVG Plot bei DBLog
« Antwort #6 am: 06 Dezember 2018, 22:38:57 »
Hier mal zum Vergleich mein funktionierendes .gplot File auch für eth0 von Sysmon:

# Created by FHEM/98_SVG.pm, 2016-04-17 21:20:20
set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title '<L1>'
set ytics
set y2tics
set grid
set ylabel "Traffic RX / TX"
set y2label "Traffic RX / TX"

#LogDB sysmon:eth0_diff:::$val=~s/^RX..([\d.]*).*/$1/eg
#LogDB sysmon:eth0_diff:::$val=~s/.*TX..([\d.]*).*/$1/eg

plot "<IN>" using 1:2 axes x1y1 title 'empfangen' ls l1 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y1 title 'gesendet' ls l0 lw 1 with lines

Benutze die Taste Show preprocessed input. Dort müssen die Rohwerte aufgelistet werden.
ESXi 6.5 auf NUC6i5SYH mit FHEM auf Debian 9/64 Bit  (Stretch), DbLog/DbRep mit MariaDB auf Synology 415+
Maintainer: SSCam, DbLog/DbRep, Log2Syslog, Dashboard (interims)
aktive Mitarbeit:SMAEM, SMAInverter
Kaffeekasse: https://www.paypal.me/HMaaz

Offline Tabularasa

  • Full Member
  • ***
  • Beiträge: 176
Antw:Column im SVG Plot bei DBLog
« Antwort #7 am: 07 Dezember 2018, 09:47:02 »
Ja also wenn ich das von dir direkt auf mich umschreibe habe ich die Werte da. Da muss ich nochmal forschen wo die Unterschiede sind. Komme jedoch erst gegen Sonntag ich dazu.
Danke nochmal

 

decade-submarginal