alm.e()
alm.e(priority, title, condition, triggerDelay, clearable, clearDelay, [value]) → number
Evaluates an alarm condition with trigger/clear delays; returns the alarm’s current priority, or 0 when not alarming.
Registers and evaluates one fault under the current group (alm.g()). Call it
every loop iteration with the live condition — alm.e() handles the
debouncing, state tracking and event-log records for you:
- The condition must stay
truefortriggerDelayseconds before the alarm activates. - If
clearableistrue, the alarm clears automatically once the condition has beenfalseforclearDelayseconds; otherwise it stays latched until reset withalm.rst(). - The optional
value(e.g. a reservoir level or pressure) is included in the log messages automatically recorded when the fault changes state.
Returns the alarm's current priority while active, or 0 when not alarming.
Arguments
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| priority | number | alm constant | yes | — | Alarm priority — alm.ok/alm.info/alm.warn/alm.crit or 0–255. |
| title | string | yes | — | Alarm title, unique within the group. |
| condition | boolean | yes | — | The live fault condition, evaluated every call. |
| triggerDelay | number (s) | yes | — | Condition must be true this many seconds before the alarm activates. |
| clearable | boolean | yes | — | Whether the alarm may clear automatically when the condition recovers. |
| clearDelay | number (s) | yes | — | Condition must be false (and the alarm clearable) this many seconds before it auto-clears. |
| value | number | optional | — | Current value attached to the fault (e.g. level, pressure) — recorded in state-change log entries. |
Returns
number
Current priority of the alarm while active, 0 when not alarming.
Example
let startTime = now();
while(run()){
alm.g("UV"); // current alarm group
let value = alm.e(
alm.crit, // priority
"Reactor A Run Failure", // title
startTime.sAgo() > 5 && startTime.sAgo() < 12, // condition
5, // trigger delay (s)
true, // automatically clearable?
0, // clearing delay (s)
startTime // optional attached value, logged on state changes
);
print("Run Time:", startTime.sAgo(), " Fault Value:", value);
waitMS(1000);
}