First, I noticed this in the trace logs, what is the oldpiston referring to?
+562ms
║Subscribing to HomeC8.pistonID...(:f2bda236e293c6e1e2ba01839a80e08b:)
+568ms
║Subscribing to HomeC8.oldpistonID...(:491a8989b77e4016a7095ff9e92fa9ce:)
Second.
I had to debug a piston as it failed the test of "If (@Globalvar) changes then".
An event does occur but the answer is always false when tested so the piston just exits the If statement. The var is defined as boolean and set in another piston dynamically.
I had to change it to an explicit "changes to false .... else ...."
It's triggered by a humidity piston which sets the var to T or F but at a very slow rate; humidty change. The var is not pre-initialized but is set eveytime the conditions change in the humidty piston to either T or F.
I have read the Using Vars, I have it in my bookmarks for reference.
I just tested it again and now it works. Sorry
Maybe deleting and recreating it for your use fixed some subscription issue up?