Help with my rules

Are you saying that you opened the door while it was repeating and you expected it to stop repeating? If that is the case you need another trigger for door changed. I have been trying to follow this but it has become very convoluted.

the notification fires >= 35
I open the "laundry inner door st" which then turns its value to False
15 minutes later, the notification fires again
*So if I had another trigger in the top for contact and added the door contact that would trigger the run to update and stop repeating ?

If you're up to it. Would you mind stating your use case again? What are you trying to accomplish? List the steps. You have been discussing multiple rules and I'm a little confused.

How long does it take for the temp to go from >= 35 to < 35? Is it greater than 15 minutes? What is the temperature 15 minutes after you open the door?

Sure bud,
I have a laundry cupboard that is full of all my computer parts. If the temp goes over 35 degrees I want to be notified so I can open the laundry door and let the heat out. I have another rule that if the temp gets higher than that a fan in there kicks on and cools it down.

I want to be notified to open the door if it goes above 35 degrees.
If I miss the first one, I want to be notified again until I open it.
If I got the first notification, and I go and open the door, I dont want to be reminded again.
I also dont want to be notified if im not home (the other rule will kick in with the fan and cool it down)

thats pretty much it.

*I added changed to the contact sensor, closed the door and let it fire, then opened the door, but going back to the rule its still repeating

Change your ELSE-IF to
ELSE-IF Temp < 35 OR Door Open.
I would get rid of the AND boolean FALSE, that is not needed here.

You want to cancel the repeat whether the temp is < 35 OR the Door is open.

Leave both triggers.

Edit: Do you need the Modes in the IF statement?

im not sure where to to the modes, here was that revised

No. Change the AND in the ELSE IF to an OR

sorry should be Or not AND one sec

here that was

I would think that should work assuming you are in one of the modes listed in the IF statement. I would delete the part regarding Modes unless you only want to be notified while in one of those modes.

1 Like

thats correct, only in those modes will the notification be heard so thats why they are there.

Okay. Try it out and let me know.

1 Like

fired now, opened the door. will know in 15mins (i should of changed the rule but i'll wait)

1 Like

For testing I would have changed the time from 15 to 1 minute.

for arguement sake, is this example below not easier/ simplier for non programmers like myself ?

Maybe. I personally like the conditional logic better. I'm sure everyone has an opinion on this.

Do the same here for the door contact as previously discussed what this does is link the repeat to WHILE statement so you don't need the device as a trigger. It will then only repeat while that condition is true.

I didn't realize you wanted it to stop repeating when the door or switches were opened so was just concentrating on only when the temperature drops.
By doing the above it should do both

I'm sure I ran it through my head and it WAS needed in the false aswell for some reason, but now I can't see why it would.

1 Like

so @JNS could I use the same principles from the laundry cupboard door rule in my fridge rule,
will this work ?

I assume 'Notifications' is a virtual switch? It should work as written.

I'm glad the cupboard door rule is working for you. I didn't want to mention this earlier because I wanted to get the rule working and not confuse you. A better way to write it is outlined below. This rule only checks the other conditions if you are in one of the modes you want notifications for.

You could also change the ELSE-IF to an ELSE without any conditions because you want that part to run anytime the second IF statement (nested IF) is FALSE.

At this point I wouldn't bother changing it. I'm just trying to give you another example of how to write the exact same rule a different way.

EDIT: I just noticed the Set Private Boolean False in the ELSE-IF should have read Set Private Boolean TRUE