Die rule von mamoel sieht schon mal viel besser aus als die initiale
Um ein wenig Licht rein zu bringen: Stall_Temp ist ja offensichtlich ein Item. Du möchtest aber den Status des Items vergleichen, also musst Du Stall_Temp.state verwenden. Nun ist ein Status erstmal ein ein Status, Du möchtest den Status aber als Zahl betrachten (man kann nur Zahlen mit einem > oder < vergleichen). Das Problem hierbei ist, dass ein Status eines Number Items nicht automatisch vom Typ Number ist. Die korrekte Lösung ist also noch ein Stückchen komplizierter, wenn man es sauber lösen möchte:
Code: Alles auswählen
rule "Temp_Stal_rule"
when
Item Stall_Temp changed
then
if(Stall_Temp.state instanceof Number) {
val Number nTemp = Stall_Temp.state as Number
if(nTemp < 0) {
sendTelegram("bot1", "Stall Temperatur ist nun {}",nTemp)
}
}
end
Das Setzen der Konstanten nTemp ist hier sinnvoll, da derselbe Wert mehrfach verwendet wird. Der bessere Trigger ist hier changed, um zumindest einige Meldungen zu vermeiden.
Überhaupt bietet es sich an, dafür zu sorgen, dass nicht alle paar Sekunden eine Alarmmeldung gesendet wird, nur weil die Temperatur immer noch unter 0 ist.
Falls Stall_Temp mit UoM konfiguriert ist, muss man dem in der Rule Rechnung tragen, es ist also selbst bei solch simplen Aufgaben sinnvoll, mindestens die Item Definition mit anzugeben.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet