added working speedtest sensor

main
Jonas Lührig 3 years ago
parent 1b131f5799
commit 556fc2179c

@ -16,10 +16,41 @@ function doSpeedtest {
logScript "Doing internet speedtest${INTERFACE_TEXT}${SERVER_ID_TEXT}"
if ! OUT=$(speedtest -f json); then
if ! OUT=$(speedtest -f json 2>/dev/null); then
logError "Speedtest failed"
logError "${OUT}"
echo "${OUT}" | logError
SUCCESS=false
JITTER=-1
LATENCY=-1
PING_LOW=-1
PING_HIGH=-1
DOWNLOAD_BANDWIDTH=0
UPLOAD_BANDWIDTH=0
PACKET_LOSS=-1
ISP=""
INTERFACE=""
EXTERNAL_IP=""
SERVER_ID=""
RESULT_ID=""
else
echo
SUCCESS=true
JITTER=$(echo "${OUT}" | jq .ping.jitter)
LATENCY=$(echo "${OUT}" | jq .ping.latency)
PING_LOW=$(echo "${OUT}" | jq .ping.low)
PING_HIGH=$(echo "${OUT}" | jq .ping.high)
DOWNLOAD_BANDWIDTH=$(echo "${OUT}" | jq .download.bandwidth)
UPLOAD_BANDWIDTH=$(echo "${OUT}" | jq .upload.bandwidth)
PACKET_LOSS=$(echo "${OUT}" | jq .packetLoss)
ISP="$(echo "${OUT}" | jq .isp)"
INTERFACE=$(echo "${OUT}" | jq .interface.name)
EXTERNAL_IP=$(echo "${OUT}" | jq .interface.externalIp)
SERVER_ID=$(echo "${OUT}" | jq .server.id)
RESULT_ID=$(echo "${OUT}" | jq .result.id)
fi
writeData \
speedtest \
"sourceHost=$(hostname -f)" \
"success=${SUCCESS},jitter=${JITTER},latency=${LATENCY},ping_low=${PING_LOW},ping_high=${PING_HIGH},download_bandwidth=${DOWNLOAD_BANDWIDTH},upload_bandwidth=${UPLOAD_BANDWIDTH},packetloss=${PACKET_LOSS},isp=${ISP},interface=${INTERFACE},external_ip=${EXTERNAL_IP},server_id=${SERVER_ID},result_id=${RESULT_ID}"
}

@ -0,0 +1,3 @@
INTERVAL=300
doSpeedtest
Loading…
Cancel
Save