echo "${STR_DATE}: ${MESSAGE_TYPE}: $TEMPERATURE" | tee -a /var/log/temperature-${PRG_DATE}.log
}
+process_received_smses() {
+ PRG_DATE=$(date +%Y%m%d)
+ STR_DATE=$(date)
+
+
+ curl --output /tmp/ses_tok.xml \
+ --request GET \
+ --silent \
+ "http://$MODEM_IP/api/webserver/SesTokInfo"
+
+ SESSION_ID=$(sed 's|^.*<SesInfo>\(.*\)</SesInfo>.*$|\1|' </tmp/ses_tok.xml)
+ TOKEN=$(sed 's|^.*<TokInfo>\(.*\)</TokInfo>.*$|\1|' </tmp/ses_tok.xml)
+
+ # BoxType:
+ # 1: received
+ # 2: sent
+ curl --header "Cookie: $SESSION_ID" \
+ --header "__RequestVerificationToken: $TOKEN" \
+ --request POST \
+ --silent \
+ --data "<?xml version='1.0' encoding='UTF-8'?><request><PageIndex>1</PageIndex><ReadCount>20</ReadCount><BoxType>1</BoxType><SortType>0</SortType><Ascending>0</Ascending><UnreadPreferred>1</UnreadPreferred></request>" \
+ http://$MODEM_IP/api/sms/sms-list \
+ | grep -i '<Content>Stop</Content>' \
+ | while read LINE
+ do
+ touch $SCRIPT_STOP
+ done
+}
+
send_heartbeat_sms() {
MESSAGE_TYPE=$1
TEMPERATURE=$2
STR_DATE=$(date)
- MESSAGE="Heartbeat ${MESSAGE_TYPE}: temperature is $TEMPERATURE"
+ if [ -f $SCRIPT_STOP ]
+ then
+ STOP_STATUS="on"
+ else
+ STOP_STATUS="off"
+ fi
+ MESSAGE="Heartbeat ${MESSAGE_TYPE}: temperature is ${TEMPERATURE}, stop status: $STOP_STATUS"
SMS_TARGETS=""
i=0
while [ $i -lt $NUMBER_OF_HEARTBEAT_PHONES ]
send_heartbeat_sms $MESSAGE_TYPE $TEMPERATURE
fi
+if [ -f $SCRIPT_STOP ]
+then
+ CURRENT_TS=$(date +%s)
+ SCRIPT_STOP_TS=$(stat --format=%Y $SCRIPT_STOP)
+ TS_DIFF=$(( $CURRENT_TS - $SCRIPT_STOP_TS ))
+ if [ $TS_DIFF -gt 86400 ]
+ then
+ rm -f $SCRIPT_STOP
+ fi
+fi
+
if [ -f $SCRIPT_STOP ]
then
exit 0
fi
delete_logs
delete_mail
+process_received_smses
delete_received_smses
delete_sent_smses
echo "${STR_DATE}: ${MESSAGE_TYPE}: $TEMPERATURE" | tee -a /var/log/temperature-${PRG_DATE}.log
}
+process_received_smses() {
+ PRG_DATE=$(date +%Y%m%d)
+ STR_DATE=$(date)
+
+
+ curl --output /tmp/ses_tok.xml \
+ --request GET \
+ --silent \
+ "http://$MODEM_IP/api/webserver/SesTokInfo"
+
+ SESSION_ID=$(sed 's|^.*<SesInfo>\(.*\)</SesInfo>.*$|\1|' </tmp/ses_tok.xml)
+ TOKEN=$(sed 's|^.*<TokInfo>\(.*\)</TokInfo>.*$|\1|' </tmp/ses_tok.xml)
+
+ # BoxType:
+ # 1: received
+ # 2: sent
+ curl --header "Cookie: $SESSION_ID" \
+ --header "__RequestVerificationToken: $TOKEN" \
+ --request POST \
+ --silent \
+ --data "<?xml version='1.0' encoding='UTF-8'?><request><PageIndex>1</PageIndex><ReadCount>20</ReadCount><BoxType>1</BoxType><SortType>0</SortType><Ascending>0</Ascending><UnreadPreferred>1</UnreadPreferred></request>" \
+ http://$MODEM_IP/api/sms/sms-list \
+ | grep -i '<Content>Stop</Content>' \
+ | while read LINE
+ do
+ touch $SCRIPT_STOP
+ done
+}
+
send_heartbeat_sms() {
MESSAGE_TYPE=$1
TEMPERATURE=$2
STR_DATE=$(date)
- MESSAGE="Heartbeat ${MESSAGE_TYPE}: temperature is $TEMPERATURE"
+ if [ -f $SCRIPT_STOP ]
+ then
+ STOP_STATUS="on"
+ else
+ STOP_STATUS="off"
+ fi
+ MESSAGE="Heartbeat ${MESSAGE_TYPE}: temperature is ${TEMPERATURE}, stop status: $STOP_STATUS"
SMS_TARGETS=""
i=0
while [ $i -lt $NUMBER_OF_HEARTBEAT_PHONES ]
send_heartbeat_sms $MESSAGE_TYPE $TEMPERATURE
fi
+if [ -f $SCRIPT_STOP ]
+then
+ CURRENT_TS=$(date +%s)
+ SCRIPT_STOP_TS=$(stat --format=%Y $SCRIPT_STOP)
+ TS_DIFF=$(( $CURRENT_TS - $SCRIPT_STOP_TS ))
+ if [ $TS_DIFF -gt 86400 ]
+ then
+ rm -f $SCRIPT_STOP
+ fi
+fi
+
if [ -f $SCRIPT_STOP ]
then
exit 0
fi
delete_logs
delete_mail
+process_received_smses
delete_received_smses
delete_sent_smses