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
Anzeige {
my $temp = ReadingsNum($name,"temperature",0);
my $dp = "keine Abgabe";
if ($temp>35){sprintf("%.1f",$temp)." °C"}else{$dp}
}
Gruß
Dan
Oder noch eleganter in einer Zeile:
Anzeige {ReadingsNum($name,"temperature",0)>35?sprintf("%.1f",ReadingsNum($name,"temperature",0))." °C":"keine Abgabe"}
Gruß
Dan
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
Verwendest Du auch wirklich ReadingaNum? Gib mal bitte Deinen aktuellen Code
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
.
Kann es an den Notify liegen ?
([HM_4EAE1A_T2]>50) (set Sonne_scheint ja)
([HM_4EAE1A_T2]<50) (set Sonne_scheint nein)
Hab`s geändert in:
([HM_4EAE1A_T2:temperature]>50) (set Sonne_scheint ja)
([HM_4EAE1A_T2:temperature]<50) (set Sonne_scheint nein)
;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
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 <
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