Error in Rule Machine for Delayed actions

Ended up finding a MUCH simpler way to handle this complex rule that eliminated almost all the triggers. I simply now call it from other rules when I want it evaluated. Since it's all action...conditional actions, running the action from another rule is essentially the same as evaluating it. Don't know why I didn't think of that before. That way, I don't have to trigger off a device but can do it when other rules I have built to handle routine-like function execute. No more POP errors. Might be a solutions for others with SUPER complex rules.

Beware of one thing with this approach: The rule that is being called has the same potential issue with respect to multiple simultaneous instances. If it's being called by multiple other rules, this can happen. I don't know how you've partitioned things between rules, so can't tell. But if it has nested IF-THENs, it could be susceptible to the exact same problem. Each rule only has a single state (memory) in which to keep important information. Nested IF-THEN's, for one, rely on state. Mixing nested IF-THENs with delays, repeats, etc, is where things can get messed up when there are multiple instances running.

If you've been clever in how you partition things, you may be able to get around the issue.

The issue was that I had too many triggers in the rule because I was trying to take into account non-scheduled changes to things (when I leave and come home). Because I was triggering it based on other things as well, some of them that change on a schedule also, it was triggering 2-3 times during the scheduled changes. I've seen a marked improvement in the rule firing correctly 100% of the time since I've taken this approach. The "beeping" function almost always happened after the blinds moved because of that. Now, it fires correctly 100%. I'm only calling it from 2 other rules but I've been able to remove 3 of the overlapping triggers i had.

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.