FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: franky08 am 04 Februar 2014, 18:52:58

Titel: [gelöst] Frage zu gplot, Unterschied DbLog und FileLog
Beitrag von: franky08 am 04 Februar 2014, 18:52:58
Hallo, ich versuche schon einige Zeit warum regexp im FileLog funktioniert aber mit DbLog nicht.
Im FileLog:
#FileLog 3:Schalter_Wohnungstuer.*:0:$fld[2]=~"on"?1:0

funktioniert.

Im DbLog:
#DbLog 3:Schalter_Wohnungstuer.*:0:$fld[2]=~"on"?1:0

Dabei ist es egal ob ich auf "on" oder "open" prüfe, mit FileLog geht es, mit DbLog nicht. Egal wie ich regexp versuche anzupassen.
Die funktionierende gplot Datei (mit FileLog):
# Created by FHEM/98_SVG.pm, 2013-11-14 19:09:32
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 '<TL> <L1>'
set ytics ("closed" 0, "open" 1)
set y2tics ("closed" 0, "open" 1)
set grid
set ylabel "Status"
set y2label "Status"
set yrange [-0.1:1.1]
set y2range [-0.1:1.1]

#FileLog 3:Schalter_Wohnungstuer.*:0:$fld[2]=~"on"?1:0

plot "<IN>" using 1:2 axes x1y2 notitle ls l0 lw 1 with steps

Habe in der letzten Zeit 17 Plots von FileLog auf DbLog problemlos umstellen können aber an dem Schalter kapituliere ich langsam.

Wo liegt mein Denkfehler?

VG
Frank
Titel: Antw:Frage zu gplot, Unterschied DbLog und FileLog
Beitrag von: Puschel74 am 04 Februar 2014, 20:47:34
Hallo,

da meine GPlot auch dim abfängt (dank andre) sieht die GPLOT bei mir so aus:

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 ("Aus" 0, "Ein" 1)
set y2tics ("Aus" 0, "Ein" 1)
set yrange [-0.1:1.1]
set y2range [-0.1:1.1]
set ylabel "Status"
set y2label "Status"

#DbLog <SPEC1>:state:::$val=~s/(Ein|Aus|dim)(\d*).*/$1eq"Ein"?1:($1eq"dim"?$2*0.01:0)/eg

plot "< awk '{print $1, $3~/dim.*/? 1 : 0; }' <IN>"\
        using 1:2 notitle with steps


Ich mappe aber on/off auf Ein/Aus.

Hoffe das hilft dir weiter.

Grüße
Titel: Antw:Frage zu gplot, Unterschied DbLog und FileLog
Beitrag von: franky08 am 04 Februar 2014, 21:18:29
Das war der Tip, funktioniert auf Anhieb. Die regexp, da wäre ich mit meinen bescheidenen Perl Kenntnissen nie drauf gekommen, wie es gefiltert werden muss.
Die gplot Datei hat jetzt auch den Namen puschel2.gplot  ;)

Danke, ich sitze seit 2 Wochen daran und hatte den einen Sensor schon wieder auf FileLog umgestellt.

VG
Frank
Titel: Antw:[gelöst] Frage zu gplot, Unterschied DbLog und FileLog
Beitrag von: Puschel74 am 04 Februar 2014, 21:52:01
Hallo,

ZitatDie gplot Datei hat jetzt auch den Namen puschel2.gplot
Das ehrt mich aber ich will mich keinesfalls mit fremden Federn schmücken.

ZitatDie regexp, da wäre ich mit meinen bescheidenen Perl Kenntnissen nie drauf gekommen, wie es gefiltert werden muss.
Denkst du ich?
Mir hat andre dabei geholfen - und mir einiges beigebracht was regexp anbelangt.

Also wenn dann sollte die Datei andre.gplot heissen  ;D
Wobei ich sie einfach nur fs20db.gplot benannt habe  8)

Grüße
Titel: Antw:[gelöst] Frage zu gplot, Unterschied DbLog und FileLog
Beitrag von: franky08 am 04 Februar 2014, 22:55:02
Ich nochmal, obwohl die gplot funktioniert, bringt das Log jetzt jede Menge Fehler in der Art:
2014.02.04 21:03:51 3: DbLog: Error in inline function: <$val=~s/(open|closed)(\d*).*/$1eq"open"?1:/eg>, Error: syntax error at (eval 7838) line 1, at EOF

2014.02.04 21:03:51 3: DbLog: Error in inline function: <$val=~s/(open|closed)(\d*).*/$1eq"open"?1:/eg>, Error: syntax error at (eval 7839) line 1, at EOF

2014.02.04 21:03:51 3: DbLog: Error in inline function: <$val=~s/(open|closed)(\d*).*/$1eq"open"?1:/eg>, Error: syntax error at (eval 7840) line 1, at EOF

2014.02.04 21:03:51 3: DbLog: Error in inline function: <$val=~s/(open|closed)(\d*).*/$1eq"open"?1:/eg>, Error: syntax error at (eval 7841) line 1, at EOF

2014.02.04 21:03:51 3: DbLog: Error in inline function: <$val=~s/(open|closed)(\d*).*/$1eq"open"?1:/eg>, Error: syntax error at (eval 7842) line 1, at EOF

2014.02.04 21:03:51 3: DbLog: Error in inline function: <$val=~s/(open|closed)(\d*).*/$1eq"open"?1:/eg>, Error: syntax error at (eval 7843) line 1, at EOF



regexp:
#DbLog <SPEC1>:state:::$val=~s/(open|closed|dim)(\d*).*/$1eq"open"?1:($1eq"dim"?$2*0.01:0)/eg

plot "< awk '{print $1, $3~/dim.*/? 1 : 0; }' <IN>"\
        using 1:2 notitle with steps


Hast du eine Idee?
Gruß Frank
Titel: Antw:[gelöst] Frage zu gplot, Unterschied DbLog und FileLog
Beitrag von: Puschel74 am 04 Februar 2014, 22:58:20
Hallo,

ähem - sorry da hab ich keine Idee.
update mal ausgeführt?
Ich hab keine Fehler im Log.

Grüße
Titel: Antw:[gelöst] Frage zu gplot, Unterschied DbLog und FileLog
Beitrag von: franky08 am 04 Februar 2014, 23:03:46
Mach ich morgen. Mal sehen, was da los ist.

VG
Frank
Titel: Antw:[gelöst] Frage zu gplot, Unterschied DbLog und FileLog
Beitrag von: franky08 am 05 Februar 2014, 09:49:56
@Puschel74
Nachdem ich gestern Abend Debian komplett neu gestartet habe, sind die Fehlermeldungen im Log weg! Hätte wahrscheinlich auch gereicht fhem mit einem shutdown restart mal neu zu starten.

VG
Frank