Rules Complete Examples
Contents
Example for PAB - RANGE (multiple actions for one condition)
Defined condition checks a device connected to output 4. The device is expected to have a maximum load of 600W. If the load is too high, we want to immediately turn off the device and send an alarm to Cloud.
PAB definition
PAB name: Watch_out4_load
{ "type": "RANGE", "source": "OUTPUTS/4/LOAD", "lowerBound": 0, "upperBound": 600 }
Action definition
{ "conditions": { "PAB/Watch_out4_load/IN": 0 } "actions": { "OUTPUTS/4/ACTION": 0, "CLOUD/OUTPUT/1/ALARM": "${COND_RESULT}" } }
Example for PAB - ZONES
In this condition, the value of current at the output 2 is monitored. It is then classified to respective zone according to measured value. Depending on the zone in which is classified, different actions can be triggered:
- If the value of current is in zone 0, restart device on output 1
- If the value of current is in zone 2, turn ON alarm in Cloud
PAB definition
PAB name: Watch_out2_current
{ "type": "ZONES", "source": "OUTPUTS/2/CURRENT", "thresholds": [ 50, 150, ], "timeHysteresis": 10 }
Rules definition
Must be defined in two separate Rules because they contain different conditions:
- Rule name: Zone_restart
- Description: If the PAB is in zone 0 (0-49mA), restart the device at output 1
{ "conditions": { "PAB/Watch_out2_current/ZONE": 0 }, "actions": { "OUTPUTS/1/ACTION": 2 } }
- Rule name: Zone_alarm
- Description: If the PAB is in zone 2 (150+ mA), send alarm to Cloud
{ "conditions": { "PAB/Watch_out2_current/ZONE": 2 }, "actions": { "CLOUD/OUTPUT/1/ALARM": "${COND_RESULT}" } }
Watchdog example
The Watchdog monitors specified IP address. The ping is sent every 60s and waits 5s for the device to respond. If the ping fails twice in a row, Watchdog returns false
and restarts the device. After restart, it waits 120 seconds and starts monitoring again. This cycle repeats a total of 3 times, and if the device does not respond even once, the Watchdog remains in ERROR state.
Watchdog definition
Watchdog name: Watch_101_180
{ "target": "192.168.101.180", "pingInterval": 60, "timeout": 5, "maxTimeouts": 2, "timeToReboot": 120, "maxRestarts": 3 }
Rule definition
Rule name: Watch_101_180_restart
{ "conditions": { "WDT/Watch_101_180/FAIL": true }, "actions": { "OUTPUTS/1/ACTION": 2 } }