Rule not working - What am I doing wrong?

The rule

I was hoping would trap when ALL the Thermostat Controllers are set to IDLE would Turn Off Heating - Radiators

But When the Thermostat Controllers are :-1:

It seems to think that the Thermostat Controllers are NOT at IDLE

Anyone see where I have set this up wrong?


First glance the logic is fine, but I don’t see an “end if”, common mistake.

It’s likely the trigger. There has to be a change to trigger the rule AND they have to ALL be idle at the time of the change. Seems unlikely to happen very often.

Your Guest TRV Controller is not idle. The rules don't lie :grinning:

1 Like

@SmartHomePrimer I would hope that it would occur very frequently.


The heating is on, everywhere that has been demanding heat has been brought up to set point.

As the last status changes on the last Thermostat Controller the Change activates the Rule, it confirms all the Thermostat Controllers Are Idle, as in the Dashboard above, then turns off the Heating - Radiators.

Is there a better way to trap Idle state of All the Thermostat Controllers to turn off the heating?

@rob121 what End If action would you recommend, if the Thermostat Controllers Are still calling for heat?

@Angus_M if all the Thermostat Controllers Are reporting as Idle, how do I get the Rule to recognise it?

I had all the Thermostat Controllers on the Dashboard, kept refreshing it.

I'm unclear what you're trying to accomplish. Do you have multiple thermostats that can already control the boiler, or are you trying to control multiple radiators with the status of all thermostats (which also makes no sense to me).

If you have dumb thermostats which you can somehow get the temp from and nothing else, or you are using multiple temp sensors around the house to simulate remote thermostat sensors to control a central thermostat, then use the Thermostat Controller app. Documentation hasn't been added for it yet, but there's a post on how it works.

You can add multiple sensors to control a single virtual thermostat. That could then toggle heat on or off with a simple rule if your heating only has on/off control.

Not needed or wanted here because it's a simple condition, END IF is only for IF THEN.

1 Like

Actually, the action is correct as-is: it's a simple conditional. These one-liners don't need (in fact, can't use) and END-IF. It just happens to be very long, so it might not look like one. :slight_smile: The way to tell after the fact is that simple conditionals appear in the actions list as just an IF, whereas "full" conditionals show as IF THEN.


The missing end if would not break this rule, even if it was not a simple conditional



I have multiple TRV, eurotronic Spirit TRVs.
The TRV cannot control the central heating boiler.
There is no way for a radiator to control the boiler. This has to be achieved by an external agent, in this case, HE.
Every room has one or more temp sensors

All are in HE.

These TRVs report the temperature at the Valve Head, but are not fit to manage room temp, too close to the radiator.

A Thermostat Controller is Created for each TRV, it links the room TRV and the room temp sensor(s).

All the TRVs make up 7 heating Zones, each of which is controlled by a Thermostat Scheduler.

Now all is required are rules to turn on/off the central heating boiler.

One Rule, detects if any of the Thermostat Controllers State changes to heating, and turns the heating On.

Another Rule, detects if ALL of the Thermostat Controllers state is Idle and turns OFF the heating.

Shouldn’t be difficult been doing this for several years.

If HE has a better way to do it, I would appreciate insights :slight_smile:

@habitat try changing the trigger to Idle, rather than changed, as that's all you're looking for anyway. Also turn on logging on the rule and paste a screenshot of the logs. Then make a device go from heating to idle.

@BorrisTheCat I’ll try that again, last time I tried I couldn’t find a way to get the ALL Thermostat Controllers must=Idle for the OFF


ANY Thermostat Controllers = heating for the ON

I’ll try again, thanks for the idea.

but that's not in this rule right?

Once this is done, your rule will be as efficient as it can be and is "correct" so then it's just finding out why it's not firing OR more likely what device is not reporting correctly.

My point was that if you check your screenshot carefully, the rule is working fine. Not all your devices were idle. That's why it says "false". I don't see anything wrong with the rule or how it's operating. Are you sure you saw it say 'true' and still it didn't activate?

1 Like

@Angus_M you are right!

Missed the one one the bottom right, thanks.

Good news was that last night all behaved well, house was exactly were it should be at 7;30 am this morning, all rooms, zones and hot water were in the nose :slight_smile:

Thank you all

Am I reading this Events correctly.

Every 2 minute the Boiler (Heating - Radiators) is being turned on and off?

To greatly simply the Heating Controller

Just made Two Rules

Turn On Heating Radiators Rule
Every TWO minutes check if ANY Thermostat Controllers are set to 'heating' if there are AND the Heating - Radiators is OFF THEN Turn ON


Turn OFF Heating - Radiators

IF ALL Thermostat Controllers are IDLE AND Heating - Radiator is ON then Turn Heating radiator OFF

Can anyone see what I am doing wrong - I would really like to get this stabilised so I can get onto the good stuff :slight_smile:

Thank you anyone who responds - very much appreciated.

OK think I have nailed it now.

But they should be it - as simple as I can get it.

Figured out why so much problems!!

The 'All of these' selection in the Conditions ALWAYS returns FALSE

So if you have ONE item and check if a conditions TRUE - even if TRUE it returns FALSE if you have ALL of these selected