[gelöst]DBLog + DbLogValueFn - negative Werte filtern

Begonnen von frober, 22 Januar 2023, 17:20:16

Vorheriges Thema - Nächstes Thema

frober

Hallo Heiko,

ich habe momentan mit einem OneWire-Device Probleme. Bis ist das gelöst habe, wollte ich die "schlechten" Werte filtern, also nicht in die Datenbank schreiben.

Die Werte alle um die -60:
Zitat
2023-01-22_15-04-12__1__USV_Batterie__temperature -62.8 °C
2023-01-22_15-05-12__1__USV_Batterie__temperature 21.4 °C
2023-01-22_15-16-12__1__USV_Batterie__temperature -60.8 °C
2023-01-22_15-17-12__1__USV_Batterie__temperature 21.5 °C
2023-01-22_15-21-12__1__USV_Batterie__temperature -61.8 °C
2023-01-22_15-22-12__1__USV_Batterie__temperature 21.6 °C

im entsprechenden Device habe ich DbLogValueFn gesetzt, zu erst mit <0, ohne Auswirkung.
{if ($READING eq "temperature" && $VALUE < 1) {
$IGNORE=1;
}


Das hat aber keine Auswirkung. Kann es sein, dass bei '<' negative Zahlen nicht berücksichtigt werden?
Ich habe auch D18B20, da filtere ich mit $VALUE == -127, was funktioniert.

Nachtrag:
93_DbLog.pm:v5.6.0-s27029/2023-01-11

LG
Bernd
Raspi 3b mit Raspbian Buster und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

betateilchen

Schonmal einen Blick ins Logfile geworfen?

Spontan würde ich sagen, da fehlt eine schließende geschweifte Klammer am Ende.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

frober

Zitat von: betateilchen am 22 Januar 2023, 17:37:04
Schonmal einen Blick ins Logfile geworfen?

Spontan würde ich sagen, da fehlt eine schließende geschweifte Klammer am Ende.

Du hast Recht, danke.

Trotz mehrfacher Kontrolle nicht aufgefallen und die Syntax-Überprüfung von Fhem hat es auch nicht bemerkt.  :o
Raspi 3b mit Raspbian Buster und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

betateilchen

Zitat von: frober am 22 Januar 2023, 17:54:07
die Syntax-Überprüfung von Fhem hat es auch nicht bemerkt.

Das wird von FHEM nicht geprüft.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

frober

Zitat von: betateilchen am 22 Januar 2023, 17:54:59
Das wird von FHEM nicht geprüft.

Ok, wusste ich nicht. Werde ich mir merken, hoffentlich.  ;)

Nachtrag: Im Log stand nichts, habe aber auch alles auf Verbose 1. Scheinbar kein kritischer Fehler...
Raspi 3b mit Raspbian Buster und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

betateilchen

Zitat von: frober am 22 Januar 2023, 17:56:51
Scheinbar kein kritischer Fehler...

Naja, es ist ein Syntaxfehler. Allerdings weiß ich nicht, ob DbLog das überhaupt logged.
-----------------------
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

#6
Ah ja ...
das Attr valueFn prüfe ich beim Setzen, aber die Prüfung von DbLogValueFn ist mir durchgerutscht.  :o
Das hole ich jetzt nach.

Edit: Geht zumindest im DbLog selbst. Ansonsten ist es ja ein globales Attribut welches Device spezifisch gesetzt wird. Blöd, dann kann ich es ja nicht prüfen.
ESXi@NUC+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

#7
Beim Setzen kannst Du das vermutlich nicht prüfen. Aber die Ausführung der DbLogValueFn() müsste doch nach meinem Verständnis in DbLog erfolgen - und wenn dabei ein Fehler auftritt, sollte er zumindest im Log auftauchen.
-----------------------
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

ESXi@NUC+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

frober

Zitat von: DS_Starter am 22 Januar 2023, 18:22:48
Ja das stimmt. Das schaue ich mir an.

Dann hat meine "Blödheit" doch was bewirkt.  ;)

Danke
Raspi 3b mit Raspbian Buster und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

DS_Starter

Die Praxis im täglichen Umgang ist immer der Prüfstein Bernd.  :D
ESXi@NUC+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

-----------------------
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

#12
Ich habe den Syntaxcheck im DbLog erweitert.
Die Attr valueFn und DbLogValueFn werden bei der Eingabe direkt gepfüft (sofern DbLogValueFn im DbLog-Device selbst gesetzt wird).

Das Attr DbLogValueFn in einem Quellendevice kann ich, wie geschrieben, nicht direkt bei der Eingabe prüfen.
Aber jetzt erfolgt in diesem Fall eine Prüfung der Syntax vor der Anwendung des Codes.
Bei einem Fehler erfolgt die Ausgabe im Log unter Angabe welches Device die fehlerhafte Attributsyntax enthält:

    2023.01.22 20:59:23.704 1: DbLog LogSQLITE3 - Syntaxcheck <MySTP_5000> attribute DbLogValueFn:
    Bareword "failureval" not allowed while "strict subs" in use at (eval 3739) line 7.

Die V liegt zunächst in meinem contrib zum Gegencheck wenn Bernd oder ein anderer User es mal ausprobieren möchte.

LG
ESXi@NUC+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

frober

Danke Heiko, das war jetzt aber schnell. :)

Gerne werde ich es Morgen Abend testen.

Grüße und schönen Sonntag noch.
Raspi 3b mit Raspbian Buster und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

DS_Starter

Hatte gerade nichts besseres vor.  ;)
Danke und dir/euch auch noch einen schönen Abend.
ESXi@NUC+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