[rules-users] Truth maintenance and RHS variables
Juanker Atina
juankera at gmail.com
Tue Feb 7 09:26:21 EST 2012
Hi there,
I'm working on a rule that will alert me when there is no events from the
sensors for a while.
So, first idea was to use time window and matches in condition side, to
match all types of sensors, and then to print that something is wrong.
rule "Alert if there is no activity"
when
not StateEvent(itemName matches "door.*|presence.*|luminosity.*") over
window:time( 1m ) from entry-point "EventStream"
then
System.out.println("Alert: one sensor is not working");
end
First change was to add a timer, as truth maintenance will fire this rule
the first time, but not forever. So i add a timer to fire the rule every 20
seconds, for example.
rule "Alert if there is no activity"
timer (cron:0/20 * * * * ?)
when
not StateEvent(itemName matches "door.*|presence.*|luminosity.*") over
window:time( 1m ) from entry-point "EventStream"
then
System.out.println("Alert: one sensor is not working");
end
The second thing i want to achieve is to print what specific sensor is not
working, but i understand that as there is no StateEvent, i can't declare a
variable, for example.
rule "Alert if there is no activity"
timer (cron:0/20 * * * * ?)
when
not $event: StateEvent(itemName matches
"door.*|presence.*|luminosity.*") over window:time( 1m ) from entry-point
"EventStream"
then
System.out.println("Alert: one sensor is not working: " +
$event.getItemName());
So, do you know how can i know which sensor is not working? must i rewrite
the rule to achieve this? is this possible?
Thanks for your help.
end
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20120207/33d1f651/attachment.html
More information about the rules-users
mailing list