Rule not logging correctly, missing ENDIF not working right

@bravenel

Can you help me here please. I have a rule that opens my garage door when I get home, but I set the private boolean of the garage door open rule to false when I'm home. The Private boolean of the garage door open rule is set to true (by a second rule) when I'm away for 15 minutes (this is to stop the garage door opening if I'm at home and my phone looses wifi).

I have a second rule that sets a private boolean. It is below. It seems to be not honouring the 2 minute delay on false. Can you please help. What am i doing wrong?

Why is the private boolean set as false as soon as I arrive, shouldnt it wait 2 minutes?
(Note: while it doesn't show in the logs, my phone remained connected to wifi, it's last reported activity according to HE is present at 2019-05-08 6:23:39 PM AEST)

Also, another issue. Contrary to the documentation, I have found that without an Endif on the true side of the conditional part of the rule, that the false didn't activate.

Those logs don't show PB being set to False upon your arrival. They show the setting of it to true being cancelled, as it should be. Please expand to show the logs for more time, and also turn on rule logging to see all of the detail.

Not sure what you mean. Please show the rule in question.

@bravenel
Why should the true have been cancelled? I didnt say it in my post but I was away for 2+ hours. That rule should have gone "true" and initiated a 15 minute delay nearly 2 hours prior, and set those respective PB's to true. I'm not sure why it's cancelling the true when I arrive home. Should it not be initiating the false side, with a delay of 2 minutes?

This rule did not execute the false side until I added in the ENDIF. This is contrary to the information in post 1 of this thread.
Note: it may have turned it off before 8pm, but not between 8pm and sunrise.

You aren't showing enough of the logs for me to answer this. I need to see the full sequence that took place to know what happened.

I cannot reproduce this behavior. I just created a rule without an ENDIF in the True actions (with IF-THEN false), and it correctly executed the False actions when it should have. I also tried it with the IF-THEN true, and it also executed the False actions when the rule truth changed.

Let's ignore the ENDIF point for now.....

However, the cancel on truth change is still causing me major issues, and others it seems. By the way, this explains all my queries over the last few days about "rule truth" and "cancel on truth change", because issues.

Here is example. Rule is here:

Here are the logs. The lights did not turn off after 2 minutes.

Please look at the Application State on the app status page. Interested in the variables called cancelList and cancelListPend

03%20PM

If those don't look like my picture above, and all of the delays have expired, then your rule is corrupted. You need to remove it and recreate it.

There are two issues: if the rule is corrupted no amount of testing is going to uncorrupt it. We don't know how it became corrupted if it is corrupted.

1 Like

Hitting Update Rule button will clear these two lists. Don't need to delete the rule.

So hit Update Rule and it will clear out that list. Then it should work. Now I have to figure out how it became corrupted.

I really want to get to the bottom of this, because I don't want to start of cult of people believing that hitting Update Rule is a necessary part of life with Hubitat!

1 Like

Here is the initial rule that I posed yesterday, this time with more logging.
The false side of the rule was not processed.

Here is the rule again:

When we were corresponding earlier, I checked this rule, and it was not corrupted then, 1-2 hours ago. There should be nothing in these boxes, because I have been home 10+minutes (ie: >2)
image

1 Like

OK, thanks. I will dig into this later. I need to recreate your rule and bang on it.

Interesting: you can see that the true side of the rule did not evaluate properly either.
Only one of the two rules had their PB set to true.

Wait, those logs do show the false side running.

Is it the delayed action later that didn’t run? On both sides it shows the action happening, but delayed as it should be.

Yes, as I said yesterday in my initial post (a long time ago, I know), it's not honouring the delay.

  1. Delay on rule truth for negative.
  2. Something weird is going on with the postive, as some actions were actioned, but not all.

That's it. Nothing else happens.

Edit: in the initial post, and this post, the delayed actions are not actioned (some of them).

Hard for me to know what portion of the logs you are showing. Also, I’d need you to look at the scheduled jobs during the delay period to see if the delayed actions are scheduled or not.