Een speedtest op Synology DS218+ NAS, dat is handig! In dit artikel leggen we uit hoe je geheel automatisch je download- en uploadsnelheid kunt loggen in Domoticz. Het script maakt gebruik van de Python module speedtest-cli om de internetsnelheid via speedtest.net te testen.
Allereerst gaan we de Python module speedtest-cli installeren via de terminal, je kunt hier PuTTY voor gebruiken:
1 2 |
sudo wget -O speedtest-cli https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py sudo chmod +x speedtest-cli |
Maak nu in Domoticz drie virtuele sensoren aan van het type Custom met de namen:
- Download
- Upload
- Ping
Ga naar Setup -> Devices en noteer de idx-nummer van de vier sensoren die je zojuist hebt aangemaakt.
Op de Synology DS218+ NAS maak je een shared folder aan met de naam Scripts. Kopieer onderstaand script naar de zojuist aangemaakte folder en sla het op met de bestandsnaam speedtest.sh. Uiteraard moet je het IP-adres wel even aanpassen naar het IP-adres van jouw Domoticz-installatie en de IDX-nummer aanpassen. Ook moet je ervoor zorgen dat het script de juiste rechten (755) heeft, zodat het uitgevoerd kan worden.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
#!/bin/bash #setup host='192.168.2.62:8080' #idx for download, upload and ping idxdl=154 idxul=155 idxpng=156 idxbb=157 # no need to edit ./speedtest-cli --simple > speedtest.txt download=$(cat speedtest.txt | sed -ne 's/^Download: \([0-9]*\.[0-9]*\).*/\1/p') upload=$(cat speedtest.txt | sed -ne 's/^Upload: \([0-9]*\.[0-9]*\).*/\1/p') png=$(cat speedtest.txt | sed -ne 's/^Ping: \([0-9]*\.[0-9]*\).*/\1/p') # output if you run it manually echo "Download = $download Mbps" echo "Upload = $upload Mbps" echo "Ping = $png ms" # Updating download, upload and ping .. wget -q --delete-after "http://$host/json.htm?type=command¶m=udevice&idx=$idxdl&svalue=$download" >/dev/null 2>&1 wget -q --delete-after "http://$host/json.htm?type=command¶m=udevice&idx=$idxul&svalue=$upload" >/dev/null 2>&1 wget -q --delete-after "http://$host/json.htm?type=command¶m=udevice&idx=$idxpng&svalue=$png" >/dev/null 2>&1 # Domoticz logging wget -q --delete-after "http://$host/json.htm?type=command¶m=addlogmessage&message=speedtest.net-logging" >/dev/null 2>&1 |
Log nu met een web-browser in op de Synology NAS en ga naar Control Panel > Task Scheduler. Klik op Create > Scheduled Task > User-defined script
Bij Task geef je een willekeurige naam in, zodat je het script herkend. Bij User selecteer je gebruiker die het script uit moet/mag voeren.
Onder de tab Schedule kun je aangeven wanneer en hoe vaak het script moet draaien.
Tot slot kun je nog een mailadres invoeren voor een notificatie en, het belangrijkste, het commando het uitgevoerd moet worden. Vergeet niet om op OK te klikken, nadat je alles ingevuld hebt.
Als alles goed gegaan is krijg je ieder half uur de internetsnelheden in Domoticz te zien: