#!/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