What's wrong with this rule?

i’m not sure what i’m doing wrong here but this rule will not run. If I remove the " && HVAC_PelletTemperature.state < 50" part it executes as expected.

I’ve tried changing the operator to <= but that didn’t work either.

How can I get this rule to run at 4:00pm if the heat is OFF and the temperature is below 50? Thanks in advance.

rule “Pellet Stove ON 1600”
when
Time cron “0 01 16 ? * MON-FRI”
then
if(HVAC_PelletOperating_State.state == 0 && HVAC_PelletTemperature.state < 50){
HVAC_PelletHeatSetPoint.sendCommand(75)
}
end

only thing I can think of is to check the HVAC_PelletTemperature item has a valid value, and it is not undefined, or uninitialised. In that case it would always fail the < 50 test.

Possibly superstition but I think I’d throw in a few more parentheses, viz.

if ((HVAC_PelletOperating_State.state == 0) && (HVAC_PelletTemperature.state < 50)) { ...... or even..
if   (HVAC_PelletOperating_State.state == 0){
         if (HVAC_PelletTemperature.state < 50){
              // blah blah blah
         }
    //no blah blah
}

D’oh! I feel like an idiot! I’m really sick with the flu and i’m not thinking straight. I just checked the logs from 4:00 and the temp was 56.5. I just assumed I did something wrong with the rule. I just just changed the time and raised < 50 to <71 as it’s current’y 70 and it worked.

I feel like a clown. Sorry for wasting your time but thanks for the help!

Not a problem. We all have those moments. My daughter used to call them “it hurts AND you feel stupid” moments.