Difference between revisions of "Rules Complete Examples"
(→Watchdog definition) |
|||
Line 254: | Line 254: | ||
}</nowiki> | }</nowiki> | ||
− | == NR08 - Load Watchdog -> Turn ON | + | == NR08 - Load Watchdog -> Turn output ON after period of time == |
===PAB definition=== | ===PAB definition=== |
Revision as of 13:38, 26 November 2021
Contents
- 1 NR01 - WatchDog
- 2 NR02 - Digital Inputs
- 3 NR03 - Load Watchdog
- 4 NR04 - Load Watchdog with alarm to Cloud
- 5 NR05 - Load Watchdog with zones
- 6 NR06 - WatchDog for 2 IPs
- 7 NR07 - Synchronized outputs states during working hours
- 8 NR08 - Load Watchdog -> Turn output ON after period of time
- 9 NR09 - Digital Inputs with Schedule
NR01 - WatchDog
The WatchDog functionality is used to monitor connectivity to specified IP address (or URL) by sending PING request to it.
The ping in this example is sent every 60s and waits 5s for the device to respond. If the ping fails, Watchdog returns false
and restarts (ACTION: 2 = SHORT OFF) device connected to first output. After restart, it waits 120 seconds and starts monitoring again. If the device does not respond, WatchDog remains in ERROR state until next successful ping.
WatchDog definition
WatchDog name: NR01_WDT
{ "target": "192.168.101.180", "pingInterval": 60, "timeout": 5, "maxTimeouts": 0, "timeToReboot": 120 }
Rule definition
Rule name: NR01_RULE
{ "conditions": { "WDT/NR01_WDT/FAIL": true }, "actions": { "OUTPUTS/1/ACTION": 2 } }
NR02 - Digital Inputs
Rule is used for managing outputs in response to change of Digital Inputs (DI) state. Rule monitors state of first DI. When DI switches from OFF (0) to ON (1), Rule switches (toggles) Outputs 1 & 2 to their opposite states (ACTION 4 = TOGGLE).
Rule definition
Rule name: NR02_RULE
{ "conditions": { "INPUTS/1/STATE": "on" }, "actions": { "OUTPUTS/1/ACTION": 4, "OUTPUTS/2/ACTION": 4 } }
NR03 - Load Watchdog
Rule monitors load (Watts) on Output 1. If the load is between 1-20W for at least 2 minutes, it restarts (ACTION 2 = SHORT OFF) the output. Example uses PAB (Power Analysis Block) functionality to determine if measured value (load in our case) lies in given range for a period of time. When it does, defined Rule triggers device restart.
PAB definition
PAB name: NR03_PAB
{ "type": "RANGE", "source": "OUTPUTS/1/LOAD", "lowerBound": 1, "upperBound": 20, "timeHysteresis": 120 }
Rule definition
Rule name: NR03_RULE
{ "conditions": { "PAB/NR03_PAB/IN": true }, "actions": { "OUTPUTS/1/ACTION": 2 } }
NR04 - Load Watchdog with alarm to Cloud
Rule monitors load (Watts) on Output 1. If the load is between 1-20W for at least 30 minutes, it restarts (ACTION 2 = SHORT OFF) the output. In addition, it triggers an alarm in NETIO Cloud, which sends a notification to specified email address. This example needs a NETIO Cloud account with Premium version active for first output. There also has to be email notification enabled for the output.
Example uses PAB (Power Analysis Block) functionality to determine if measured value (load in our case) lies in given range for a period of time. When it does, defined Rule triggers device restart and sends alarm to Cloud.
PAB definition
PAB name: NR04_PAB
{ "type": "RANGE", "source": "OUTPUTS/1/LOAD", "lowerBound": 1, "upperBound": 20, "timeHysteresis": 1800 }
Rule definition
Rule name: NR04_RULE
{ "conditions": { "PAB/NR04_PAB/IN": true } "actions": { "OUTPUTS/1/ACTION": 2, "CLOUD/OUTPUT/1/ALARM": "${COND_RESULT}" } }
NR05 - Load Watchdog with zones
Rule monitors load (Watts) on Output 1. Measured load is then classified to several zones defined with thresholds (limit values). Depending on the zone in which the measured load is currently located, different actions can be triggered. Load value has to be between defined threshold for at least 10seconds in order to be placed to respective zone. Example is composed of one PAB that classifies the zones and three Rules for 3 separate actions. Actions do the following:
- Output 1 load lower than 1W: Output 2 = ON
- Output 1 load between 1-20W: Output 3 = ON
- Output 1 load between 20-200W: Output 4 = ON
PAB definition
PAB name: NR05_PAB
{ "type": "ZONES", "source": "OUTPUTS/2/CURRENT", "thresholds": [ 1, 20, 200 ], "timeHysteresis": 10 }
Rules definitions
Rule 1 name: NR05_RULE_1
{ "conditions": { "PAB/NR05_PAB/ZONE": 0 }, "actions": { "OUTPUTS/2/ACTION": 1, "OUTPUTS/3/ACTION": 0, "OUTPUTS/4/ACTION": 0, } }
Rule 2 name: NR05_RULE_2
{ "conditions": { "PAB/NR05_PAB/ZONE": 0 }, "actions": { "OUTPUTS/2/ACTION": 0, "OUTPUTS/3/ACTION": 1, "OUTPUTS/4/ACTION": 0, } }
Rule 3 name: NR05_RULE_3
{ "conditions": { "PAB/NR05_PAB/ZONE": 0 }, "actions": { "OUTPUTS/2/ACTION": 0, "OUTPUTS/3/ACTION": 0, "OUTPUTS/4/ACTION": 1, } }
NR06 - WatchDog for 2 IPs
The WatchDog functionality is used to monitor connectivity to specified IP address (or URL) by sending PING request to it.
In this example, we monitor two IPs and we want to restart device connected to Output 1 if none of the addresses reply.
The ping for both IPs is sent every 30s and waits 5s for device to respond. There are 5 consecutive timeouts tolerated before the ping is considered as failed. When the ping fails, Watchdog returns false
and remains in ERROR state.
In case both of the defined WatchDogs are in ERORR state, the Rule is triggered which then restarts Output 1.
WatchDogs definition
WatchDog name: NR06_WDT_1
{ "target": "192.168.1.51", "pingInterval": 30, "timeout": 5, "maxTimeouts": 5 }
WatchDog name: NR06_WDT_2
{ "target": "192.168.1.52", "pingInterval": 60, "timeout": 5, "maxTimeouts": 5 }
Rule definition
Rule name: NR06_RULE
{ "conditions": { "operator": "AND" "WDT/NR06_WDT_1/FAIL": true "WDT/NR06_WDT_2/FAIL": true }, "actions": { "OUTPUTS/1/ACTION": 2 } }
NR07 - Synchronized outputs states during working hours
Rule keeps track of first output state and when it changes, it switches output 2 to the same state. However, we want this synchronization only to work during working hours. We define the time with Schedule functionality and use it as a filter (mask) in Rules. Schedule can be defined manually or imported as a configuration file.
Schedule definition
Schedule name: NR07_SCHEDULE
Rule definition
Rule name: NR07_RULE
{ "conditions": { "OUTPUTS/1/STATE": "on" }, "filters": { "SCHEDULE/NR07_SCHEDULE/ACTIVE": true }, "actions": { "OUTPUTS/2/ACTION": "${COND_RESULT}" } }
NR08 - Load Watchdog -> Turn output ON after period of time
PAB definition
PAB name: NR03_PAB
{ "type": "RANGE", "source": "OUTPUTS/1/LOAD", "lowerBound": 1, "upperBound": 20, "timeHysteresis": 120 }
Rule definition
Rule name: NR03_RULE
{ "conditions": { "PAB/NR03_PAB/IN": true }, "actions": { "OUTPUTS/1/ACTION": 2 } }
NR09 - Digital Inputs with Schedule
Rule definition
Rule name: NR02_RULE
{ "conditions": { "INPUTS/1/STATE": "on" }, "actions": { "OUTPUTS/1/ACTION": 4, "OUTPUTS/2/ACTION": 4 } }