Here's one way:
- Create a variable (triggerShouldExecute or something) to indicate if the trigger should run, set it to true.
- Create your trigger with the time range as one condition and a check to see if the variable is true as a second condition. The actions are to run whatever actions you want and to set the variable to false (to indicate that you've already run it).
- Create a schedule that runs at midnight and resets the variable to true.
You can probably skip that last step if it's a small time range - you could add another action to the trigger that would set the variable back to true and with a delay that would guarantee that the time range would be over. So, if your time range is a 3 hour window, then delay the action to set the variable to true by 3 hours and you'd be all set.