There are a couple of different ways that this can be done. They all have multiple steps, and I’m afraid I’m not feeling too well tonight so somebody else will have to write out the details for you. But you can certainly end up with the result that you want.
There is a potential problem, though, which is how much lag you get from IFTTT. This just varies from one person’s house to another. At my house it’s a pretty consistent eight seconds, which would be a little long for a porch light application, but might be acceptable. But there are people who report lags of this much as eight or nine minutes, and IFT TT themselves says it can be up to 15 ( minutes, not seconds). So you may just have to try it at your house to see if the lag is acceptable.
As far as limiting when it runs, that’s super easy. You’ll go ahead and let the IFTTT recipe run, you’ll just catch it on the SmartThings side and not turn the light on if it’s outside of your prescribed boundaries. Again, lots of different ways to do that, including just setting a time range or a mode.
Don’t worry if you don’t understand anything in the next paragraphs, I’m just putting it here in case anybody else wants to write up the details. SmartThings is a very powerful system, but not very intuitive so the methods can get pretty complicated. There are probably other ways to do this as well, this is just what occurred to me first.
For anybody else who wants to give the detailed answer, the two obvious methods are using core or using a daisy chain where The Ring button turns on a virtual switch (IFTTT recipe) which has a power allowance limit (smart lighting), turns itself off, and the real light subscribes to the off event (using smart lighting would be fine). So for the second method you need a virtual switch with a power allowance off smart lighting automation and the second smart lighting automation to have the real switch follow the virtual switch. And the IFTTT recipe.
If you want to vary how long the real light stays on for, you’re going to need a second virtual switch and two more smart lighting automations. So the first virtual switch is the timer for the delay before the light comes on, and the second virtual switch is the timer for the delay before the light goes off again. So at that point maybe Core is easier.
Also… You can control it with mode, but you probably won’t need to, there is a Time of day restriction option in smart lighting even if you use the power allowance feature.
If you need it, there’s a virtual timer how to in the community – created wiki