===Simple Alert Configuration===
As well as the full agent configuration file format (which is designed to work with a wide range of complex systems), the **simple alert configuration** format is used to make simple, rules-based alerts for ARDI systems.
These use **.alert** files instead of **.agent** files.
Alert files are JSON-based, an example of which is below...
{
"name": "Power Low",
"ondelay": 1,
"inputs": ["{0}.Power"],
"comparison": "{0} < 0",
"asset": ["Wind Turbine #1"],
"supressedby": "Painting Stopped @ Paint Line"
}
The parameters are described below...
The file should also include //one// of the following sets of parameters that controls how your alert is [[alert attachment|attached to assets]]...
^Parameter^Meaning^
|**asset**|The name of the asset the alert applies to|
|**type**|The name of the type the alert applies to|
|**properties**|A list of properties - the alert applies to any asset that has all of them|
|**asset** and **relationship**|The asset to begin at and the relationship to follow when applying the alert|
It may also include any of the options below...
^Parameter^Meaning^
|**name**|The name of the alert|
|**inputs**|An array of [[input names]]|
|**comparison**|The comparison to be performed. The alert is active if this is **true**. See below for more details.|
|**ondelay**|The number of seconds the condition must be //true// before the alert activates|
|**offdelay**|The number of seconds the condition must be //false// before the alert deactivates|
|**supressedby**|The [[full name]] of an alert that causes this alert to be [[supressed]]|
===The Comparison===
Each alert has one or more //inputs// taken from ARDI.
You can use these input values in your comparison. Any number wrapped in curly-braces (ie "{0}") will be replaced by the value of that input.
For example, in the following example...
{
"name": "Out Of Control",
"ondelay": 1,
"inputs": ["Bridle #2 Roller 1.Speed - Actual","Bridle #2 Roller 1.Speed - Target"],
"comparison": "abs({0} - {1}) > 1.2",
"asset": ["Bridle #2"]
}
The comparison will subtract //Bridle #2 Roller 1s Actual Speed// from its //Target Speed// and raise the alert if it's more than 1.2 units out for more than 1 second.
===Attaching to Multiple Assets===
See the details on [[input names|input names]] if you're interested in how you can substitute the name of assets when connecting to more than one.
The configuration below is exactly the same as the one above, but this time it works for //any// bridle, not just Bridle #2.
{
"name": "Out Of Control",
"ondelay": 1,
"inputs": ["{0}.Speed - Actual","{0}.Speed - Target"],
"comparison": "abs({0} - {1}) > 1.2",
"type": ["Bridle Roller"]
}
In this case, the '{0}' in each **input** is replaced with the name of each of the assets found with the type 'Bridle Roller'.
===Installing===
Alert files appear in the [[folders|agent folder of your agency installation]], along side any .agent files you have.