You have some sort of "broken" conditional there (the plain IF
that just reports its truth value as "False"), but that is how you can check for things. You used a simple conditional, which would certainly work:
A sequence of actions like this would work:
IF (Bulb 1 Off) Dim: Bulb 1: 100 --> fade: 5
IF (Bulb 2 Off) Dim: Bulb 2: 100 --> fade: 5
...and similar. However, you'd need a way to "remember" whether each was off or on before. A local variable for each would work, but that's a lot of work. Have you considered using the "Capture" and "Restore" actions instead? You could capture the state of all the bulbs (that one action will get on/off, level, color, etc.), modify them as you see fit, then restore that state after your 10 minutes. To get the 10 minutes, something like this would work:
Trigger: Presence sensor(s) arrives
Actions:
IF (Time NOT Between sunset-30 and sunrise+10) Exit Rule
Cancel Delayed Actions
Capture State: Bulb 1, Bulb 2
On: Bulb 1, Bulb 2: 100 --> fade: 5
Delay 0:10:00 (cancelable)
Restore State: Bulb 1, Bulb 2
I'm leaving out a few of the details (you could indeed test each bulb above and not turn them on if they're already on to some level--say a dim level for relaxing or watching a movie), but I think this might answer the question you're asking about how to achieve the "timer"/delay aspect.
Also, this is probably the best documentation for Rule 4.0, though it assumes a bit of 3.0 knowledge (you can probably ignore those parts): [Released] Rule 4.0. They also uploaded a video to their YouTube recently that demonstrates simple conditionals (like the first action in my rule above), but it might be a bit too simple for your use case: YouTube