@Din.Djarin Donāt give up yet, It is possible make a rule that does exactly what you want.
Once you know exactly what rule machine is doing with the repeats, you can figure out how to control it.
When your rule does a āstop repeating actionsā command, it doesnāt do anything to the scheduled job, instead it changes a setting called āstopRepeatMainā to true. That setting is on that same page where you see the scheduled jobs, itās up in the Settings section.
When the scheduled job runs, that setting stops it from running any actions and it doesnāt create a new scheduled action. So if you refresh the page then, there will be no scheduled jobs.
Rule machine only has one set of settings for each rule, not separate setting for each time you run it.
If you stopped the rule and happen to wait long enough for that current scheduled job run and get stopped, then everything is ok when you restart the rule.
But if it is still out there when you run the rule again, thats when you get the strange problems.
Whenever you run the rule, that stopRepeatMain gets reset back to false. So that schedule job does not get stopped and continues to run and repeat. Meantime, your rule starts another repeat, and you end up with 2 of them running at the some time. That is what has been happening.
To prevent that, put a stop repeating actions command at the top of the actions. That will flip that stop setting back to true.
However, when you start the repeat, it also sets the stop setting to false. But if you wait 40 minutes before starting the repeat, that will guarantee that the previous scheduled job (which no longer has a full 40 minutes to its scheduled time) will completely stop and go away before your new repeat starts. You might want to make the delay time 40 minutes and 1 second just to be sure. You donāt need the āfirst noticeā global variable, because you are already waiting 40 minutes before starting the repeat.
Here is a sample rule set up to repeat every 2 minutes. It turns a light on and back off. Turning the virtual switch off and on always makes it wait 2 minutes from now to flash the lights. It doesnāt matter how long you wait to turn it off or on, it always will work the same.
You would just need to add in your (time between 6:45 AM and 9:30 PM) to the IF statement, and of course change the vSwitch to Rosie. And add a trigger for 9:45 pm to make it stop automatically, like your original rule did.
If you set it up for 40 minutes, then anytime you start the rule, regardless of whether it was recently running or not, you will get a 40 minute delay and then it will send the notifications and repeat that every 40 minutes.
You could even add a push button to the triggers. Then pushing that button would give you an instant reset without having to turn Rosie off first (assuming it was already on) Maybe use a virtual pushbutton, and setup a āreset Rosie peeā command for your Google home to push the virtual pushbutton.