There is no “But only if…” in .rules. You need to write an if statement to cover those cases and exit the Rule if there is nothing to do.
if(gPresence.state == OFF) return;
It would be useful I think to review the Design Pattern: Simple State Machine (e.g. Time Of Day). Even if you don’t use it, it can help you understand how to do date/time comparisons.