In RM 4.0 I have two rules that need to be mutually exclusive. That is, I don't want the effect of one rule to trigger the condition of the other, and vise versa. To achieve this, in the "THEN" block of each rule, the first action is to "Pause Rules" the other rule, and the last action is to "Resume Rules" that same other rule after a short delay. Each of the two rules pause/unpause the other rule in this way. This works fine in testing, but after a bit of real-world usage, both of the rules end up in the paused state. Given that every "pause" action is paired with a "resume" action, I don't see how things could be getting stuck like this. Does the "pause" action effect rules that are already triggered? I don't see any errors in the logs that indicate that the rules are failing in the middle.
As background, what I'm trying to achieve is to synchronize volume between a Sonos player and the AVR it is connected to. This is using the new Sonos "passthrough" volume feature where the volume control is enabled in the app but the output level of the player remains fixed. My AVR is too old to know how to read/write the sonos volume level, but I should be able to sync these values using Hubitat. I'm trying to make this two-way such that changes to the knob on the AVR update the sonos volume and changes to the sonos volume command the receiver volume. If there is a more elegant way to implement this in RM I'm open to it, essentially I don't want the update made by one rule to trigger the other or else it would create an endless loop. Having the rules pause/unpause each other seemed like the easiest way to do this, but I'm getting the deadlock I described above.