summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--datasources/datastore-functions.sh2
-rwxr-xr-xdatasources/internet_speed.sh30
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 $?