Hauptmenü

userreading Fehlermeldung

Begonnen von Mickey, 18 Oktober 2016, 01:50:35

Vorheriges Thema - Nächstes Thema

Mickey

Hallo,

mir ist die Fehlermeldung schon klar, aber wie kann ich das UserReading ändern, dass mir keine Warnung mehr ausgibt?
Funktionieren tut das UserReasing

ZitatPERL WARNING: Argument "keine Abgabe" isn't numeric in numeric gt (>) at (eval 37420) line 1.

Anzeige {
my $temp = ReadingsVal($name,"temperature","0");
my $dp = "keine Abgabe";
if ($temp gt 35){sprintf ("%.1f", $temp)." °C";}
else {sprintf ("%s", $dp);}
}


Danke für die Hilfe

LG, Michael
Zu mir:
Ich bin leider fast blind (EU Rentner) und nicht zu "faul" was nachzulesen. Bitte seht mir nach, wenn ich einmal zu viel frage oder auch mal Schreibfehler mache. Danke, Michael

DeeSPe

Anzeige {
my $temp = ReadingsNum($name,"temperature",0);
my $dp = "keine Abgabe";
if ($temp>35){sprintf("%.1f",$temp)." °C"}else{$dp}
}


Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

DeeSPe

Oder noch eleganter in einer Zeile:
Anzeige {ReadingsNum($name,"temperature",0)>35?sprintf("%.1f",ReadingsNum($name,"temperature",0))." °C":"keine Abgabe"}

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Mickey

Guten Morgen,

zeigt mir immer noch:

Zitat2016.10.18 03:39:27 1: PERL WARNING: Argument "18.2 °C" isn't numeric in numeric gt (>) at (eval 7213) line 1.
2016.10.18 03:39:27 1: PERL WARNING: Argument "18.2 °C" isn't numeric in numeric lt (<) at (eval 7214) line 1.
2016.10.18 03:41:45 1: PERL WARNING: Argument "keine Abgabe" isn't numeric in numeric gt (>) at (eval 7477) line 1.
2016.10.18 03:41:45 1: PERL WARNING: Argument "keine Abgabe" isn't numeric in numeric lt (<) at (eval 7478) line 1.

an

Grüße, Michael
Zu mir:
Ich bin leider fast blind (EU Rentner) und nicht zu "faul" was nachzulesen. Bitte seht mir nach, wenn ich einmal zu viel frage oder auch mal Schreibfehler mache. Danke, Michael

CoolTux

Verwendest Du auch wirklich ReadingaNum? Gib mal bitte Deinen aktuellen Code
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Mickey

Das ist der aktuelle code:

attr userReading

Anzeige {
my $temp = ReadingsNum($name,"temperature",0);
my $dp = "keine Abgabe";
if ($temp>45){sprintf("%.1f",$temp)." °C"}else{$dp}
}


ich schwöre  :o

kommt aber auch "ohne" das UserReadug
Zitat2016.10.18 04:06:31 1: PERL WARNING: Argument "18.1 °C" isn't numeric in numeric lt (<) at (eval 10487) line 1
.


Zu mir:
Ich bin leider fast blind (EU Rentner) und nicht zu "faul" was nachzulesen. Bitte seht mir nach, wenn ich einmal zu viel frage oder auch mal Schreibfehler mache. Danke, Michael

Mickey

Kann es an den Notify liegen ?

([HM_4EAE1A_T2]>50) (set Sonne_scheint ja)

([HM_4EAE1A_T2]<50) (set Sonne_scheint nein)
Zu mir:
Ich bin leider fast blind (EU Rentner) und nicht zu "faul" was nachzulesen. Bitte seht mir nach, wenn ich einmal zu viel frage oder auch mal Schreibfehler mache. Danke, Michael

Mickey

#7
Hab`s geändert in:

([HM_4EAE1A_T2:temperature]>50) (set Sonne_scheint ja)


([HM_4EAE1A_T2:temperature]<50) (set Sonne_scheint nein)
Zu mir:
Ich bin leider fast blind (EU Rentner) und nicht zu "faul" was nachzulesen. Bitte seht mir nach, wenn ich einmal zu viel frage oder auch mal Schreibfehler mache. Danke, Michael

Mickey

 ;D ;D ;D

das war DER Tip

ZitatVerwendest Du auch wirklich ReadingaNum? Gib mal bitte Deinen aktuellen Code

Jetzt kommen keine WARNUNGEEN mehr, ist ja auch klar. Und ich dachte es kam vom userReading weil in der
Warnung "keine Abgabe" stand. Okay, kann ich mir noch nicht erklären.

oh nein, oh nein ... einfach mal "nachdenken", gelle.

DANKE euch
Zu mir:
Ich bin leider fast blind (EU Rentner) und nicht zu "faul" was nachzulesen. Bitte seht mir nach, wenn ich einmal zu viel frage oder auch mal Schreibfehler mache. Danke, Michael

CoolTux

Zitat von: Mickey am 18 Oktober 2016, 04:18:05
Kann es an den Notify liegen ?

([HM_4EAE1A_T2]>50) (set Sonne_scheint ja)

([HM_4EAE1A_T2]<50) (set Sonne_scheint nein)

Sieht eher aus wie ein DOIF. Ud nd dadurch das Du Dein STATE formatiert hast (stateFormat) hast du nun im STATE nicht nur eine Zahl sondern noch °C und das versucht DOIF zu vergleichen mit > oder <
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Mickey

Ja, war natürlich ein DOIF und nun ist es auch vollkommen klar geworden.
Ich "lerne" doch noch...  :D

Danke für die Hilfe.

Grüße, Michael
Zu mir:
Ich bin leider fast blind (EU Rentner) und nicht zu "faul" was nachzulesen. Bitte seht mir nach, wenn ich einmal zu viel frage oder auch mal Schreibfehler mache. Danke, Michael