Updated vhost{1, 2}.usr (added stop file handling to temperature.sh).
authorZoltán Felleg <zoltan.felleg@userrendszerhaz.hu>
Fri, 5 Feb 2021 11:49:05 +0000 (12:49 +0100)
committerZoltán Felleg <zoltan.felleg@userrendszerhaz.hu>
Fri, 5 Feb 2021 11:49:05 +0000 (12:49 +0100)
sources/vhost1.usr/root/temperature.sh
sources/vhost2.usr/root/temperature.sh

index 811d839b0d3f6efccb81751027892a070569cb2b..448039834fa719ec71fea68c95c335066fe622e3 100755 (executable)
@@ -139,6 +139,35 @@ log_temperature() {
     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
@@ -146,7 +175,13 @@ send_heartbeat_sms() {
     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 ]
@@ -245,6 +280,17 @@ then
     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
@@ -275,5 +321,6 @@ then
 fi
 delete_logs
 delete_mail
+process_received_smses
 delete_received_smses
 delete_sent_smses
index 811d839b0d3f6efccb81751027892a070569cb2b..448039834fa719ec71fea68c95c335066fe622e3 100755 (executable)
@@ -139,6 +139,35 @@ log_temperature() {
     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
@@ -146,7 +175,13 @@ send_heartbeat_sms() {
     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 ]
@@ -245,6 +280,17 @@ then
     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
@@ -275,5 +321,6 @@ then
 fi
 delete_logs
 delete_mail
+process_received_smses
 delete_received_smses
 delete_sent_smses