Alarms in ClearSCADA can be redirected to SMS messages and may be acknowledged via an SMS response. Getting this functionality to work however requires care. The purpose of this article is to point out some general information on getting this feature working.
|This list is of devices that have been noted as working, and is not exhaustive
For a modem to work it must support at a minimum GSM 07.07/3GPP TS 27.007 AT command set.
In addition, prior to ClearSCADA 2015 R1 the modem support "AT+CNMI=3,2" if it is used to receive incoming SMS messages. ClearSCADA 2015 R1 onwards also supports other CNMI modes. The modes supported by a modem can be queried using the "AT+CNMI=?" command (without the quotes) from a VT terminal.
Also, all drivers in ClearSCADA require that the modem be configured with verbose result codes enabled (V1), not numeric result codes (V0), and echo disabled (E0) not enabled (E1). The default modem command for pager channels is "ATV1E0H0S0=0".
For SMS alarms to work correctly a GSM standalone modem MUST be used. Sending SMS via E-Mail will fail in most cases.
Generally speaking the basic configuration in ClearSCADA is as follows.
- A Pager Action is triggered by an alarm redirection from a point. This actions specifies the message and the user whom to send the message to
- The User configuration specifies a Pager Service. This Pager Service setting points to an SMS Pager Service which specifies the message coding and other general settings.
- The SMS Pager Service is associated with an SMS Pager Channel which specifies the connection to the modem.
There are a few common stumbling blocks associated with this sort of setup.
- The modem in question must support some specific commands. Below is a screenshot of a successful modem initialization. It should be assumed that if a modem does not support these commands things will not function properly.
- Allowing commands to be issued via SMS is required.
- When a text message arrives to ClearSCADA it must first associate that message with a user in the database to check for permissions. The only way ClearSCADA can do this is my checking the phone number which is received with the text message against what is specified for the users. It is EXTREMELY IMPORTANT to note that most of the time mobile numbers will appear with a "+", a "1" and the area code in them (in North America). If for example a user is configured to send text messages to a phone number 960 555 5555 in all likelihood when a response arrives back the number in the Pager log file will look like +1 960 555 5555. In this case the message will fail because ClearSCADA did not find any user with the number +1 960 555 5555. In this case ClearSCADA usually logs an alarm which indicates SMS message received but from an unknown user. The solution is to always put +1 in front of all phone numbers in ClearSCADA if in North America. For other countries use the appropriate country code, for example +44 for the UK.
- To acknowledge an alarm the response text message must contain one of two following methods:
- $Root.AcceptAlarmByCookie(nnn) - Where nnn is the cookie number of the alarm. The cookie number may be sent in the SMS with the %ACookie% trip sequence.
- <Fullname of Object>.Accept() - This method however accepts ALL alarms associated with the object. The fullname may be sent in the SMS with the %OFullname% trip sequence.
- <Alias of Method Call> - This method refers to a Method Call object, with the alias being a short name and the Method Call object containing configuration to cause the Accept method on the relevant object. This can only be used for a specific alarm to be acknowledgement.