Ich habe da ein für mich gerade schwer nachvollziehbares Problem mit einer Regel und vielleicht hat ja einer von euch eine Idee.
Das Item:
Die Regel:
Der Output:
Erwartet hätte ich eher ein "Zisterne voll". Wenn jedoch ein "(Zisterne.state as DecimalType) >= 95" einfüge, funktioniert das alles wie es soll. Prinzipiell kein großes Problem, jedoch macht es die Regel nicht unbedingt lesbarer.
Das Item:
Code:
Number Zisterne "Regenwasser [%.0f%%]"
Code:
rule "Zisterne"
when
Item Zisterne received update
then
var Number percent = 0
if (Zisterne.state instanceof DecimalType) {
percent = Zisterne.state as DecimalType
}
logInfo("RULE", "Zisterne="+percent)
if (percent == 0) {
logInfo("RULE", "Zisterne leer")
} else {
logInfo("RULE", "Zisterne nicht leer")
}
if (percent >= 95) {
logInfo("RULE", "Zisterne voll")
} else {
logInfo("RULE", "Zisterne nicht voll")
}
end
Code:
Zisterne=98 Zisterne nicht leer Zisterne nicht voll


korrekt funktionieren sollte dann
Kommentar