Quick Assist on RM timeout/cancel delayed actions

I have this rule setup that triggers some Tasker driven actions on a tablet (and notifies my phone), essentially to start casting music, check every 15 mins and restart if needed, or just stop if going to bed, etc.

The issue is that the main CCA group (Palmyra CCA) oscillates between idle/playing very frequently, like between songs. I want to have this validate every n minutes to restart as needed, but it keeps just happening to land in one of these idle moments and restarting things unnecessarily.

I added a couple delays and to extend the idle time to a full minute, but can't remember how to get the remaining actions to cancel in the situation where it resumes the next song and goes back to 'playing'

TIA for the help!

First thing I noticed is you have three IF THEN loops but only one END IF statement. There should be an equal number, think of them as book ends.
Also, you say that you're checking something every 15 minutes but there is no REPEAT statement in your code. That means that you are only doing things once (with delays), but, not repeating at all.
I would test each IF THEN loop by itself and verify each loop is doing what you expect before tying them together. You could comment out the loops not being tested or write 3 seperate Rules and call each next Rule using "Set Private Boolean, Run/Cancle/Pause Rules" under "Create New Action".
This last option may be the best option because it forces logic that works, or each Rule won't run.

1 Like

Ah, good catch on the open loops, I closed them.
As for the 15 minutes/repeat, sorry I didn't capture the triggers, which include a 15 periodic schedule.

Reading your original post it looks like you want "nothing" to happen as long as music is playing. Is that right?
Looking at the code with the conditions at run time only the second IF THEN loop evaluates to TRUE. So we dont need to bother with the other two loops. Does that sound correct?

I have another virtual switch ("Music"), which is turned on/off through other rules.
But yes, if it is on, I want it playing. If it turns off, it should stop playback.

In your Conditions, "Music is on" and "Music is off" are the same condition. Delete one of them, and rewrite the code accordingly. In other words, use "Music is on" = false or "Music is on" = true, and delete the condition "Music is off".

Also, the condition (Palmyra CCA status ≠ playing) leads to double negative statements like "NOT Palmyra CCA status ≠ playing" which makes the logic hard to follow. I would change the condition to "Palmyra CCA status = playing" then you don't have to "NOT" the action.

(I may be misunderstanding your question here.) You ask "how to get the remaining actions to cancel". but I don't see any remaining actions. As I read the code it should perform the actions in the second IF THEN statement and then exit, waiting for the next 15-minute trigger.

Comment out every line except the "Wait for event" and "Notify Pushover"
lines in that second IF-THEN statement to see if those two actions still work.