[Gelöst] Hilfe Logfile läuft über nach Update

Begonnen von Hackstall, 20 Februar 2023, 19:28:14

Vorheriges Thema - Nächstes Thema

Hackstall

Hallo ich habe ein Update gemacht und erhalte nun tausende von folgenden Fehlermeldungen:


2023.02.20 19:19:32 1: ERROR evaluating my $CN=   $evalSpecials->{'%CN'};my $DEVICE=   $evalSpecials->{'%DEVICE'};my $DEVICETYPE=\
   $evalSpecials->{'%DEVICETYPE'};my $EVENT=   $evalSpecials->{'%EVENT'};my $EVTPART0=   $evalSpecials->{'%EVTPART0'};my $IGNORE=\
   $evalSpecials->{'%IGNORE'};my $LASTTIMESTAMP=   $evalSpecials->{'%LASTTIMESTAMP'};my $LASTVALUE=   $evalSpecials->{'%LASTVALUE\
'};my $READING=   $evalSpecials->{'%READING'};my $TIMESTAMP=   $evalSpecials->{'%TIMESTAMP'};my $UNIT=   $evalSpecials->{'%UNIT'}\
;my $VALUE=   $evalSpecials->{'%VALUE'};{return undef; {
  if (($READING eq "energy" && $VALUE > 10000)
     {$IGNORE=1}
  }}: syntax error at (eval 486563) line 3, near ")
     {"
syntax error at (eval 486563) line 4, near "}}"

2023.02.20 19:19:32 1: ERROR evaluating my $CN=   $evalSpecials->{'%CN'};my $DEVICE=   $evalSpecials->{'%DEVICE'};my $DEVICETYPE=\
   $evalSpecials->{'%DEVICETYPE'};my $EVENT=   $evalSpecials->{'%EVENT'};my $EVTPART0=   $evalSpecials->{'%EVTPART0'};my $IGNORE=\
   $evalSpecials->{'%IGNORE'};my $LASTTIMESTAMP=   $evalSpecials->{'%LASTTIMESTAMP'};my $LASTVALUE=   $evalSpecials->{'%LASTVALUE\
'};my $READING=   $evalSpecials->{'%READING'};my $TIMESTAMP=   $evalSpecials->{'%TIMESTAMP'};my $UNIT=   $evalSpecials->{'%UNIT'}\
;my $VALUE=   $evalSpecials->{'%VALUE'};{return undef; {
  if (($READING eq "energy" && $VALUE > 10000)
     {$IGNORE=1}
  }}: syntax error at (eval 486564) line 3, near ")
     {"
syntax error at (eval 486564) line 4, near "}}"


Kann mir jemand helfen

Danke

betateilchen

Vermutlich hast Du eine Ausschlußklausel eingebaut, die das Loggen eines zu hohen Wertes an einem Energiemessgerät verhindern soll. In dieser Funktion ist ein Syntaxfehler.

Mit dem durchgeführten Update dürfte das eher wenig zu tun haben.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

DS_Starter

Stimme betateilchen zu .... und
ich glaube in deinem DbLog Attribut valueFn (oder DbLogValueFn) ist eine öffnende Klammer zuviel wenn ich mich nicht täusche:
     
       if (($READING eq "energy" && $VALUE > 10000)
       ....
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Hackstall

Hi,

ich habe anscheinend den fehlerhaften Eintrag nach Update gefunden.

Er lautet:


attr DBLogging valueFn {\
  if (($READING eq "energy" && $VALUE > 10000) \
     {$IGNORE=1}\
  }


Ich weiss beim besten Willen nicht was diese Anweisung macht. Gibt es das IGNORE nicht mehr?

Komischerweise hat es wohl nach dem Update das DBLogging an den Anfang meiner fhem.cfg verschoben.
Ist das so gewollt oder was ist hier die Ursache.


#######################################################################
##########################     DB LOGGING     #########################
#######################################################################
define DBLogging DbLog /opt/fhem/contrib/dblog/db.conf .*:.*
attr DBLogging DbLogExclude .*
attr DBLogging DbLogSelectionMode Include
attr DBLogging DbLogType Current/History
attr DBLogging alias Database-Log
attr DBLogging asyncMode 1
attr DBLogging cacheLimit 100
attr DBLogging group Grp-Logging
attr DBLogging icon system_backup
attr DBLogging room 9.7_Logging
attr DBLogging syncInterval 15
attr DBLogging valueFn {\
  if (($READING eq "energy" && $VALUE > 10000) \
     {$IGNORE=1}\
  }

Hackstall

Danke für Eure Antworten,

es trifft genau das was ich wohl implementiert hatte. und eine Klammer fehlt auch.
Weiss auch nicht wie diese weggekommen ist.

Gruss Andreas

DS_Starter

Zitat
Komischerweise hat es wohl nach dem Update das DBLogging an den Anfang meiner fhem.cfg verschoben.
Ist das so gewollt oder was ist hier die Ursache.
Ja das ist so gewollt. Hat etwas mit der Architektur von DbLog seit der Version 5.X.X zu tun.
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

betateilchen

Zitat von: Hackstall am 20 Februar 2023, 19:53:37
und eine Klammer fehlt auch.

Da hat keine Klammer gefehlt, sondern es war eine zuviel.
Hat Heiko ja oben schon beschrieben.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!