GSM modem is used to send SMS-notifications and to receive SMS-commands.

Configuring GSM modem

Before GSM modem can be used, you have to fill in the fields in the GSM modem properties window.  Go to "System tree" menu and find GSM modem, click on it. A modal window with properties will open.

To save the settings press "Save".  In order to avoid repeating the procedure every time you connect monitoring system, the settings should be saved in the flash memory of the system.  Press "  " and then confirm.

SMS notifications

For more information on creating SMS see section Setting up GSM modem .

To add recipient of SMS notification go to "System tree" or "Group tree" menu and press "  ", then choose "SMS".

To send a test message press "Test". The macros in the message text will be displayed in its original form (% ..). To save the notification properties, click "Save". 

After filling in the properties of notification , you must specify the event, at occurence of which SMS notification will be sent. To do this, go to "Logic schemes" menu >> press add button "  " and specify the conditions for sending SMS notifications. 

For each new recipient you have to repeat the procedure of adding SMS notification.   

Before messages are sent they are queued up,  which means you do not have to wait until the previous message is sent. The information on all SMS sent is displayed in the log of monitoring system.

If an error occurs while sending a message, the log displays "SMS send error" and indicates the error number. The most common error is 515 (p.s. busy), which can occur when:

If these points do not cover your case, try to reboot the system. In addition, try to send SMS from your mobile phone, make sure the SMS centre number is the same.

SMS commands

SMS-commands are used for remote control of monitoring systemUsing these commands, you can read the state and the measured values of sensors, control  relays or outletsPhone numbers from which the SMS commands will be sent, should be added to the list of allowed numbers in the modem properties ( Click on GSM modem icon and edit "Allowed numbers").  In response to each SMS-command,  a response SMS will be sent.  In case of an error, an SMS will be sent with information about the error and an example of command. An SMS can contain only one command for only one element.

Command: reading sensor (relay, outlet) parameters

Function. get [id] or get [name], where id – number of the element, name – name of the element. Field "get" is not case sensitive, both can be used Get, GET.  Field "name" is case sensitive.

Description.  This command checks the state of the sensor or relay (outlet) and sends response SMS to the phone, from which the command was sent.

Examples.

Command: setting state of relay/outlet

  Function. set [id] [state] or set [name] [state], where id – number of the element, name – name of the element, state – state to which relay/outlet switches. Field "set" and "state" are not case-sensitive. Field "name" is case-sensitive.  Field "state" can be in the following states:  on – switch on, off – switch off.

 Description. This command switches the relay ( outlet) in accordance with state parameter. In response it sends an sms notification to the phone number, from which the command was received,  with result of the command.

 Examples.

Command: setting impulse of relay/outlet

 Function. set [id] [name] pulse [duration], where id – number of the element, name – name of the element, duration – duration of delay in seconds. Field "name" is case sensitive.  The range of values for field "duration" is from 1 to 120.  

 Description. This command switches the relay ( outlet) two times with a temporary delay specified as a "duration" parameter in seconds.  

Examples.

For errors related to GSM modem, leave comments on this page.  Please indicate the firmware version of your monitoring system ( "System menu" → "About this system" → "Firmware version"). 

Sending SMS from PC

You can use an external program to send SMS directly from your PC, cURL for example.  An example of such program and example of code in C can be found here:

http://sky-control.com:8090/download/attachments/1966111/920_sms.zip?version=1&modificationDate=1340695719493

The zip file Adobe AIR contains application and an example of code in C.  To follow the example please use the following command in console:

gcc -O2 -o sendsms sendsms.c

To send SMS you can use a free software such as cURL:

Script example of sending SMS

 

#!/bin/bash
# Скрипт отправки SMS для версии 2.4.x

usage()
{
cat << EOF
usage: $0 options

OPTIONS:
   -?,-h   Show this message
   -H      Hostname or IP address
   -u      User name
   -p      Password
   -P      Phone for sending
   -m      Message for sending
EOF
}

HOSTIP=
USERNAME=
PASSWORD=
TOPHONE=
MESSAGE='Test'

while getopts “hH:u:p:P:m:” OPTION
do
     case $OPTION in
         h)
             usage
             exit 1
             ;;
         H)
             HOSTIP=$OPTARG
             ;;
         u)
             USERNAME=$OPTARG
             ;;
         p)
             PASSWORD=$OPTARG
             ;;
         P)
             TOPHONE=$OPTARG
             ;;
         m)
             MESSAGE=$OPTARG
             ;;
         ?)
             usage
             exit
             ;;
     esac
done

if [[ -z $HOSTIP ]] || [[ -z $USERNAME ]] || [[ -z $PASSWORD ]] || [[ -z $TOPHONE ]] || [[ -z $MESSAGE ]]
then
     usage
     exit 1
fi

# 1) хеш пароля
HASH=`echo -n ${PASSWORD} | openssl dgst -sha1 | awk '{print $NF}'`

# 2) авторизация
RESPONSE=`curl -s -d "querytype=auth&name=${USERNAME}&h=${HASH}" "${HOSTIP}/engine.htm"`

# 3) ключ сессии
KEY=`echo -n  ${RESPONSE} | awk -F"\"" '{print $4}'`

# 4) отправить SMS
curl
 -d "querytype=send_sms_message&k=${KEY}" --data-urlencode 
"to_phone=${TOPHONE}" --data-urlencode "message=${MESSAGE}" 
${HOSTIP}/engine.htm > /dev/null 2>&1

 

developer notes: linkchange