Expression won't evaluate even though the timer ends

Hi. This is not really a problem for me. I’m genuinly interested to understand the PLEG logics and I actually read the PLEG BAsics 2. I set up the alarm example but it didn’t work out for me as expected. I found out that it will work only if i rewrite the suggested expression for Alarm$Alert.
Original: Alarm eq "Tripped" and (Alarm$Tripped; !Timer30S)
Altered version: Alarm eq "Tripped" and !Timer30S and (Alarm$Tripped; !Timer30S)

As you can see in my status report, the Alarm state variable is stuck in “tripped” even though the Alarm$Alert should evaluate as true …

Looks like your alarm is idle because Arm is false:

Alarm$idle = Not Arm

[quote=“pacificdune, post:2, topic:180622”]Looks like your alarm is idle because Arm is false:

Alarm$idle = Not Arm[/quote]

@pacificdune, sorry for that. I forgot to Arm but just for my test. I still experience the problem I’ve updated my original post. ;D

Click the Log button … set to “Debug to Separate File”.
Save … when Vera Restarts … click the Log button again.

Now do you sequence of steps to duplicate … then post the log and the new status.

[quote=“RichardTSchaefer, post:4, topic:180622”]Click the Log button … set to “Debug to Separate File”.
Save … when Vera Restarts … click the Log button again.

Now do you sequence of steps to duplicate … then post the log and the new status.[/quote]

OK Thanks :smiley:

Here is the log.

[code]Tue Apr 08 09:02:20.553 - Entry:NOW
Tue Apr 08 09:02:20.553 - EvalConditions:Condition:AnyDoor Trigger:nil Result:false
Tue Apr 08 09:02:20.553 - EvalConditions:Condition:Alarm$Idle Trigger:nil Result:false
Tue Apr 08 09:02:20.553 - EvalConditions:Condition:Alarm$Armed Trigger:nil Result:false
Tue Apr 08 09:02:20.553 - EvalConditions:Condition:Alarm$Error Trigger:nil Result:false
Tue Apr 08 09:02:20.553 - EvalConditions:Condition:Alarm$Tripped Trigger:nil Result:false
Tue Apr 08 09:02:20.553 - EvalConditions:Condition:Alarm$Alert Trigger:nil Result:false
Tue Apr 08 09:02:20.553 - TriggerCondition:None
Tue Apr 08 09:02:20.553 - SweepDB:NOW
Tue Apr 08 09:02:20.553 - CheckRegistration:Subsequent:2
Tue Apr 08 09:02:20.553 - Registration:Registered: true $1$XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXDH
Tue Apr 08 09:02:20.553 - Registration:PLC[12]: 4 PLEG#: 6 PLTS#: 0
Tue Apr 08 09:02:20.563 - DelayedEval:Status3 :1=1
Tue Apr 08 09:02:20.563 - DelayedEval:Tripped :0=1
Tue Apr 08 09:03:20.585 - TriggerPropertyUpdate:Tripped
Tue Apr 08 09:03:20.585 - TPU:Tripped :1=1
Tue Apr 08 09:03:20.585 - TriggerPropertyUpdate:Name:Door1 State:true Device:11
Tue Apr 08 09:03:20.585 - EvalConditions:Multi Trigger:Door1
Tue Apr 08 09:03:20.585 - EvalConditions:Condition:AnyDoor Trigger:Door1 Result:true
Tue Apr 08 09:03:20.585 - TriggerCondition:AnyDoor
Tue Apr 08 09:03:20.585 - EvalConditions:Condition:Alarm$Idle Trigger:Door1 Result:false
Tue Apr 08 09:03:20.585 - EvalConditions:Condition:Alarm$Armed Trigger:Door1 Result:false
Tue Apr 08 09:03:20.585 - EvalConditions:Condition:Alarm$Error Trigger:Door1 Result:false
Tue Apr 08 09:03:20.585 - EvalConditions:Condition:Alarm$Tripped Trigger:Door1 Result:true
Tue Apr 08 09:03:20.585 - TriggerCondition:Alarm$Tripped
Tue Apr 08 09:03:20.585 - FireAction:Nothing found for:Alarm
Tue Apr 08 09:03:20.585 - EvalConditions:Condition:Alarm$Alert Trigger:Door1 Result:false
Tue Apr 08 09:03:20.585 - SaveDB:{{name = ‘Timer30S’, state = false, seq = 1396940102.0983, oseq = 1396940132.1012},{name = ‘AnyDoor’, state = true, seq = 1396940585.0995, oseq = 1396940250.6237},{name = ‘Alarm$Armed’, state = false, seq = 1396940479.4793, oseq = 1396940585.1083},{name = ‘Alarm’, state = ‘Tripped’, seq = 1396940585.1137, oseq = 1396940479.4793},{name = ‘Alarm$Error’, state = false, seq = 1396875451.2294, oseq = 1396875459.5684},{name = ‘Alarm$Tripped’, state = true, seq = 1396940585.1137, oseq = 1396940250.6329},{name = ‘Alarm$Alert’, state = false, seq = 1396940250.6358, oseq = 1396940469.4357},{name = ‘Arm’, state = true, seq = 1396940479.4745, oseq = 1396940469.4228},{name = ‘Door1’, state = true, seq = 1396940585.0958, oseq = 1396940250.6205},{name = ‘Alarm$Idle’, state = false, seq = 1396940469.4252, oseq = 1396940479.477},}
Tue Apr 08 09:03:20.585 - RunNext:Condition:AnyDoor Index:1
Tue Apr 08 09:03:20.585 - RunNext:Condition:Alarm$Tripped Index:1
Tue Apr 08 09:03:20.585 - SaveActionDB:{}
Tue Apr 08 09:03:20.585 - EvalConditions:Condition:AnyDoor Trigger:Timer30S Result:true
Tue Apr 08 09:03:20.585 - EvalConditions:Condition:Alarm$Idle Trigger:Timer30S Result:false
Tue Apr 08 09:03:20.585 - EvalConditions:Condition:Alarm$Armed Trigger:Timer30S Result:false
Tue Apr 08 09:03:20.585 - EvalConditions:Condition:Alarm$Error Trigger:Timer30S Result:false
Tue Apr 08 09:03:20.585 - EvalConditions:Condition:Alarm$Tripped Trigger:Timer30S Result:false
Tue Apr 08 09:03:20.585 - EvalConditions:Condition:Alarm$Alert Trigger:Timer30S Result:false
Tue Apr 08 09:03:20.585 - TriggerCondition:None
Tue Apr 08 09:03:20.585 - ScheduleEventOff:Timer30S:1,30, Result:0
Tue Apr 08 09:03:20.585 - SaveDB:{{name = ‘Timer30S’, state = true, seq = 1396940585.1427, oseq = 1396940132.1012},{name = ‘AnyDoor’, state = true, seq = 1396940585.0995, oseq = 1396940250.6237},{name = ‘Alarm$Armed’, state = false, seq = 1396940479.4793, oseq = 1396940585.1083},{name = ‘Alarm’, state = ‘Tripped’, seq = 1396940585.1137, oseq = 1396940479.4793},{name = ‘Alarm$Error’, state = false, seq = 1396875451.2294, oseq = 1396875459.5684},{name = ‘Alarm$Tripped’, state = true, seq = 1396940585.1137, oseq = 1396940250.6329},{name = ‘Alarm$Alert’, state = false, seq = 1396940250.6358, oseq = 1396940469.4357},{name = ‘Arm’, state = true, seq = 1396940479.4745, oseq = 1396940469.4228},{name = ‘Door1’, state = true, seq = 1396940585.0958, oseq = 1396940250.6205},{name = ‘Alarm$Idle’, state = false, seq = 1396940469.4252, oseq = 1396940479.477},}
Tue Apr 08 09:03:20.615 - RunScheduleOff:Timer30S
Tue Apr 08 09:03:20.615 - EvalConditions:Condition:AnyDoor Trigger:Timer30S Result:true
Tue Apr 08 09:03:20.615 - EvalConditions:Condition:Alarm$Idle Trigger:Timer30S Result:false
Tue Apr 08 09:03:20.615 - EvalConditions:Condition:Alarm$Armed Trigger:Timer30S Result:false
Tue Apr 08 09:03:20.615 - EvalConditions:Condition:Alarm$Error Trigger:Timer30S Result:false
Tue Apr 08 09:03:20.615 - EvalConditions:Condition:Alarm$Tripped Trigger:Timer30S Result:false
Tue Apr 08 09:03:20.615 - EvalConditions:Condition:Alarm$Alert Trigger:Timer30S Result:true
Tue Apr 08 09:03:20.615 - SaveDB:{{name = ‘Timer30S’, state = false, seq = 1396940585.1427, oseq = 1396940615.1012},{name = ‘AnyDoor’, state = true, seq = 1396940585.0995, oseq = 1396940250.6237},{name = ‘Alarm$Armed’, state = false, seq = 1396940479.4793, oseq = 1396940585.1083},{name = ‘Alarm’, state = ‘Tripped’, seq = 1396940585.1137, oseq = 1396940479.4793},{name = ‘Alarm$Error’, state = false, seq = 1396875451.2294, oseq = 1396875459.5684},{name = ‘Alarm$Tripped’, state = true, seq = 1396940585.1137, oseq = 1396940250.6329},{name = ‘Alarm$Alert’, state = false, seq = 1396940250.6358, oseq = 1396940469.4357},{name = ‘Arm’, state = true, seq = 1396940479.4745, oseq = 1396940469.4228},{name = ‘Door1’, state = true, seq = 1396940585.0958, oseq = 1396940250.6205},{name = ‘Alarm$Idle’, state = false, seq = 1396940469.4252, oseq = 1396940479.477},}

NOW I CLOSE THE TRIPPED DOOR

Tue Apr 08 09:06:20.769 - TriggerPropertyUpdate:Tripped
Tue Apr 08 09:06:20.769 - TPU:Tripped :0=1
Tue Apr 08 09:06:20.769 - TriggerPropertyUpdate:Name:Door1 State:false Device:11
Tue Apr 08 09:06:20.769 - EvalConditions:Multi Trigger:Door1
Tue Apr 08 09:06:20.769 - EvalConditions:Condition:AnyDoor Trigger:Door1 Result:false
Tue Apr 08 09:06:20.769 - EvalConditions:Condition:Alarm$Idle Trigger:Door1 Result:false
Tue Apr 08 09:06:20.769 - EvalConditions:Condition:Alarm$Armed Trigger:Door1 Result:false
Tue Apr 08 09:06:20.769 - EvalConditions:Condition:Alarm$Error Trigger:Door1 Result:false
Tue Apr 08 09:06:20.769 - EvalConditions:Condition:Alarm$Tripped Trigger:Door1 Result:false
Tue Apr 08 09:06:20.769 - EvalConditions:Condition:Alarm$Alert Trigger:Door1 Result:true
Tue Apr 08 09:06:20.769 - TriggerCondition:Alarm$Alert
Tue Apr 08 09:06:20.769 - FireAction:Nothing found for:Alarm
Tue Apr 08 09:06:20.769 - SaveDB:{{name = ‘Timer30S’, state = false, seq = 1396940585.1427, oseq = 1396940615.1012},{name = ‘AnyDoor’, state = false, seq = 1396940585.0995, oseq = 1396940769.0437},{name = ‘Alarm$Armed’, state = false, seq = 1396940479.4793, oseq = 1396940585.1083},{name = ‘Alarm’, state = ‘Alert’, seq = 1396940769.0558, oseq = 1396940585.1137},{name = ‘Alarm$Error’, state = false, seq = 1396875451.2294, oseq = 1396875459.5684},{name = ‘Alarm$Tripped’, state = false, seq = 1396940585.1137, oseq = 1396940769.053},{name = ‘Alarm$Alert’, state = true, seq = 1396940769.0558, oseq = 1396940469.4357},{name = ‘Arm’, state = true, seq = 1396940479.4745, oseq = 1396940469.4228},{name = ‘Door1’, state = false, seq = 1396940585.0958, oseq = 1396940769.0405},{name = ‘Alarm$Idle’, state = false, seq = 1396940469.4252, oseq = 1396940479.477},}
Tue Apr 08 09:06:20.769 - RunNext:Condition:Alarm$Alert Index:1
Tue Apr 08 09:06:20.769 - SaveActionDB:{}[/code]

This log shows the final state was Alert!

Yes, after I closed the door (after several minutes ) but only then. Se my note in the log please. Alert shuld come when the timer runs out of time since it’s not 100% sure that any burglar will close the door after doing the job. ;D

Yep … there is a bug … (actually two … but the second one is cosmetic … the times (seconds) in the log are wrong … )

It’s related to a !XXX in the sequence expression. It did evaluate to true properly … it just did not fire the action.

Try the attached file …

Thanks Richard!

I uploaded the attached file to my Vera and now it works as it’s intended to do. Good work! :smiley: