PIston should not trigger on condition variable change - worked on ST, not Hubitat

bug
conditions
variables
triggers

#1

1) Give a description of the problem
(PUT YOUR INFO HERE)
This piston worked great on smartthings. It stopped working when I migrated to Hubitat C-8 Webcore v0.3.114
I have if else statements checking the value of a global variable. They show up as triggers with the lightning symbol. Every time the variable changes, the routine is triggered.
@CurrentRoom is Kitchen
I resolved the problem by assigning the global variable to a local variable then using the local variable in the conditions.
Set variable {Room} = {@@CurrentRoom}

2) What is the expected behaviour?
(PUT YOUR INFO HERE)
Should behave like with local variable, not triggering on variable change.

3) What is happening/not happening?
(PUT YOUR INFO HERE)
Piston is being triggered on variable change when it is supposed to be a condition.
4/4/2023, 12:25:19 PM +863ms
+2ms ╔Received event [RosieH(new)].variable:GuestComplete = true with a delay of 24ms, canQueue: true, calledMyself: false
+21ms ║Runtime (23127 bytes) initialized in 1ms (v0.3.114.20230222_HE)
+22ms ║╔Execution stage started
+28ms ║║RamjetRooms. Called by: Variable ‘GuestComplete’ set to true CEO: variable:GuestComplete

4) Post a Green Snapshot of the pistonimage
(UPLOAD YOUR IMAGE HERE)


5) Attach logs after turning logging level to Full
(PASTE YOUR LOGS HERE THEN HIGHLIGHT ALL OF THE LOGS AND CLICK ON THE </> ICON TO FORMAT THEM CORRECTLY)
4/4/2023, 12:26:57 PM +760ms
+2ms ╔Received event [RosieH(new)].execute = :06ea22376b6e27547a0ebd61b37d628c: with a delay of 17ms, canQueue: true, calledMyself: false
+15ms ║Runtime (23147 bytes) initialized in 1ms (v0.3.114.20230222_HE)
+16ms ║╔Execution stage started
+23ms ║║RamjetRooms. Called by: CEO: execute
+25ms ║║Executed virtual command log (2ms)
+70ms ║║Executed virtual command sendPushNotification (20ms)
+106ms ║║Completed all rooms: K: true B: true L: true G: true RJcomplete: trueRJinterr: false
+108ms ║║Executed virtual command log (2ms)
+114ms ║║Executed virtual command setVariable (4ms)
+150ms ║║Executed virtual command sendPushNotification (11ms)
+186ms ║║Completed all rooms: K: true B: true L: true G: true RJcomplete: trueRJinterr: false
+188ms ║║Executed virtual command log (2ms)
+194ms ║║Executed virtual command setVariable (5ms)
+233ms ║║Executed virtual command sendPushNotification (14ms)
+381ms ║║Completed all rooms: K: true B: true L: true G: true RJcomplete: trueRJinterr: false
+383ms ║║Executed virtual command log (2ms)
+389ms ║║Executed virtual command setVariable (5ms)
+391ms ║╚Execution stage complete. (375ms)
+393ms ╚Event processed successfully (390ms)
4/4/2023, 12:25:20 PM +195ms
+1ms ╔Received event [RosieH(new)].execute = :06ea22376b6e27547a0ebd61b37d628c: with a delay of 240ms, canQueue: false, calledMyself: true
+9ms ║Runtime (23103 bytes) initialized in 1ms (v0.3.114.20230222_HE)
+9ms ║╔Execution stage started
+15ms ║║RamjetRooms. Called by: CEO: execute
+17ms ║║Executed virtual command log (2ms)
+61ms ║║Executed virtual command sendPushNotification (19ms)
+98ms ║║Completed all rooms: K: true B: true L: true G: true RJcomplete: trueRJinterr: false
+100ms ║║Executed virtual command log (2ms)
+106ms ║║Executed virtual command setVariable (4ms)
+142ms ║║Executed virtual command sendPushNotification (11ms)
+178ms ║║Completed all rooms: K: true B: true L: true G: true RJcomplete: trueRJinterr: false
+180ms ║║Executed virtual command log (2ms)
+185ms ║║Executed virtual command setVariable (4ms)
+222ms ║║Executed virtual command sendPushNotification (10ms)
+257ms ║║Completed all rooms: K: true B: true L: true G: true RJcomplete: trueRJinterr: false
+259ms ║║Executed virtual command log (2ms)
+265ms ║║Executed virtual command setVariable (5ms)
+267ms ║╚Execution stage complete. (258ms)
+268ms ╚Event processed successfully (268ms)
4/4/2023, 12:25:19 PM +863ms
+2ms ╔Received event [RosieH(new)].variable:GuestComplete = true with a delay of 24ms, canQueue: true, calledMyself: false
+21ms ║Runtime (23127 bytes) initialized in 1ms (v0.3.114.20230222_HE)
+22ms ║╔Execution stage started
+28ms ║║RamjetRooms. Called by: Variable ‘GuestComplete’ set to true CEO: variable:GuestComplete
+30ms ║║Executed virtual command log (2ms)
+91ms ║║Executed virtual command sendPushNotification (21ms)
+142ms ║║Completed all rooms: K: true B: true L: true G: true RJcomplete: trueRJinterr: false
+145ms ║║Executed virtual command log (2ms)
+151ms ║║Executed virtual command setVariable (4ms)
+188ms ║║Executed virtual command sendPushNotification (11ms)
+223ms ║║Completed all rooms: K: true B: true L: true G: true RJcomplete: trueRJinterr: false
+225ms ║║Executed virtual command log (2ms)
+231ms ║║Executed virtual command setVariable (5ms)
+268ms ║║Executed virtual command sendPushNotification (11ms)
+304ms ║║Completed all rooms: K: true B: true L: true G: true RJcomplete: trueRJinterr: false
+306ms ║║Executed virtual command log (2ms)
+312ms ║║Executed virtual command setVariable (4ms)
+313ms ║╚Execution stage complete. (292ms)
+314ms ╚Event processed successfully (313ms)
4/4/2023, 12:25:20 PM +1ms
+3ms ╔Received event [RosieH(new)].execute = :06ea22376b6e27547a0ebd61b37d628c: with a delay of 46ms, canQueue: true, calledMyself: false
+3ms ╚Event queued (1ms)
4/4/2023, 12:23:27 PM +136ms
+3ms ╔Received event [RosieH(new)].wc_async_reply = iftttMaker with a delay of 0ms, canQueue: true, calledMyself: false
+17ms ║Runtime (23132 bytes) initialized in 1ms (v0.3.114.20230222_HE)
+35ms ║╔Execution stage started
+52ms ║║Executed virtual command setVariable (6ms)
+53ms ║╚Execution stage complete. (19ms)
+55ms ╚Event processed successfully (51ms)
4/4/2023, 12:23:26 PM +847ms
+2ms ╔Received event [RosieH(new)].wc_async_reply = iftttMaker with a delay of 0ms, canQueue: true, calledMyself: false
+16ms ║Runtime (23127 bytes) initialized in 1ms (v0.3.114.20230222_HE)
+35ms ║╔Execution stage started
+88ms ║║Executed virtual command iftttMaker (2ms)
+90ms ║║Requesting wake up at Tue, Apr 4 2023 @ 12:23:50 PM PDT (in 23999ms) for 86 (st:87)
+93ms ║╚Execution stage complete. (58ms)
+131ms ║Setting up scheduled job for Tue, Apr 4 2023 @ 12:23:50 PM PDT (in 23991ms)
+132ms ╚Event processed successfully (130ms)
4/4/2023, 12:23:26 PM +479ms
+2ms ╔Received event [RosieH(new)].wc_async_reply = iftttMaker with a delay of 1ms, canQueue: true, calledMyself: false
+16ms ║Runtime (23116 bytes) initialized in 1ms (v0.3.114.20230222_HE)
+41ms ║╔Execution stage started
+59ms ║║Executed virtual command setVariable (12ms)
+91ms ║║Starting Ramjet in Guest K: true B: true L: true G: false
+93ms ║║Executed virtual command log (2ms)
+143ms ║║Executed virtual command sendPushNotification (22ms)
+175ms ║║Executed virtual command iftttMaker (3ms)
+177ms ║║Requesting wake up at Tue, Apr 4 2023 @ 12:23:50 PM PDT (in 23999ms) for 57 (st:58)
+179ms ║╚Execution stage complete. (138ms)
+207ms ║Setting up scheduled job for Tue, Apr 4 2023 @ 12:23:50 PM PDT (in 23994ms)
+208ms ╚Event processed successfully (207ms)
4/4/2023, 12:23:25 PM +745ms
+3ms ╔Received event [RosieH(new)].execute = :06ea22376b6e27547a0ebd61b37d628c: with a delay of 19ms, canQueue: true, calledMyself: false
+278ms ║Runtime (23188 bytes) initialized in 264ms (v0.3.114.20230222_HE)
+279ms ║╔Execution stage started
+286ms ║║RamjetRooms. Called by: CEO: execute
+287ms ║║Executed virtual command log (2ms)
+316ms ║║Executed virtual command iftttMaker (1ms)
+317ms ║║Requesting wake up at Tue, Apr 4 2023 @ 12:23:50 PM PDT (in 23999ms) for 25 (st:26)
+319ms ║╚Execution stage complete. (40ms)
+356ms ║Setting up scheduled job for Tue, Apr 4 2023 @ 12:23:50 PM PDT (in 23994ms)
+357ms ╚Event processed successfully (354ms)
4/4/2023, 11:55:23 AM +353ms
+2ms ╔Starting piston… (v0.3.114.20230222_HE)
+90ms ║╔Subscribing to devices…
+273ms ║║Subscribing to RosieH(new).variable:GuestComplete…
+288ms ║╚Finished subscribing (284ms)
+387ms ╚Piston started (385ms)


#2

Turn on full debug on the piston, then pause and resume it and show the logs from the pause/resume


#3

You can see it is still subscribing to the two global variables. The lines have lightning bolts on them for triggers.
4/8/2023, 9:58:06 PM +320ms
+3ms ╔Starting piston… (v0.3.114.20230222_HE)
+138ms ║╔Subscribing to devices…
+207ms ║║subscriptions: no triggers, promoting conditions
+209ms ║║Subscribing to RosieH(new).variable:CurrrentRoom…
+222ms ║║Subscribing to RosieH(new).variable:RamjetInterrupted…
+231ms ║╚Finished subscribing (204ms)
+241ms ║Subscribing to RosieH(new).pistonID…(:06ea22376b6e27547a0ebd61b37d628c:)
+251ms ║Comparison (string) Livingroom is (string) Kitchen = false (1ms)
+255ms ║Comparison (string) Livingroom is (string) Bedroom = false (1ms)
+259ms ║Comparison (string) Livingroom is (string) Livingroom = true (1ms)
+272ms ║Comparison (string) Livingroom is (string) Guest = false (1ms)
+284ms ║Comparison (boolean) true is (boolean) false = false (2ms)
+308ms ╚Piston started (304ms)
4/8/2023, 9:58:00 PM +752ms
+104ms ╔Stopping piston…
+235ms ╚Piston stopped (130ms)


#4

You see the line in the logs:

subscriptions: no triggers, promoting conditions

You can mark these as ‘never subscribe’, or you can put a trigger in the piston somewhere so the automatic promotion does not happen.

ie pistons without triggers, webCoRE tries to promote conditions to triggers.