Hey,
I’m trying to assert that my heating system is not triggered more often than every 2 minutes. My rule works perfectly fine, only exception is that Desired_Temp_State_Bedroom.changedSince(now.minusMinutes(2), "influxdb")
does not do anything. I tried with second parameter, without it, I tried == false
, == true
, but it doesn’t matter. Openhab just ignores it, as if it didn’t exist in there in the first place. What’s wrong with it?
rule "Bedroom_Temperature"
when
Item TempHumidSensor_Bedroom_Main_Temperature received update or
Item Desired_Temp_Bedroom received update
then
val Number BedroomTemp = TempHumidSensor_Bedroom_Main_Temperature.averageSince(now.minusMinutes(10))
if ( BedroomTemp < Desired_Temp_Bedroom.state && Desired_Temp_State_Bedroom.changedSince(now.minusMinutes(2), "influxdb") )
{
Desired_Temp_State_Bedroom.sendCommand("ON")
Sonoff_S20_Bedroom_Main.sendCommand("ON")
}
if (BedroomTemp >= Desired_Temp_Bedroom.state)
{
Desired_Temp_State_Bedroom.sendCommand("OFF")
Sonoff_S20_Bedroom_Main.sendCommand("OFF")
}
end
item:
Switch Desired_Temp_State_Bedroom (gPersistable_everyMinute)
influxdb.persist:
Strategies {
everyMinute : "0 * * * * ?"
everyHour : "0 0 * * * ?"
everyDay : "0 0 0 * * ?"
}
Items {
gPersistable_restore* : strategy = restoreOnStartup
gPersistable_everyChange* : strategy = everyChange
gPersistable_everyMinute* : strategy = everyMinute
}