It would help if you posted a screenshot of your Rule, so that it can be corrected. In the meanwhile, here's a simple example of a Repeat Action that will repeat while a condition is true.
You probably want to use ‘repeat while expression’ is true and use ‘smoke alarm active’ as the expression. That should cancel the repeat when your alarm clears.
You can modify this, as suggested by @johnwill1, to look like the example I posted. But I have a question and a suggestion:
Why do you want the event to be active for 2 seconds to function as a trigger?
Repeating an action every 2 seconds is really frequent, and will increase the hub's workload quite a bit when the rule is triggered. I would suggest using something like 1-5 minutes.
Also, when you use stoppable, you need to define the condition that stops the repeat. And in this example, stoppable can be avoided entirely by using "Repeat while expression".
I only have one input, the relay that is toggled only when the smoke detector(s) circuit is tripped, the smoke detector circuit is always active. When the smoke detector ac breaker is turned on, all detector are active.
So the question is, what do i use for the expression condition since i only have the one input im monitoring?
Here's a repeat rule I just made. When rule is triggered, it starts a repeat loop that repeats every 30 seconds until a particular attribute reports a particular value, which triggers the repeat to stop and then the rule continues with further actions: