Use a trigger area with an Imod script attached, and make an Image space modifier that darkens the room.
I couldn't find a vanilla script when I did this very thing, so I tweaked this existing one:
ImageSpaceModifier property myimod AutoObjectReference property PlayerRef AutoEvent OnTriggerEnter(objectreference actronaught) if actronaught == PlayerRef myimod.applycrossfade(2.0) endifEndEventEvent OnTriggerLeave(objectReference actronaught) if actronaught == PlayerRef ImageSpaceModifier.Removecrossfade() endifendevent
Make sure your Image Space Modifier is really dark, it can make for some interesting screen events.