You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

51 lines
1.1 KiB
Bash

#!/bin/bash
pushd $(dirname ${BASH_SOURCE[0]}) >/dev/null
# Include configuration
source ../.env
export INFLUX_TOKEN
# Include other functions
source output.sh
# Include all sensor scripts
if [ -d "sensor-scripts" ]; then
for SCRIPT in $(ls sensor-scripts/*.sh 2>/dev/null); do
log "Loading sensor function $(basename ${SCRIPT} .sh)"
TMP_LOG=$(mktemp /tmp/tmp.sf-XXXXXXXX.log)
source "${SCRIPT}" >${TMP_LOG} 2>&1
if [ $? -ne 0 ] ; then
cat ${TMP_LOG} | logError
logError "An error occured loading sensor function $(basename ${SCRIPT} .sh)"
rm ${TMP_LOG}
exit 1
else
cat ${TMP_LOG} | log
rm ${TMP_LOG}
fi
done
fi
# Test if influxdb2 CLI is installed
if ! which influx >/dev/null; then
logError "Influx CLI not found!"
exit 1
fi
# Write data to influx DB
function writeData {
MEASURE="$1"
TAGS="$2"
FIELDS="$3"
influx write \
-b ${INFLUX_BUCKET} \
-o ${INFLUX_ORG} \
-p s \
"${MEASURE},${TAGS} ${FIELDS}"
}
popd >/dev/null