You can create an action that only fires if the trigger occurs during a certain time window by ANDing your trigger with a condition that uses the “Window” option with the “StartTime” set to the beginning of the window and the “Offset” set to the duration of the window. I have made this work with actions where the second condition is an Insteon device status change, but it should work with a random time condition as well. Unfortunately, you can’t use a time relative to sunrise/sunset for the start time, so you would have to create a fixed time window.
I think there may be a way to create a time window around sunset. I haven’t tried this solution, but based on my experience with how the 2.xx software keeps track of device status, you might want to try the following:
1) Create an X10 device with a device code you aren’t using. Call it something like “X10SunsetWindow”
2) Create an action that turns X10SunsetWindow on at Sunset -16 and another action that another that turns X10SunsetWindow off at Sunset -4 (this should create a 12 minute window around Sunset -10 where X10SunsetWindow is on)
3) Replace condition #1 in your original action with X10SunsetWindow device status ON (x02)
EDIT: As I thought about this more, I’m not certain it will work. When an X10 device status is the only condition, an action doesn’t keep firing (i.e. when the motion sensor signals ON, the action fires only once). So I’m not sure how the EZServe will see the X10SunsetWindow condition after the initial ON transition. I will try to play with this tonight if I have a minute.