My experience with Private Booleans and Ignore Trigger Events and rules not completing

Before 2.3.9, I used Private Booleans and Required Expressions to prevent multiple running of my rules.

Occasionally, I would get a rule that would not complete and leave the Private Boolean 'FALSE'. This randomly happened to different rules that shared the same core programming, but differed by trigger. I could not determine why they did not complete as logging was not turned on and it was random. To fix, I just went in and turned the Private Boolean to 'True' manually.

When 2.3.9 came out, I removed the 'Required Expression' for Private Booleans and the Private Boolean actions from the rule and then tried 'Ignore Trigger Event When Running'.

Occasionally, I would get rules that stopped running. Once it ignored a 'Trigger Event While Running,' , as observed in the log, the rule stopped. I had to go into rule and click done for it to run again.

So I removed the 'Ignore Trigger setting' from my rules and put back the Private Booleans again.

Again, randomly, the rules would not complete. So I turned logs on for 6 rules and ran them over and over until it happened again. Finally, I caught a rule that stopped. The culprit was 'Wait for Events' - Elapsed Time set to .1

It was repeatable (different rules) if I ran the 6 rules a lot.

I changed the Elapsed Time from .1 to .5
and I have never experienced the Private Boolean issue again.

There were several of these elapsed time waits in the rule. Why I had them set to .1 is not material. In my case Rule Manager could not deal with them occasionally at that value.

I believe this problem also caused the Ignore Trigger' problem I experienced.

To clarify, the logs never showed an error, they showed the last item in the log was the Wait For Events.

3 Likes

Itā€™s not failing for me. What is the trigger?

See my rule on C-8, 2.3.9.147, unchanged for over a year:

The trigger is a Boolean Hub Variable.

My trigger is a switch. I am not surprised it works for you. It did for me 90%+ of the time before my change. It was random and occasional before.

I put the info out if someone else experienced the rule that didn't complete or even the ignore trigger rule that stops until entering the rule. For me, changing the elapse time worked for me.

2 Likes

I understand and thanks for your reporting.
There may be something unique about your app or environment since I ran this app for over 15 minutes without issues.

I even tried 0.11 and 0.01 and 0.09 for about 5 minutes each.
FYI: I was only logging events.

I am not sure what your test proves. I had run these 30+ similar rules for a year or more and it failed occasionally and randomly amongst different rules. The triggers came from all over the house. So some were triggered more than others. Some groups by location more than others. My point was the problem quit when I changed the value of the elapsed time that appeared in the log where the rule stopped.

Additional information, my elapsed times came from a variable not hardcoded like yours. Also, my rules are much more complex than your test.

Thanks for your response.

2 Likes

Thatā€™s good additional information that would have likely helped me (and possibly others) to decide it was not worth checking all my rules for this suspect (and shown to be incorrect) syntax.

Thanks