Yeah, I guess docs need to be clearer.
CoRE and Piston Rules Engine, first design steps - #3607 by ady624 states that
Else-If Piston
This is a dual piston, because it supports two conditional sets. It allows for one conditional set to allow a second conditional set to be evaluated only if the first one was false.
Format:
IF (conditions1) THEN (actions1) ELSE IF (conditions2) THEN (actions2) ELSE (actions3)
State:
The state of the Else-If piston is deemed TRUE if either (conditions1) or (conditions2) evaluates as true, or FALSE otherwise
Actions:
The (actions1) are executed if (conditions1) is true, (actions2) are executed if (conditions1) is false and (conditions2) is true, (actions3) are executed if both (conditions1) and (conditions2) are false
There was another post high up the thread explaining what events are listened for. Let me find it. Here: CoRE and Piston Rules Engine, first design steps - #907 by ady624
Hope that clears a few things up.
I can make the ELSE IF and THEN IF trigger events on secondary IF too, but it just made more sense this way, at that time…