It does take the RPi some time to parse and load .rules files. You can add some logging to the top and bottom of the Rule to see if the delay is in triggering the Rule (pointing to parsing/loading which is largely outside your control or inefficiencies in the Rule itself).
I’m not convinced that your ArrayLists are necessary at all. If you use Design Pattern: Associated Items you could eliminate almost half of the lines of code. More lines means longer to parse and load the files, not to mention more code often leads to more brittle code and harder to maintain code.
Avoid calling intValue
and otherwise using primitives. This is known to greatly exaggerate the amount of time it takes to load and parse .rules files.