Dear all,
I’m encountering some random executions of the following rules.
The purpose is to send an alert if the measured temperature goes over a certain level. And send an alert again after 15/20 minutes if the temperature is still too high.
It’s not clear to me why the 2nd rule triggers at 16:30 (and some more during today).
The first rule seem to work well.
2019-03-10 16:29:41.304 [vent.ItemStateChangedEvent] - eg_ku_s_XiaomiTemperatursensorB_Temperature changed from 6.77 °C to 6.95 °C
2019-03-10 16:30:13.629 [INFO ] [.eclipse.smarthome.model.script.RULE] - --> Temperaturalarm: Kühlschrank >= 8.5°C / B_Temperature
// Variables for Timer
var Timer tTTemp = null // Freezer
var Timer tKTemp = null // Fridge
rule "Temperature Freezer"
when
Item eg_ku_s_XiaomiTemperatursensorA_Temperature changed
then
if(eg_ku_s_XiaomiTemperatursensorA_Temperature.state instanceof Number) {
if((eg_ku_s_XiaomiTemperatursensorA_Temperature.state as Number) >= -17) {
if(tTTemp === null)
tTTemp = createTimer (now, [|
logInfo("RULE", "--> Temperaturalarm: Tiefkühler >= -17°C / A_Temperature")
// sendPushoverMessage(pushoverBuilder("Temperaturalarm: Tiefkühler >= -17°C").withPriority(1).withSound("spacealarm"))
tTTemp.reschedule(now.plusMinutes(15))
])
} else if((eg_ku_s_XiaomiTemperatursensorA_Temperature.state as Number) < -17.2) {
tTTemp.cancel()
tTTemp = null
}
}
end
rule "Temperatur Fridge"
when
Item eg_ku_s_XiaomiTemperatursensorB_Temperature changed
then
if(eg_ku_s_XiaomiTemperatursensorB_Temperature.state instanceof Number) {
if((eg_ku_s_XiaomiTemperatursensorB_Temperature.state as Number) >= 8.5) {
if(tKTemp === null)
tKTemp = createTimer (now, [|
logInfo("RULE", "--> Temperaturalarm: Kühlschrank >= 8.5°C / B_Temperature")
// sendPushoverMessage(pushoverBuilder("Temperaturalarm: Kühlschrank >= 8.5°C").withPriority(1).withSound("spacealarm"))
tKTemp.reschedule(now.plusMinutes(20))
])
} else if((eg_ku_s_XiaomiTemperatursensorB_Temperature.state as Number) < 8.2) {
tKTemp.cancel()
tKTemp = null
}
}
end