Hallo,
Ich möchte in einer Rule den Wert eines Items mit dem Wert vor einer Stunde vergleichen und wenn diese gleich sind eine Meldung ausgeben.
Dazu habe ich folgende Rule.
Aber die Rule geht nicht in den If-Zweig obwohl mir beide Werte als gleich angezeigt werden.
Kann es an den Kommastellen liegen, dass die nach der xten Stelle unterschiedlich sind?
Aber wie bekomme ich einen Vergleich auf 2 Kommastellen hin?
Gruß Tom
Ich möchte in einer Rule den Wert eines Items mit dem Wert vor einer Stunde vergleichen und wenn diese gleich sind eine Meldung ausgeben.
Dazu habe ich folgende Rule.
Code:
rule"Ueberwachung Temperaturaenderung" when Time cron "0 0 0/1 1/1 * ? *" // Alle 1 Stunde then if (KG_WEZ_Aussentemp.state == KG_WEZ_Aussentemp.historicState(now.minusMinutes(60),"rrd4j")) { CountNotification.postUpdate(CountNotification.state asNumber + 1) AllgemeineMeldung.postUpdate("Die Temperatur im Norden Aussen ändert sich nicht mehr") } else { logInfo("Notifikation","Keine Meldung") logInfo("Notifikation2", KG_WEZ_Aussentemp.state.toString ) logInfo("Notifikation3", KG_WEZ_Aussentemp.historicState(now.minusMinutes(60),"rrd4j").state.toString ) AllgemeineMeldung.postUpdate("---") } end
2021-11-28 17:18:00.013 [INFO ] [.smarthome.model.script.Notifikation] - Keine Meldung
2021-11-28 17:18:00.019 [INFO ] [smarthome.model.script.Notifikation2] - 5.1000000000000005
2021-11-28 17:18:00.029 [INFO ] [smarthome.model.script.Notifikation3] - 5.1000000000000005
2021-11-28 17:18:00.019 [INFO ] [smarthome.model.script.Notifikation2] - 5.1000000000000005
2021-11-28 17:18:00.029 [INFO ] [smarthome.model.script.Notifikation3] - 5.1000000000000005
Aber wie bekomme ich einen Vergleich auf 2 Kommastellen hin?
Gruß Tom
Kommentar