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