DbLogValueFn: readingvalue korrigieren

Begonnen von Michael P., 02 Mai 2025, 10:43:23

Vorheriges Thema - Nächstes Thema

Michael P.

Moinsen :-)

ich nutze hier eine handvoll Zigbee-Steckdosen vom Schweden zur Überwachung von Trocker, WaschMasch etc.

Eine (die anderen komischerweise nicht) hat die Angewohnheit, alle paar Telegramme einen Wert im falschen Format zu senden. So werden aus "934.87" Watt plötzlich "93487" Watt, was die Gplots doch arg unschön aussehen lässt  :-\

Bisher habe ich mir damit beholfen, alle Werte > 3500 im DbLogValueFn zu ignorieren. Dann kam mir die Idee, das Format des Value anzupassen:

{
    if (($READING =~ /power/ && $VALUE =~ /^\d{5}$/) {
    $VALUE =~ s/(\d{3})(\d{2})/$1.$2/;}
}
}

Die Frage die sich mir stellt: geht das so überhaupt, kann ich die Variable $VALUE einfach mit einem neuen Wert "füttern" ?

Grüße - MiPo
3x FHEM aus Raspi, KNX, diverse ESP8266 zur Temperatur/Feuchtigkeits/Poolwasserdurchflussüberwachung, SMA Sunny Tripower 6.0 mit 9.2kW/p Nord/Ost bzw Süd/West, 13.5kW BYD HVM, SMA HM2.0, goE-11kWH Wallbox, ZigBee-Netz mit zigbee2mqtt zur Beleuchtungssteuerung und Verbrauchüberwachung

betateilchen

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Michael P.

Zitat von: betateilchen am 02 Mai 2025, 10:54:33Probier es doch einfach aus.

Yo, wäre zu einfach: leider tritt das ja nicht immer, sondern unregelmäßig auf - und ich wollte die Kiste nicht unnötig leer laufen lassen ...  die Cheffin nutzt im Sommer nie den Trockner, sondern die frische Gartenluft ;D
3x FHEM aus Raspi, KNX, diverse ESP8266 zur Temperatur/Feuchtigkeits/Poolwasserdurchflussüberwachung, SMA Sunny Tripower 6.0 mit 9.2kW/p Nord/Ost bzw Süd/West, 13.5kW BYD HVM, SMA HM2.0, goE-11kWH Wallbox, ZigBee-Netz mit zigbee2mqtt zur Beleuchtungssteuerung und Verbrauchüberwachung

betateilchen

#3
Dann probiere es doch mit irgendeinem anderen reading aus, das öfters auftritt...

Oder glaube einfach der commandref, in der Deine Frage

Zitat von: Michael P. am 02 Mai 2025, 10:43:23Die Frage die sich mir stellt: geht das so überhaupt, kann ich die Variable $VALUE einfach mit einem neuen Wert "füttern" ?

vollumfänglich und eindeutig in der Beschreibung zu DbLogValueFn beantwortet ist:

ZitatThe variables $TIMESTAMP, $READING, $VALUE (value of the reading) and $UNIT (unit of the reading value) can be accessed and modified before logging to the database.

Warum bezweifelst Du das überhaupt?
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Michael P.

Zitat von: betateilchen am 02 Mai 2025, 15:40:37The variables $TIMESTAMP, $READING, $VALUE (value of the reading) and $UNIT (unit of the reading value) can be accessed and modified before logging to the database.

Warum bezweifelst Du das überhaupt?

Grmpf. Weil ich genau DEN Satz überlesen habe.

Peinlich. Okay. Danke, Frage beantwortet!

Schönes Wochenende - MiPo
3x FHEM aus Raspi, KNX, diverse ESP8266 zur Temperatur/Feuchtigkeits/Poolwasserdurchflussüberwachung, SMA Sunny Tripower 6.0 mit 9.2kW/p Nord/Ost bzw Süd/West, 13.5kW BYD HVM, SMA HM2.0, goE-11kWH Wallbox, ZigBee-Netz mit zigbee2mqtt zur Beleuchtungssteuerung und Verbrauchüberwachung