Regular Alerts Guide

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.

  1. 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).
  2. The web or smartphone application creates the alert definition in the Arrayent Cloud via the Arrayent web service operationaddTrigger.The alert definition describes the conditions that trigger the alert and what action to take when the condition is TRUE.
  3. 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. ../../_images/autodisarm-on.pngWhen 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. ../../_images/autodisarm-on-timing-diagram.png

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. ../../_images/autodisarm-off.pngThis 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. ../../_images/autodisarm-off-timing-diagram.png

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. ../../_images/autodelete-on.pngWhen 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. ../../_images/autodelete-on-timing-diagram.png

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. ../../_images/autodisable-on.pngWhen 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. ../../_images/autodisable-on-timing-diagram.png

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:

  1. ACA logs in to cloud.
  2. Arrayent Cloud sets online to 1.
  3. online alert is triggered. Arrayent Cloud sends led1=1 command to the device.
  4. 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.