Steenderen.NET

Thuisbasis en digitale zandbak

Domoticz Speedtest

Meten is weten, en dat geldt dus ook voor de kwaliteit van je internet-aansluiting. Als lichtelijk Speedtest-verslaafde kon ik deze plugin voor Domoticz dus niet laten liggen.

Het originele script + instructies komen van hier, ik heb het script lichtelijk aangepast en eigen instructies hieronder geschreven.

Noodzakelijk vooraf is het installeren van het script speedtest-cli. Dit doe je door een SSH-sessie te openen op je Raspberry Pi (of ander apparaat als je dat gebruikt om Domoticz op te draaien) en het volgende commando te geven; sudo apt-get install speedtest-cli

Kijk ik ben geen Linux expert, maar dit is mij nog wel gelukt 🙂 Maar heb je nou geen idee wat bedoeld wordt met SSH, Google dan even, het is te doen.

En dan het script om Speedtest in Domoticz op te nemen…

#!/bin/bash

# Setup
host='localhost'

#IDX voor Ping, Download en Upload
idxpng=1
idxdl=2
idxul=3

# Hieronder niets meer aanpassen
speedtest-cli --simple > speedtest.txt

png=$(cat speedtest.txt | sed -ne 's/^Ping: \([0-9]*\.[0-9]*\).*/\1/p')
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')

# output if you run it manually
echo "Ping = $png ms"
echo "Download = $download Mbps"
echo "Upload = $upload Mbps"

# Updating download, upload and ping ..
wget -q --delete-after "http://$host/json.htm?type=command¶m=udevice&idx=$idxpng&svalue=$png" >/dev/null 2>&1
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

# Domoticz logging
wget -q --delete-after "http://$host/json.htm?type=command¶m=addlogmessage&message=speedtest.net-logging" >/dev/null 2>&1

Bij mijzelf heb ik dit script opgeslagen op de Raspberry PI waarop Domoticz draait onder /home/pi/domoticz/scripts/speedtest.sh (maar dit mag natuurlijk ook een andere locatie zijn, bij mij wordt deze zo meegenomen in de automatische backup van Domoticz). Vervolgens heb ik het script gescheduled middels cronjob, waarbij het script ieder uur wordt gedraaid.

Belangrijk is het om voorafgaand aan het schedulen eerst in Domoticz drie virtuele sensors aan te maken. Dit doe je door onder Hardware een nieuw item aan te maken van het type Dummy. Bij mij heeft deze eenvoudigweg de naam “Speedtest” gekregen.

Als je deze hebt aangemaakt kan je in hetzelfde scherm vervolgens op de knop “Maak virtuele sensoren” klikken. Doe dit drie keer en maak sensoren aan het type “Custom”. Geef deze de namen Ping, Download en Upload.

Ga nu naar het scherm “Apparaten” en zoek hierin de zojuist aangemaakte sensoren op. Vul in het script de IDX-waardes in die je hier bij de sensoren hebt staan.

In het script geldt hierbij;
idxpng = de IDX voor Ping (je vervangt dus de 1)
idxdl = de IDX voor Download (je vervangt dus de 2)
idxul = de IDX voor Upload (je vervangt dus de 3)

Als je dit allemaal goed hebt doorlopen, dan moet je binnen het uur de waarden van je eerste metingen in Domoticz gaan terug zien.

Heb je het script inmiddels langer draaien (bij mij draait dit inmiddels al een aantal weken) dan zijn overzichten zoals dit beschikbaar;

Overzicht Speedtest van de afgelopen 3 dagen (klik voor vergroting)

Verder Bericht

Vorige Bericht

Laat een reactie achter

Deze website gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.

© 2019 Steenderen.NET

Thema door Anders Norén