Ciekawym dodatkiem do naszego Domoticz może być pomiar prędkości łącza internetowego.
Zrobiłem to na przykładzie zaproponowanym na blogu https://raspberrywpraktyce.wordpress.com
Pierwszym krokiem jest oczywiście standardowe
sudo apt-get update oraz
sudo apt-get upgrade
Po tych dwóch komendach możemy zainstalować speedtest
sudo apt-get install speedtest-cli
Zasada jest prosta – wysyłamy wartości speedtest do pliku tekstowego, później przetwarzamy je i ładujemy za pomocą JSON do wartości wirtualnych czujników (dobierając oczywiście odpowiednie ID):
– Hardware
– Devices (typ Custom sensor)
Będąc w folderze gdzie zainstalowany jest Domoticz przechodzimy do scrtips/
sudo nano DomoticzPing.sh
Później (odpowiednio edytując parametry) wpisujemy:
#!/bin/bash
#Tutaj wstawcie wlasne wartosci
host=192.168.1.xxx #Adres IP Raspberry Pi
port=xxx #Numer portu
username=
password=
pingidx=111 #Tu Wasze ID
downloadidx=112 #Tu Wasze ID
uploadidx=113 #Tu Wasze ID
# no need to edit
speedtest-cli –simple > output.txt
ping=$(cat output.txt | sed -ne „s/^Ping: ([0-9]*.[0-9]*).*/1/p”)
download=$(cat output.txt | sed -ne „s/^Download: ([0-9]*.[0-9]*).*/1/p”)
upload=$(cat output.txt | sed -ne „s/^Upload: ([0-9]*.[0-9]*).*/1/p”)
#Ponizsze tylko jezeli uruchamiacie manualnie
#echo „ping = $ping ms”
#echo „download = $download Mbps”
#echo „upload = $upload Mbps”
#Esencja
curl „http://$username:$password@$host:$port/json.htm?type=command¶m=udevice&idx=$pingidx&svalue=$ping”;
curl „http://$username:$password@$host:$port/json.htm?type=command¶m=udevice&idx=$downloadidx&svalue=$download”;
curl „http://$username:$password@$host:$port/json.htm?type=command¶m=udevice&idx=$uploadidx&svalue=$upload”;
Po zapisaniu:
sudo chmod +x /home/pi/domoticz/scripts/DomoticzPing.sh
Oraz aktualizacja Cron:
crontab -e
Dodajemy
@hourly sudo ~/domoticz/scripts/DomoticzPing.sh