Setting up Astro, Cron, Presence Rules

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.