[gelöst]DbLog + SVG-Plot -> Perl Warnung im Log

Begonnen von frober, 16 November 2021, 17:52:18

Vorheriges Thema - Nächstes Thema

frober

Hallo zusammen,

ich habe hier das Thema schon angefangen:
https://forum.fhem.de/index.php/topic,124142.0.html

Laut Rudi ist das Problem DbLog spezifisch.

Folgende Daten habe ich in der Datenbank (Bsp.-Daten, da anderes Datum):

2021-11-14_04-35-55__1__Heizung__opStateHeatPump1 Waermepumpe steht  2021-11-14 18:41:34
2021-11-14_04-38-55__1__Heizung__opStateHeatPump1 Waermepumpe laeuft 2021-11-14 18:41:34
2021-11-14_04-50-55__1__Heizung__opStateHeatPump1 Waermepumpe laeuft 2021-11-14 18:41:34
2021-11-14_04-56-55__1__Heizung__opStateHeatPump1 Abtauen            2021-11-14 18:41:34
2021-11-14_05-05-55__1__Heizung__opStateHeatPump1 Waermepumpe laeuft 2021-11-14 18:41:34
2021-11-14_05-17-55__1__Heizung__opStateHeatPump1 Waermepumpe laeuft 2021-11-14 18:41:34
2021-11-14_05-27-00__1__Heizung__opStateHeatPump1 Waermepumpe steht  2021-11-14 18:41:34


Das Gplot-File ist, mittlerweile so konfiguriert (logProxy habe erstmal rausgenommen):
#DbLog Heizung:opStateHeatPump1:::$val=~s/(Waermepumpe|Abtauen).(laeuft|steht)(\d*).*/$1eq"Abtauen"?0:$2eq"laeuft"?1:0/eg
Der Plot wird einwandfrei angezeigt.

Im Log bekomme ich folgende Warnung:
2021.11.16 17:27:40 1: PERL WARNING: Argument "Abtauen" isn't numeric in numeric gt (>) at ./FHEM/98_SVG.pm line 1591.
2021.11.16 17:27:40 1: PERL WARNING: Argument "Abtauen" isn't numeric in subtraction (-) at ./FHEM/98_SVG.pm line 1975.


Ich habe auch versucht das mit den Schlüsselwörter zu lösen, erfolglos.
#DbLog Heizung:opStateHeatPump1:::$val=~s/(Waermepumpe|Abtauen).(laeuft|steht)(\d*).*/$1eq"Abtauen"?"ignore":$2eq"laeuft"?1:0/eg

Im Plot, unter "Show preproccessed input" steht weiterhin 'Abtauen'.

Ich muß irgendwie "Abtauen" ignorieren oder als Zahl, am besten als eine Null, zurückgeben.
Wie bekomme ich das gelöst?

Danke und Grüße
Bernd
Raspi 3b mit Raspbian Bullseye 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...

Beta-User

Da "Abtauen" abschließend ist (und danach nichts (!) mehr von DBLog geliefert wird), ist es vermutlich einfacher, erst auf eq zu prüfen, und dann erst auf laueft/steht. Oder eben die weiteren Abfragen optional machen...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

frober

Zitat von: Beta-User am 16 November 2021, 17:59:43
Da "Abtauen" abschließend ist (und danach nichts (!) mehr von DBLog geliefert wird), ist es vermutlich einfacher, erst auf eq zu prüfen, und dann erst auf laueft/steht. Oder eben die weiteren Abfragen optional machen...

Das habe ich doch, oder verstehe ich dich falsch?
Zitat.../$1eq"Abtauen"?0:$2eq"laeuft"?1:0/eg

Wie mache ich weiter Abfragen Optional?
Ich dachte wenn etwas zutrifft -> $1eq"Abtauen"?0 wird nicht mehr weitergeprüft.

Raspi 3b mit Raspbian Bullseye 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...

Beta-User

Ich vermute, dass gar kein match vorliegt, weil Gruppe 2 in dem Fall failt.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

frober

So etwas vermute ich auch und habe folgendes erfolglos probiert (keine Ahnung ob das von Syntax her funktioniert):
Zitat.../$1eq"Abtauen"&&!$2?0:$2eq"laeuft"?1:0/eg
Raspi 3b mit Raspbian Bullseye 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...

frober

Und hier die Lösung ;D

#DbLog Heizung:opStateHeatPump1:::$val=~s/(Waermepumpe|Abtauen)([\s]{0,1})([a-z]{0,6})(\d*).*/$1eq"Abtauen"?0:$3eq"laeuft"?1:0/eg
Raspi 3b mit Raspbian Bullseye 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...