Hello,
I have this test rule that basically fires if a followup reading is not received with the appropriate value within some time. According to the fusion docs, simply using:
not( FollowUpReading(value == $val, this before[0s,5s] $reading ) )
should wait 5 seconds before firing, however this does not work unless I explicitly also set:
duration( 5s )
and if I do that, it seems to wait the 5 seconds, however it always follows what I put in the duration value and seems to compeltely ignore the time tolerances I use here.:
$reading : DatarReading($val: value)
not( FollowUpReading(value == $val, this before[0s,5s] $reading ) )
And if I have different values, it will fire the rule after 2 seconds and ignore the 5s in the sample below.
Any ideas?
rule
"my rule"
duration( 2s )
when
$reading : DatarReading($val: value)
not( FollowUpReading(value == $val, this before[0s,5s] $reading ) )
then
System.err.println(
"did not receive follow up - reading value: " + $val);
end