Hallo Zusammen,
ich habe bin gerade dabei auf DBLog umzusteigen und dann auch entsprechend die Plots anzupassen.
Wenn ich jedoch in einem plot den Logproxy aktiviere schmiert Fhem komplett ab. Im Eventlog finden man dann folgenden Eintrag.
Can't use string ("") as a SCALAR ref while "strict refs" in use at ./FHEM/98_logProxy.pm line 941.
Was ich eigentlich gemacht habe ist folgende funktionierende Zeile
#logdb Handy_01:presence:::$val=~s/(present|absent)(\d*).*/$1eq"present"?1:0/eg;
zu erweitern mit dem Logproxy eintrag, der dann wie folgt aussehen sollte
#lp logdb:Handy_01:presence:::$val=~s/(present|absent)(\d*).*/$1eq"present"?1:0/eg;
sobald man dann versucht den Graphen zu öffnen stürzt Fhem komplett ab.
Mach ich da was falsch ?? :'(
Gruß
Markus
mmh bin ich der einzige mit diesem Problem?
Benutze Fhem ( volles update) auf einem Raspberry PI3. OS ist auch letztes release.
Wäre klasse wenn einer eine Idee hätte.
Gruß
Markus
der absturz kommt weil es keine plot daten gibt und ich das nicht abgefangen habe. das ist jetzt repariert.
das es keine plot daten gibt könnte etwas mit deiner regex und den readings zu tun haben. bin mir aber nicht ganz sicher.
ein $val=($val=~'present'?1:0)
sollte übrigens reichen.
gruss
andre
okay super vielen Dank !! Du bist der Beste !! :-)
werde ich nachher direkt testen.
Das es "jetzt" funktioniert heißt ich soll nochmal ein Update machen, da ich eventuell eine ältere Version habe??
Gruß
Markus
mit dem update morgen oder jetzt per svn.
gruss
andre
hallo Andre,
hab mir die Datei mal aus svn geholt und getestet. Abstürzten tut Fehem zar jetzt nicht mehr aber über logproxy bekommt er keine Daten und der Plot ist leer :-(
Gruß
Markus
kann es sein das in deiner columnspec zeile noch das DbLog schlüsselwort fehlt?
aus deiner#logdb Handy_01:presence:::$val=~s/(present|absent)(\d*).*/$1eq"present"?1:0/eg;
zeile wird#logProxy DbLog:logdb:Handy_01:presence:::$val=~s/(present|absent)(\d*).*/$1eq"present"?1:0/eg;
d.h.: das log device direkt nach dem # wird zu logProxy und nach dem space musst du DbLog:<logDevice> einfügen.
und natürlich am besten mit der kürzeren $val variante :)
gruss
andre
edit: ab morgen gibt es dafür eine meldung im log
mist bin ich dämlich, klappt so wie du gesagt hast...
Vielen Dank!!!
und mit predict müsste es dann so aussehen oder?
#lp DbLog:logdb:Handy_01,predict,extend=24*60*60:presence:::$val=($val=~'present'?1:0);
Gruß
Markus
neee so müsste es richtig sein..
#lp DbLog:logdb,predict,extend=24*60*60:Handy_01:presence:::$val=($val=~'present'?1:0);