You may also want to use a damage filter, so that it has to be broken by a particular type of damage. (Bullets instead of flame, etc.)
Have the func_breakable send an output to the door telling it to close. Just use the Delay box, for however long you want it to stay open for.
I thought that flames don't damage any type of func_breakable?