FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: MiWe58 am 29 Dezember 2015, 11:33:59

Titel: Vergleichsoperator "gt" reagiert fehlerhaft
Beitrag von: MiWe58 am 29 Dezember 2015, 11:33:59
Hallo,

ich prüfe den Wasserstand in meinem Brunnen über folgende Formel ab. Bei Überschreiten eines Standes von 80.0% sollen die Nachrichten ausgelöst werden. Das funktioniert bisher auch gut und fehlerfrei.

Das Problem beginnt mit der derzeitigen Trockenheit, wo der ermittelte Wert für den Wasserstand im einstelligen Bereich liegt.
Sobald der Füllstand "9.x" ermittelt wird, wird die unten genannte Nachricht ausgelöst.


define Pegel_Alarm notify (W_Sensor_Wasser:level.*) { if ($EVTPART1 gt 80.0 ){ SendMail('xx1@yy.de',"Pegel Drainage: $EVTPART1 %","Pegelstand: $EVTPART1 %");;\
SendMail('xx2@yy.de',"Pegel Drainage: $EVTPART1 %","Pegelstand: $EVTPART1 %") }}



Was muss ich ändern, um auch bei geringem Pegel "richtig" benachrichtigt zu werden?

GRuß
Michael
Titel: Antw:Vergleichsoperator "gt" reagiert fehlerhaft
Beitrag von: viegener am 29 Dezember 2015, 11:43:21
Hallo Michael,
um Deine Frage zu beantworten müsste ich genau wissen welche Werte denn in EVTPART1 vorkommen?
Der bisherige Vergleich ist auf jeden Fall inkonsistent:
gt ist ein Operator um Texte (lexikalisch) zu vergleichen --> also Z > A
Du gibst aber ein eine Zahl 80.0 an und nicht einen Text "80"

Um Zahlen zu vergleichen gibt es den Operator > / < dazu müsste aber auch der Wert in EVTPART1 eine Zahl sein
Titel: Antw:Vergleichsoperator "gt" reagiert fehlerhaft
Beitrag von: franky08 am 29 Dezember 2015, 11:45:24
$EVTPART1 gt 80.0

gt ist doch nur für String Vergleiche, du hast aber einen numerischen Ausdruck, ich vermute es müsste richtig > sein

Da war ich zu langsam  ;)

VG
Frank