FHEM Forum

FHEM => Automatisierung => Thema gestartet von: Michael P. am 02 Mai 2025, 10:43:23

Titel: DbLogValueFn: readingvalue korrigieren
Beitrag von: Michael P. am 02 Mai 2025, 10:43:23
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
Titel: Aw: DbLogValueFn: readingvalue korrigieren
Beitrag von: betateilchen am 02 Mai 2025, 10:54:33
Probier es doch einfach aus.
Titel: Aw: DbLogValueFn: readingvalue korrigieren
Beitrag von: Michael P. am 02 Mai 2025, 13:12:33
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
Titel: Aw: DbLogValueFn: readingvalue korrigieren
Beitrag von: betateilchen am 02 Mai 2025, 15:40:37
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?
Titel: Aw: DbLogValueFn: readingvalue korrigieren
Beitrag von: Michael P. am 03 Mai 2025, 09:35:13
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