Evaluation Types
Evaluations are conditions that determine whether actions in an Execute Action Batch
should run. Each evaluation compares a Field Name to a specific value using a selected Evaluation Type.
Evaluations allow you to build logic such as:
- "If the sensor value is greater than 100"
- "If this data field is not empty"
- "If the widget state changed in the last 5 minutes"
They are essential for filtering, branching, and conditionally executing actions.
Evaluation Structure
Every evaluation consists of:
-
Field Name:
The value to be evaluated. This can come from:- A trigger (e.g. sensor event or value)
- A sent field from a previous batch
- A widget value
- A data source
-
Evaluation Type:
The rule used to evaluate the field against a target value. (See below) -
Evaluate Against:
The comparison value or source, based on the Evaluation Origin (see next section).
Evaluation Origins
Evaluation origins define where the comparison value comes from. You can choose from:
-
Static:
A constant, manually entered value (e.g.,123
,"December"
). -
Interactive Widget:
Select a page and a specific widget field (e.g., input field) to compare against. -
Data Field:
Pull a bound field from a Datasource to compare with the Field Name.
The combination of Field Name, Evaluation Type, and Evaluation Origin gives you precise control over logic flow in your action batches.
Evaluation Type Categories
Below are the available evaluation types, grouped by function:
Equality
Equals
Does Not Equal
Arithmetic
Is Less Than
Is Less Than or Equal
Is Greater Than
Is Greater Than or Equal
Existence
Is Empty
Is Not Empty
Is True
Is False
Contains
Does Not Contain
Change (Only available in data-bound evaluations)
Has Changed To Anything
Has Increased
Has Decreased
Regular Expressions
Regular Expression (match)
Regular Expression (no match)
Advanced Logic
Call Function
Use a JavaScript-like function to return a custom boolean result.
Time-Based Evaluation Types
Available only if timestamp support is enabled in the context:
Minutes
More than X minutes ago
Less than X minutes ago
In less than X minutes
In more than X minutes
Days
More than X days ago
Less than X days ago
In less than X days
In more than X days
Today
NOT Today
Weeks
This week
Last week
Next week
NOT this week
NOT last week
NOT next week
Months
This month
Same month
Last month
Next month
NOT this month
NOT same month
NOT last month
NOT next month
Example
If a temperature sensor sends a value:
- Field Name:
sensor.value
- Evaluation Type:
Is Greater Than
- Evaluation Origin:
Static
- Evaluate Against:
22
Then this action will run only when the sensor value exceeds 22.
Use evaluations to build powerful, conditional flows without writing custom code. You can combine multiple evaluations within a batch to trigger complex logic based on real-time data, user interaction, or system state.