VCA - Conditional rules
A conditional input, like a filter, is one that cannot trigger an action on its own.
It requires the input of another basic input, conditional rule or filter to be meaningful.
An example of this is the AND rule. The AND rule requires two inputs to compare in order to function.
The complete list of conditional rules are:
And
Continuously
Counter
Or
Previous
And
A logical operator that combines two rules and only fires events if both inputs are true.
![](../../__attachments/2139882275/image-20230627-071218.png?inst-v=86834bbb-50d8-440d-9b6f-3431ba4b14c8)
Property | Description | Default Value |
Name | A user-specified name for this rule | "And #" |
Can Trigger Actions | Specifies whether events generated by this rule trigger actions | Active |
Input A | The first input | None |
Input B | The second input | None |
Per Target | Fire one event per tracked object | Active |
If we consider a scene with two presence rules, connected to two separate zones, connected by an AND rule, the table below explains the behaviour of the Per Target property.
Note that object here refers to a tracked object, as detected by the VCA tracking engine.
State | Per Target | Outcome |
Object A in Input A, Object B in input B | On | Two events were generated, one for each object |
Object A in Input A, Object B in input B | Off | Only one event generated |
Additionally, it is important to note that if the rule fires when Per Target is switched off, it will not fire again until it is 'reset', i.e. until the AND condition is no longer true.
Continuously
A logical operator fires events when its input has occurred continuously for a user-specified time.
![](../../__attachments/2139882275/image-20230627-071239.png?inst-v=86834bbb-50d8-440d-9b6f-3431ba4b14c8)
Property | Description | Default Value |
Name | A user-specified name for this rule | "Continuously #" |
Can Trigger Actions | Specifies whether events generated by this rule trigger actions | Active |
Input | The input rule | None |
Per Target | Fire one event per tracked object. See the description below for more details | Active |
Interval | The time in milliseconds | 1000 ms |
Considering a scene with one zone, a presence rule associated with that zone, and a Continuously rule attached to that presence rule, when the Per Target property is on, the rule will generate an event for each tracked object that is continuously present in the zone.
When it is off, only one event will be generated by the rule, even if there are multiple tracked objects within the zone.
Additionally, when Per Target is off, the rule will only generate events when there is a change of state - i.e. the rule condition changes from true to false or vice versa.
When Per Target is off, the state will change when:
Any number of objects enter the zone in question and remain in the zone
All objects leave the zone in question
Or
A logical operator that combines two rules and fires events if either input is true.
![](../../__attachments/2139882275/image-20230627-071253.png?inst-v=86834bbb-50d8-440d-9b6f-3431ba4b14c8)
Property | Description | Default Value |
Name | A user-specified name for this rule | "Or #" |
Can Trigger Actions | Specifies whether events generated by this rule trigger actions | Active |
Input A | The first input | None |
Input B | The second input | None |
Per Target | Fire one event per tracked object | Active |
If we consider a scene with two presence rules, connected to two separate zones, connected by an OR rule, the table below explains the behaviour of the Per Target property.
State | Per Target | Outcome |
Object A in Input A, No object in input B | On | Two events were generated, one for each object |
No object in Input A, Object B in input B | On | Only one event was generated (for Object B) |
Object A in Input A, No object in input B | On | Only one event generated (for Object A) |
Object A in Input A, No object in input B | Off | Only one event generated |
No object in Input A, Object B in input B | Off | Only one event generated |
Object A in Input A, No object in input B | Off | Only one event generated |
Previous
A logical operator triggers for input events that were active at some point in a past window of time.
This window is defined by between the current time and the period before the current time (specified by the interval parameter value).
![](../../__attachments/2139882275/image-20230627-071304.png?inst-v=86834bbb-50d8-440d-9b6f-3431ba4b14c8)
Property | Description | Default Value |
Name | A user-specified name for this rule | "Previous #" |
Can Trigger Actions | Specifies whether events generated by this rule trigger actions | Active |
Input | The input rule | None |
Per Target | Fire one event per tracked object | Active |
Interval | The time in milliseconds | 1000 ms |