Re: The Delayed Action

0 views
Skip to first unread message
Message has been deleted

Cinty Bolner

unread,
Jul 17, 2024, 7:42:10 PM7/17/24
to nessnobaltags

Hi if you start a Delayed action that is cancelable in one rule, then later have another rule do the action cancel delayed actions, does it cancel delayed actions across other rules or only within itself ?

Then the following rule runs before the time ends from the above delayed action.
Pasted Graphic 2919369 29.4 KB
This rule does a cancel delayed actions but does not seem to work since later I see the previous rules' delayed action still execute.

The Delayed Action


Download https://bltlly.com/2yX1uV



You cannot cancel delayed action in another rule. It can only be done within the same rule. Canceling delayed actions in Rule #2 doesn't affect the delayed actions in Rule #1. They are 100% independent.
The only thing you can do from another rule is to cancel all rule timers. But that will also cancel any periodic triggers in that rule until you go back into the rule and click done on the rule again.

And that doesn't just cancel your delayed actions but all timed actions and periodic triggers. So, if the rule has any type of trigger related to time of day, that schedule is cancelled until you go back into the rule and click "done".

In your case, no; waits are automatically cancelled when a rule re-triggers, which between that (motion becoming active again) and the fact that you're using a "Wait for condition: motion inactive" with a duration will take care of cancelling what is effectively a delayed action, though not an actual "Delay" in the Rule Machine sense.

I generally prefer the "Wait for event: elapsed time" or, new in Rule 5.0, a "Wait for condition" plus a duration, over the above. However, you'll still see lots of rules written like the above, in part because that is how the Rule 4.0 docs (the last big shift in rule creation, I'd say) were originally written, and lots of people continue to follow that paradigm. Sometimes it is also nice to have control over if/when a delayed action gets cancelled. In most cases nowadays, I prefer the "Wait" behavior--and the fewer clicks it takes to get there (and the simpler triggers it usually allows you to use).

A simple nonlinear model is proposed for the El Niño/Southern Oscillation (ENSO) phenomenon. Its key feature is the inclusion of oceanic wave transit effects through a negative, delayed feedback. A linear stability analysis and numerical results are presented to show that the period of the oscillation is typically several times the delay. It is argued such an effect can account for the long time scale of ENSO.

In this case, the visitor returns for a second visit after the original delayed action has been triggered. If the visitor meets the condition In Audience at the end of visit when the second visit ends, then a new delayed action will be scheduled.

A delayed-action closer is self-closing, but holds the door open for a minute or two when the door is opened fully. This is a function of the valves that control the flow of fluid; it is not an electronic feature. Installing a delayed-action closer on a fire door with the possibility that the door could stand open for a minute (+/-) before beginning to close, is not one of the things that keeps me up at night. But because it was not specifically addressed in the model codes, interpretations were inconsistent.

If a delayed action door closer could keep the door open for a minute , the pressue of a fire could possibly deter the closer action. A flashover of a room or space can occur in approximately 3 minutes. Therefore there are variables that exist which do not favor the use of a delayed action closer. My opinion on the code is that is should specify the delayed action time limit. Never-the-less, if there is a fire in a room and the door remains open for any period of time, smoke is release, flames could be released and life safety is jeopardized.

There is a particular user command - let's call it "A" - that must be processed possibly with a delay of 10 minutes because user wants to be able to cancel that action issuing a new command - say "C" - until that delay has passed. Obviously, if the user issues "C", the delayed event must not produce any effect. This mechanism resembles the unsend message feature of Gmail.

To "revert" or "nullify" an event, we can execute a compensatory action, which is the opposite action of the original one. In other words the command !A. The problem is, not all actions have a compensatory action. For example, we can't revert notifications.

In the second case, if there is a delay (same example) the scheduler would start the 10 minutes countdown after it's coming back up, so the CMD would be delayed by more time than expected. So you need to be sure it's acceptable.

If anyone is curious, the reason that this is required is that foo() and bar() are in different (singleton) classes which my need to call each other in exceptional circumstances. The problem being that this is done at initialisation so foo needs to call bar which needs an instance of the foo class which is being created... hence the delayed call to bar() to ensure that foo is fully instanciated.. Reading this back almost smacks of bad design !

I though the perfect solution would be to have a timer handle the delayed action.FxCop doesn't like when you have an interval less then one second.I need to delay my actions until AFTER my DataGrid has completed sorting by column.I figured a one-shot timer (AutoReset = false) would be the solution, and it works perfectly.AND, FxCop will not let me suppress the warning!

According to the ideomotor principle, behavior is controlled via a retrieval of the sensory consequences that will follow from the respective movement ("action-effects"). These consequences include not only what will happen, but also when something will happen. In fact, recollecting the temporal duration between response and effect takes time and prolongs the initiation of the response. We investigated the associative structure of action-effect learning with delayed effects and asked whether participants acquire integrated action-time-effect episodes that comprise a compound of all three elements or whether they acquire separate traces that connect actions to the time until an effect occurs and actions to the effects that follow them. In three experiments, results showed that participants retrieve temporal intervals that follow from their actions even when the identity of the effect could not be learned. Furthermore, retrieval of temporal intervals in isolation was not inferior to retrieval of temporal intervals that were consistently followed by predictable action-effects. More specifically, when tested under extinction, retrieval of action-time and action-identity associations seems to compete against each other, similar to overshadowing effects reported for stimulus-response conditioning. Together, these results suggest that people anticipate when the consequences of their action will occur, independently from what the consequences will be.

Actions are typically associated with sensory consequences. For example, knocking at a door results in predictable sounds. These self-initiated sensory stimuli are known to elicit smaller cortical responses compared to passively presented stimuli, e.g., early auditory evoked magnetic fields known as M100 and M200 components are attenuated. Current models implicate the cerebellum in the prediction of the sensory consequences of our actions. However, causal evidence is largely missing. In this study, we introduced a constant delay (of 100 ms) between actions and action-associated sounds, and we recorded magnetoencephalography (MEG) data as participants adapted to the delay. We found an increase in the attenuation of the M100 component over time for self-generated sounds, which indicates cortical adaptation to the introduced delay. In contrast, no change in M200 attenuation was found. Interestingly, disrupting cerebellar activity via transcranial magnetic stimulation (TMS) abolished the adaptation of M100 attenuation, while the M200 attenuation reverses to an M200 enhancement. Our results provide causal evidence for the involvement of the cerebellum in adapting to delayed action effects, and thus in the prediction of the sensory consequences of our actions.

You could add a "delay setting" next to every action in the action groups menu, so pressing a key wouldn't instantly start an action, if it isn't necessary. Of course, the default setting would be 0 seconds.

But there could be uses for other parts too- off the top of my head, delayed landing gear extension could be used from a probe mothership dropping a few lander/rovers. One button to stage, and staggered delays kick the parachutes in enough to gain some separation, while an additional tweakable delay on the landing gear lowers the landing gear of the smaller ships from their in-flight stowed configuration.

Oh, much of this could be done with regular staging, but timers would eliminate the frantic spacebar mashing I'm prone to do during aborts. For example, my standard abort setup is a tower that fires sepratrons and pulls the capsule free of the main stack. This gets it away from the explosion in a jiffy. However, usually my parachutes are high on the staging list, and I don't like to waste an action group on them. So, for low altitude aborts, I have to resort to spacebar mashing and hoping that I can get through like 5 or 6 blank stages (as the rocket's exploded and separated) after the capsule separates just to get the parachutes. I'm normally very safe and never launch without an abort system. My only fatality was from a near-pad abort, where the capsule escaped properly, but I couldn't mash space fast enough to deploy parachutes. A timer could have been set up to deploy after the sepratrons cut out.

aa06259810
Reply all
Reply to author
Forward
0 new messages