Engage heating when temperature falls below

Original code was using basic rules:

When Outside_weather temperature is below 11.0┬░ ...
Turn on HeatingRequest_Flag

Rule and pending actions can run ...
   Only between 16:00 and 19:00

however, this relies on a change occurring within the timeframe and if the temperature doesnt change within this time window the condition is never true (therefore output not getting activated).

My work-around is therefore to use rule-machine and at a preset time check if the temperature is below X to activate the heating.

Is there another way i can do it whereby if the temperature is below a setpoint within a time-window the conditions are met? (similar to the first example but doesnt rely on the need to have a shift in temperature value.


Could you screenshot your rule so we can see the whole thing? There are a couple ways to do this, it would be helpful to see where you are at before suggesting changes.

screen shot

Given the parameters you state above, I think I would do this differently and poll the sensor, and limit the rule differently. To accomplish this, I would also use Rule Machine instead of basic rules.

[Required expression:]

  • Between 14:00 and 16:30


  • Periodic every 5 minutes


  • IF Below 11 degrees (weather sensor)
  • Turn on Radiator 21 degrees

This would also allow you to do a ELSE IF action and turn the heat off if the weather sensor were to rise above a certain point, or if it were on and you did not need the heat. You would have to leave enough room to not have this rapidly cycle on/off, maybe set it to about 15 degrees? Not sure how fast the temp can change in those couple hours, so maybe that part is not necessary.

thanks for that. i have since done it another way, checking the temperature at predetermined times, as follows-

when time is xx:xx
when time is xx:xx

set heating to ON
Set thermostat_setpoint to X

if outside_temperature <= X

Download the Hubitat app