summaryrefslogtreecommitdiff
path: root/recipes-core/annex-client/annex-client/monitor-annexcd
blob: 21d5a6bcfd4981ac5a12e0ab66d762d0d09093a1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
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