Fritz DECT200 und das "W"

Begonnen von christian-ruh, 05 Januar 2016, 13:49:13

Vorheriges Thema - Nächstes Thema

christian-ruh

Guten Tag,
allen erstmal ein gesundes neues Jahr.

Der aktuelle Stromverbrauch wird am DECT200 immer mit z.B. "475 W" angegeben.
Ist es denn möglich, nur die 475 ohne die Einheit (evtl. mit einer Formel die die letzten 2 Zeichen abschneidet) in ein Filelog zu schreiben?
Danke für Infos.
LG Christian
Gruß Christian
 >>> BY <<<

rudolfkoenig

Ja, indem man via userRadings ein neues Reading erstellt, und diesen loggt.
Da wg. dieser Sache (Werte mit/ohne Einheit) gerade Diskussionen am laufen sind, wuesste ich gerne, warum die Einheit stoert.

christian-ruh

Hallo und danke für die schnelle Reaktion,
es geht um die weitere Verwendung der Daten.
Z.B. im Plot möchte ich alles unter 1W als 0 ausgegeben haben. Dazu hab ich folgendes als Funktion:
{$fld[3]<1?0:$fld[3]}
Da kommt natürlich ein Fehler wegen dem " W".
Auch möchte den Wert abhängig von der Leistung farbig darstellen. Auch das geht mit dem " W" im Anhang nicht.
Die Logdatei wird zur weiteren Auswerdung von einem MS-Access Programm eingelesen und auch da sollte es ein reiner Zahenwert sein.
Zur Anzeige auf einem Floorplan habe ich eine Readingsgroup erstellt bei der ich einfach 1 abziehe:
{sprintf("Wert: %d",$VALUE-1)}
Das mit einem UserReading, welches ich als Filelog speichere habe ich noch nicht verstanden. Muss ich wohl noch genauer nachlesen. Evtl. ist das die Lösung.
Ich hoffe mal, ich habe mich verständlich ausgedrückt.
Gruß Christian
Gruß Christian
 >>> BY <<<

rudolfkoenig

Die Begruendungen bzgl. Plots sind hinfaellig, da $fld[3] nur die Zahl enthaelt.
Falls man beim Einlesen der Daten in Access nach Leerzeichen trennt, dann sollte das W nicht stoeren.
Beim Readingsgroup kann man $NUM statt $VALUE verwenden.

christian-ruh

Super, vielen Dank für die schnelle Hilfe.
Ein Fehler von 2 wurde eliminiert durch $NUM statt $VALUE :-)
2016.01.05 17:34:16 1: PERL WARNING: Argument "0.14 W" isn't numeric in subtraction (-) at (eval 169917) line 1.
Die o.g. Fehlermeldung kommt nicht mehr.

Das mit dem $fld[3] funktioniert nicht so wirklich da ich folgende Fehlermeldungen erhalte.
2016.01.05 17:34:16 1: PERL WARNING: Argument "0.14 W" isn't numeric in numeric gt (>) at (eval 169916) line 1.
Der Code lautet ja:
{$fld[3]<1?0:$fld[3]}
Das scheint so nicht zu funktionieren.
Hätten Sie da auch noch eine Idee?
Und übrigens, FHEM ist absolut klasse, danke dafür!
Gibt es ein Spenden-PayPal oder ähnliches? Ich wüde Sie gerne unterstützen.
Gruß Christian
Gruß Christian
 >>> BY <<<

rudolfkoenig

ZitatDas mit dem $fld[3] funktioniert nicht so wirklich da ich folgende Fehlermeldungen erhalte.
Ich kann mir nicht vorstellen, dass diese Meldung vom Plot verursacht wird, bitte mit "attr global stacktrace" beweisen.

christian-ruh

#6
Hallo, hier ein aktueller Auszug mit Stacktrace:
2016.01.06 13:54:16 1: PERL WARNING: Argument "0.14 W" isn't numeric in numeric gt (>) at (eval 214882) line 1.
2016.01.06 13:54:16 3: stacktrace:
2016.01.06 13:54:16 3:     main::__ANON__                      called by (eval 214882) (1)
2016.01.06 13:54:16 3:     (eval)                              called by ./FHEM/33_readingsGroup.pm (342)
2016.01.06 13:54:16 3:     main::lookup2                       called by ./FHEM/33_readingsGroup.pm (1238)
2016.01.06 13:54:16 3:     main::readingsGroup_Notify          called by fhem.pl (3089)
2016.01.06 13:54:16 3:     main::CallFn                        called by fhem.pl (3012)
2016.01.06 13:54:16 3:     main::DoTrigger                     called by fhem.pl (3329)
2016.01.06 13:54:16 3:     main::Dispatch                      called by ./FHEM/00_FBAHA.pm (344)
2016.01.06 13:54:16 3:     main::FBAHA_Read                    called by fhem.pl (3089)
2016.01.06 13:54:16 3:     main::CallFn                        called by fhem.pl (652)


Wenn ich im Plot das {$fld[3]<1?0:$fld[3]} rausnehme kommt kein Fehler mehr.

Gruß Christian
Gruß Christian
 >>> BY <<<

rudolfkoenig

ZitatWenn ich im Plot das {$fld[3]<1?0:$fld[3]} rausnehme kommt kein Fehler mehr.
Schwer zu glauben. Laut stacktrace ist die Ursache der Warnung ein readingsGroup, und die ausloesende Nachricht kam vom FBAHA/FBDECT.

christian-ruh

Sorry, Sie haben recht. Mit dem ganzen geteste und Änderungen habe ich mich vertan.
Ja, es lag an einer ReadingsGroup.
Danke für die Unterstützung.
Erlauben Sie nochmal die Frage: Gibt es ein Spenden-PayPal oder ähnliches?
Ich wüde Sie gerne unterstützen.
LG Christian
Gruß Christian
 >>> BY <<<

rudolfkoenig

Noch nicht, aber vermutlich in ein paar Monaten.