1) Give a description of the problem
Parallelism is the topic/problem, another thing I have been trying to wrap my head around, wish there was a single article detailing how this works. So I am used to Zipato, more than ST, and in Zipato there is a single command called “Join”. Essentially, it means that any time a “Rule” (equivalent of piston) starts running, if it finds other instances of that rule already running (and therefore older ones), it “joins” them to the newer rule. Essentially, what it means is any instances of that rule that it finds already running are killed off.
I can think of various uses for this. The most obvious is turning off the light after a No Motion event is registered. After a No Motionevent, a person may have walked into the room again (essentially some automation/piston fired but did not need to turn the light on as it was already on). That person is still in the room, yet if the initial piston is still running, it will switch off the light after say 3 minutes despite newer Motion events having happened since then. And there are numerous other examples that come to mind - I just wrote a piston to manage my 1st floor heating and I am certain that if 2 instances of the same piston run together, they might create a bit of a mess.
2) What is the expected behaviour?
Now one may either not allow parallel running of the same piston and have them lined up to run one after the other, but I believe the most desirable approach is to kill off older instances already running, overriding them with the latest one…
3) What is happening/not happening?
At the moment - nothing is happening, but I realised there was a conflict when multiple instances of the same piston are fired off at exactly the same time… It would be ideal for me to kill off the older instance immediately in the cases I can think of so far) and tun only the last one.
**4) Post a Green Snapshot of the piston![image|45x37]
Nothing to paste- just a general question
5) Attach logs after turning logging level to Full
Nothing to paste.