How to block light changes while certain automation runs?

I have 1 color changing bulb that I use as a sort of indicator it blinks different color on different events. It changes the default white light temperature via adaptive_lighting custom integration during normal operation.

The way I accomplish this is I take snapshot of the current state via scene.create, then change the color via light.turn_on, delay of 1 second, then call scene.apply the original state.

This works great 99% of times, but say I open the door and while the automation runs to change the color to green, in the same instant the vacuum finishes charging (you’d think “what are the chances”, but it happens at least twice a week) and runs its own automation doing the same, changing the light to purple. However since the 1st automation is already running, the vacuum one takes snapshot of the state while the lamp is green color, then blinks purple, then returns to green.

Is there any way I could block the light from being changed until after the scene.apply step from the already running automation? I cannot use static scene as the “normal” color I want to return to is different temperature thus color depending on time of day. Or maybe there is better way to achieve what I’m trying?

Thanks for any suggestion!