diff options
-rw-r--r-- | datasources/datastore-functions.sh | 2 | ||||
-rwxr-xr-x | datasources/internet_speed.sh | 30 |
2 files changed, 31 insertions, 1 deletions
diff --git a/datasources/datastore-functions.sh b/datasources/datastore-functions.sh index 7cd74a0..22a42ce 100644 --- a/datasources/datastore-functions.sh +++ b/datasources/datastore-functions.sh @@ -5,7 +5,7 @@ DATASTORE_BASE="http://localhost:8080/api" put_value_sensor_now() { sensor=$1 value=$2 - curl -s -i -X PUT \ + curl -s -X PUT \ --data-binary "${value}" \ "${DATASTORE_BASE}/value/${sensor}" return $? diff --git a/datasources/internet_speed.sh b/datasources/internet_speed.sh new file mode 100755 index 0000000..2b0b85b --- /dev/null +++ b/datasources/internet_speed.sh @@ -0,0 +1,30 @@ +#!/bin/sh + +. "`dirname \"$0\"`"/datastore-functions.sh + +if ! curl --version >/dev/null; then + echo "missing curl" >&2 + exit 1 +fi + +measure_speed() { + curl --write-out "%{speed_download}" \ + --silent \ + --max-time 60 \ + --output /dev/null \ + "http://speedtest.qsc.de/500kB.qsc" \ + | cut -f 1 -d ',' + return $? +} + +speed=`measure_speed` +if [ $? = 0 ]; then + put_value_sensor_now \ + "`hostname`.internet.speed" \ + "$speed" +else + put_value_sensor_now \ + "`hostname`.internet.speed" \ + "0" +fi +exit $? |