Reactor - Resetting Pulse Time

Is there a way to reset the pulse time when the reactor becomes un-tripped. If wish to start a pulse to hold a trip on my reactor for a set period. However, under certain circumstances, I wish to reset the pulse time before it has fully elapsed. I can’t find a way to do this!

I appreciate that I could be missing something here.

Thanks,

Maybe use the “Latch” feature (see docs) instead? That way, your condition latches “true” for as long as you need, and can be externally “reset” by an Activity in the same or different Reactor sensor.

Just thinking out loud here…

Yeh, tried that. I still need a timer that I can reset as needed prior to it ‘timing out’…

I know @rigpapa is pushing to get 3.6 out the door today, but perhaps his infinite wisdom could be tapped once he comes up for air…?

I’ve been chastised for suggesting this in the past, as an alternative to using “Pulse”, but since it’s worked for me in several instances…

…perhaps replace (or augment) your “Pulse” with an “Interval” condition? I wonder if that would accomplish something similar.

Again, just thinking out loud to keep you entertained while we wait for the big guns to arrive.

Usually when you need to reset a pulse, either the “delay reset” or “sustained for” delays can be applied (in follow mode, not in pulse mode), as these have resetting behaviors with the state of their condition. The pulse behavior can be retained by wrapping the delay-applied condition in a group, and the pulse mode put on the group.

But without an explanation of what you are trying to accomplish, this question seems to be a classic X-Y problem.

1 Like

I’ll try to explain what I am trying to achieve.

I have a virtual switch to put the hot water pump on for 15mins. When the virtual switch turns on the reactor starts timing 15 mins. At the end of 15 mins the reactor turns the virtual switch and the hot water pump off. This works fine, but if I turn the virtual switch off before the 15 minutes timer has elapsed, I want to reset the timer, turn the virtual switch and hot water pump off instantly. This way when the virtual switched is turned on again, I want the 15 min time period to restart.

There are a lot of ways to approach this, but for me, let the Activity carry the delay in this case. Here’s my version:

Conditions:

This is as simple as it looks. There are no options, no delays, no tricks, no nothing. Just a straight test of the virtual switch state.

The Activities:

This is the part that’s just a tiny bit crafty, and warrants some explanation. When the virtual switch is turned on, the “is TRUE” activity is run, of course, and the first thing it does is turn on the pump (I used a switch labeled “Heater” in the screen shots, so just follow that). Then we delay; I put 15 seconds for testing purposes, but you’ll want to use 900 (15 minutes) or whatever your goal runtime is. After the delay expires, the final action in the activity is run: turn off the virtual switch (not the heater/pump). This, of course, triggers the condition to re-evaluate and it will now be false (the virtual switch is not on), so the group’s “is FALSE” activity will then run, turning off the heater/pump at that point.

Here’s the crafty part. If a human turns off the virtual switch during the delay period, the test condition goes false, and Reactor then wants to run the “is FALSE” activity. Reactor’s rule is that the “is TRUE” and “is FALSE” activities cannot be running at the same time; that’s verboten. So, before starting the “is FALSE” activity to turn off the heater/pump, Reactor will cancel the remaining delay and all unfinished tasks from the “is TRUE” activity. So this is how the delayed-off is reset, in effect.

1 Like

Thanks. I appreciate your help again. I was ‘barking up the wrong tree’ with my approach!

2 Likes

Patrick, trying to make this work for my use case; it’s similar but I’m not sure it’s the right fit. I have a pump hard-wired into a switch (no virtual switch here), triggered by a motion sensor. Looking to have a 60-min countdown timer on the pump that is refreshed if motion is detected.

If you’d prefer that I create a new thread for this question let me know and I’ll be happy to do that.

As an aside, I stumbled across Reactor a few days ago after using a competitive product for a very, very long time and have spent the last couple days porting everything over. Fantastic implementation and execution. Donation forthcoming.

This topic is pretty well covered in the tutorial videos I’ve done. There’s a lot of information there for new Reactor users that would probably be valuable. Reactor: Tutorial and Cookbook Videos on YouTube - Reactor - Ezlo Community

1 Like