Best way to trigger events with a scene turning on?

I have a scene that I call "goodnight" that basically does something to nearly every single device. It's also pretty much the only thing that I don't have automated at all, but activates via voice assistant, "Okay Google, goodnight."

It turns off a bunch of lights and sets some lights to a low % to act as nightlights. A separate rule turns them off at sunrise.

But, not everything can be set through a scene. For example, I want the garage door to close if it's open for some reason. I don't have any locks yet, but if I get any I'd want them to lock. That has to be done in a rule.

So I created a rule that triggers when the scene turns on. I'm at work, so can't post a screenshot, but here's what the rule looks like:

Trigger: Scene - Goodnight activates
Actions: Turn on hall lights to 11%, close garage door

I have the hall lights in the rule instead of the scene to make sure they turn on first. Because I have a lot of devices, I use metering in the scene to limit the flow of zwave commands. I turn the light off after I get in bed, because it also casts enough light into the bedroom to let me see how to navigate around.

However.... because of the way scenes work, my rule triggers even when I don't manually turn the scene on. I have another rule that turns some lights on for my toddler if he wakes up in the middle of the night to use the potty. When the lights turn on, the scene turns off. When he goes back to bed, and the lights turn back off, the scene turns on again which triggers the hall light to turn on. If I turn the hall light off, the scene turns on and turns the hall light back on. So the result is that if the toddlers gets up in the night to use the potty, the hall light stays on all night. Which is very annoying.

Is there a way to make a rule so that the trigger is only when the scene is explicitly turned on?

What if you create a virtual switch called "close garage door" or something, add that to the scene, and then create a RM rule to close the garage door when the virtual switch turns on?

That wouldn't help with the hall light issue though. Because there is no way to set the order commands are sent for a scene and because I use metering, when I had the hall light as part of the scene, I would sometimes be left standing in the dark for several seconds waiting for the hall light to come on.

So I took the hall light out of the scene and added it to the rule, so that it always fires immediately. I can say "Okay Google, goodnight." as I'm walking towards my bedroom and not have to stop and wait. The rule works great; I just need it to not re-trigger if the scene becomes active just because all the devices happen to be in the correct state.

What if I'm outside mowing the grass and for some reason everything matches with the scene, the rule kicks off, and my garage door closes? Hopefully I'd have my phone with me to re-open the garage. The scene already acts as a virtual switch. I just want it decoupled from the devices status. I want to explicitly turn the scene on and it get turned on no other way.

EDIT: Or a more likely scenario. It's Monday night and trash day is Tuesday, so I open the garage to take the trash and recycling to the road. Maybe most of my lights are already off so the scene is very close to being switched to on. Then my toddler wakes up to go use the potty and the scene gets accidentally turned on, making the garage door close.

These are unlikely scenarios, but I don't want to accidentally get locked out of my house. Maybe there is already a better way to do this.... I'm open to suggestions.

What if you break it down into smaller segments? For instance have Google Goodnight trigger the garage door to close and the scene separately? At least that way if the scene is re-triggered you don't have the door coming down.