Overview
Alerts enable users to receive automated notifications and trigger automated actions in devices when important events occur in their devices. Alerts are available for all devices connected to the Arrayent Connect Platform. They are a standard feature of the Arrayent Cloud. Broadly speaking, the workflow for implementing alerts is as follows.
- Your web or smartphone application asks the user if they want to opt in to a specific alert (e.g. receive email when door is opened).
- The web or smartphone application creates the alert definition in the Arrayent Cloud via the Arrayent web service operation
addTrigger
.The alert definition describes the conditions that trigger the alert and what action to take when the condition is TRUE. - The Arrayent Cloud monitors the device. When the triggering event occurs, the Arrayent Cloud automatically executes the action defined in the alert definition.
Alert Definitions
This section explains the meaning of the various flags that you can configure when creating an alert definition.
Auto-Disarm
What is the purpose of the Auto-Disarm flag? When AutoDisarm
is enabled, the Arrayent Cloud will only execute the alert the first time that the alert triggering condition is true, and will then ignore every subsequent event in which the condition remains true until the condition is false. When AutoDisarm
is disabled, the Arrayent Cloud will execute the action defined for an alert every time that the alert triggering condition is true. Consider the following alert definition. When led1==0
the Arrayent Cloud sends an email containing the message Light is off!
to example@arrayent.com
. Note that AutoDisarm
is enabled. The timing diagram below demonstrates when the Arrayent Cloud would execute the email notification under a variety of led1=1
and led1=0
events.
Warning
Do not manually disable the AutoDisarm flag while an alarm is in the disarmed state. This will invalidate the alert, making it non-functional.
Now consider the alert definition below. This is almost the same as the previous alert definition. The only difference is that AutoDisarm
is disabled. The timing diagram below demonstrates when the Arrayent Cloud would execute the email notification.
Auto-Delete
What is the purpose of the Auto-Delete field? When Auto-Delete
is enabled, the Arrayent Cloud will delete the alert definition after the next execution of the alert. Auto-Delete
is off by default. Consider the following alert definition. When led1==0
the Arrayent Cloud sends an email containing the message Lightisoff!
to example@arrayent.com
. After theled1==0
event the Arrayent Cloud will delete this alert definition from its database. The timing diagram below illustrates how this alert would behave over time.
Auto-Disable
What is the purpose of the Auto-Disable field? When Auto-Disable
is enabled, the Arrayent Cloud will turn off the alert after the next execution of the alert. The alert definition still exists in the Arrayent Cloud, but in order to re-enable the alert you will need to call updTrigger
and set enable
to 1
, or manually re-enable the alert via the Arrayent Utility web application. Auto-Disable
is off by default. Consider the following alert definition. When led1==0
the Arrayent Cloud sends an email containing the message Lightisoff!
to example@arrayent.com
. After theled1==0
event the Arrayent Cloud will disable the alert. Although the alert definition still exists in the Arrayent database, the alert will never be triggered again until a web application calls updTrigger
and sets enable
to 1
or a user manually re-enables the Arrayent Utility web application. The timing diagram below illustrates how this alert would behave over time.
Known limitations
Attribute Alerts triggered by online attribute
Attribute alerts that are triggered on the online
attribute are unreliable and should not be avoided
Suppose you created an alert that is triggered when online==1
and the alert is supposed to set a Device Attribute led1
on the same device that came online to the value 1
.
Here is what happens:
- ACA logs in to cloud.
- Arrayent Cloud sets
online
to1
. online
alert is triggered. Arrayent Cloud sendsled1=1
command to the device.- For ACA versions 1.5.1 and below the ACA is thrown into an error state.For ACA versions 1.5.2 the message will get dropped the first time it is sent to the ACA, but because the cloud retries sending messages when the ACA is unresponsive, the message may eventually get transmitted to the ACA after a delay. All of this is handled internally by the ACA.