Turn lights off after so many minutes?

OK, now you are describing a somewhat different scenario than the original. Because now you have a conditional at the end of the delay: I only want to turn the switch off if the door is still open. Not just after a delay from when the door first opened.

A delay from when the door first opened is easy. You can do it with the official features in the new V3 app. Or you can do it using the virtual timer I mentioned above.

But since you want to check the condition after the delay before executing the action, that’s what we call a “stacked conditional“ and it is definitely more complicated.

You are probably going to need to use webcore for this. It can definitely be done, but not through the official features. See the following FAQ:

How to Get Started Creating Complex Rules in SmartThings