summaryrefslogtreecommitdiff
path: root/recipes-core/annex-client/annex-client/monitor-annexcd
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-core/annex-client/annex-client/monitor-annexcd')
-rwxr-xr-xrecipes-core/annex-client/annex-client/monitor-annexcd46
1 files changed, 46 insertions, 0 deletions
diff --git a/recipes-core/annex-client/annex-client/monitor-annexcd b/recipes-core/annex-client/annex-client/monitor-annexcd
new file mode 100755
index 0000000..21d5a6b
--- /dev/null
+++ b/recipes-core/annex-client/annex-client/monitor-annexcd
@@ -0,0 +1,46 @@
+#!/bin/bash
+
+CONFIG_FILE="/var/config/devicehq/config.json"
+
+if [ ! -f $CONFIG_FILE ]; then
+ logger -t monitor-annexcd "Config file missing!"
+ logger -t monitor-annexcd "Do: mkdir /var/config/devicehq"
+ logger -t monitor-annexcd "Then: cp /opt/devicehq/config.json.sample /var/config/devicehq/config.json"
+ logger -t monitor-annexcd "Exiting..."
+ exit 1
+fi
+
+DEVICE_ID=$(mts-io-sysfs show device-id)
+PRODUCT_ID=$(mts-io-sysfs show product-id)
+
+get_args() {
+ JSON=$(cat $CONFIG_FILE)
+
+ ENABLED=$( echo $JSON | jsparser -p enabled )
+ KEY=$( echo $JSON | jsparser -p accountKey )
+ SERVER=$( echo $JSON | jsparser -p deviceServerUrl )
+ PORT=5798
+ QUERY_INT=$( echo $JSON | jsparser -p checkInIntervalMins )
+ GPS_INT=$( echo $JSON | jsparser -p gpsDataIntervalMins )
+ FW_UPGRADE=$( echo $JSON | jsparser -p allowFirmwareUpgrade )
+ CONFIG_UPGRADE=$(echo $JSON | jsparser -p allowConfigUpgrade )
+}
+
+
+get_args
+
+if [ "$KEY" == "" ]; then
+ logger -t monitor-annexcd "Account key missing in $CONFIG_FILE"
+ logger -t monitor-annexcd "Exiting..."
+ exit 1
+fi
+
+MIN_TO_MS=60000
+
+if [[ $ENABLED == "true" ]]; then
+ ANNEXCD="annexcd --account-key $KEY --host $SERVER --port $PORT --product-id $PRODUCT_ID --device-id $DEVICE_ID --rpd-interval $(( $QUERY_INT * $MIN_TO_MS )) --gps-interval $(( $GPS_INT * $MIN_TO_MS )) --net-interval $(( $QUERY_INT * $MIN_TO_MS )) --cell-interval $(( $QUERY_INT * $MIN_TO_MS )) --active-apps-interval $(( $QUERY_INT * $MIN_TO_MS )) --lora-interval $(( $QUERY_INT * $MIN_TO_MS )) --when-ppp-up on --firmware-upgrade $FW_UPGRADE --config-upgrade $CONFIG_UPGRADE --ssl-method ssl --ssl-ca-certificate /etc/ssl/certs/rootCA.pem --ssl-ca-strict --log-upto 7"
+ until $ANNEXCD; do
+ echo "annexcd exited with status $? - restarting..." >&2
+ sleep 1
+ done
+fi