Hallo,
habe ich einen Denkfehler ?
Meine Heizung hat zur Zeit einen Betriebsdruck von 1,3 müsste ich nicht mit dieser Rule eine Benachrichtigung bekommen ?
rule "Betriebsdruck Heizung"
when Item heatQuellen_systemPressure changed
then
if (heatQuellen_systemPressure.state < 1.4)
Meldung.postUpdate ("Achtung in der Heizung muß Wasser aufgefüllt werden !")
end
openhab4.1.1 auf Pi 4 im Docker Portainer /Grafana&InfluxDB auf Pi 3 in Docker Portainer
Hier mal auf die Schnelle, die 2 Möglichkeiten. Die Item-Namen habe ich zum Testen geändert Ich vermute du hast ein UoM-Item, das ist der Item-Typ. Wie hast du denn das Item angelegt ? Über die WebUI oder in einer .items Datei ?
when Item OC_WaF_Current_Pressure changed
then
// Prüfung mit Suffix/Unit für den Prüf-Vergleichswert
if (OC_WaF_Current_Pressure.state > 1007 | hPa)
logInfo("Heizung", "Achtung in der Heizung muß Wasser aufgefüllt werden ! - Suffix/Unit")
// Prüfung mit Umwandlung in Fliesskomma-Wert als Vergleich
if ((OC_WaF_Current_Pressure.state as Number).floatValue > 1007)
logInfo("Heizung", "Achtung in der Heizung muß Wasser aufgefüllt werden ! - Float")
// Meldung.postUpdate ("Achtung in der Heizung muß Wasser aufgefüllt werden !")
end
den Item-Typ kannst du hier sehen:
number.jpg
Du brauchst aber nur eine If-Anweisung. Die zweite If-Anweisung sollte die "universellere" sein.
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.1.1 openhabian
...soweit ich weiss, gibt es keinen Item-Typ "SystemPressure". Vielleicht schaust du mal im Binding nach, ob da was steht. Deine Angaben sind halt etwas "spärlich"....
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.1.1 openhabian
rule "Betriebsdruck Heizung"
when Item heatQuellen_systemPressure changed
then
if(!(heatQuellen_systemPressure.state instanceof Number))
logWarn("Betriebsdruck.Heizung", "liefert keinen gültigen Zahlenwert")
return;
if((heatQuellen_systemPressure.state as Number).floatValue < 1.4){
Meldung.postUpdate("Achtung in der Heizung muß Wasser aufgefüllt werden !")
}
end
Zuletzt geändert von KellerK1nd am 21. Jun 2021 18:52, insgesamt 4-mal geändert.
rule "Betriebsdruck Heizung"
when Item heatQuellen_systemPressure changed
then
if ((heatQuellen_systemPressure.state as Number).floatValue < 1.4)
logInfo("Heizung", "Achtung in der Heizung muß Wasser aufgefüllt werden ! ")
Meldung.postUpdate ("Achtung in der Heizung muß Wasser aufgefüllt werden !")
end
openhab4.1.1 auf Pi 4 im Docker Portainer /Grafana&InfluxDB auf Pi 3 in Docker Portainer
rule "Betriebsdruck Heizung"
when Item heatQuellen_systemPressure changed
then
if ((heatQuellen_systemPressure.state as Number).floatValue > 1.4) {
logInfo("Heizung", "Achtung in der Heizung muß Wasser aufgefüllt werden ! ")
Meldung.postUpdate ("Achtung in der Heizung muß Wasser aufgefüllt werden !")
}
end
Natürlich funktioniert das ganze auch nur, wenn sich tatsächlich der Druck ändert und der dann grösser (war da nicht vorher kleiner ???) als 1.4 ist.!!! Du kannst ja mal einen zusätzlichen Dummy-Switch anlegen und über diesen triggern !!!
Edit:
Die Prüfung, ob es überhaupt einen numerischen Wert gibt, wie @KellerK1nd es beschrieben hat ist natürlich noch besser.
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.1.1 openhabian