Отображение скорости интернета в Domoticz

Есть возможность добавить отображение скорости интернета в Domoticz:

Для этого делаем:

В консоли:
Устанавливаем пакет speedtest-cli:

sudo apt-get update
sudo apt-get install speedtest-cli

Создаем  папку для нашего скрипта в директории /scripts

cd domoticz
cd scripts
sudo mkdir customscripts
cd customscripts
sudo mkdir speedtest
cd speedtest

Далее в Domoticz во вкладке Оборудование создаем  виртуальные датчики Dummy вида Custom Sensor в количестве 3х штук:

  1. Пинг ms
  2. Скорость загрузки mb/s
  3. Скорость передачи mb/s

Запоминаем idx каждого

Создаем файл скрипта:

sudo nano speedtest.sh

В него вставляем:

#!/bin/bash

#setup
host=localhost
port=8080
username=domoticzuser
password=domoticzpassword
pingidx=105
downloadidx=106
uploadidx=107

# no need to edit
speedtest-cli --simple > /home/pi/domoticz/scripts/customscripts/speedtest/spoutput.txt
ping=$(cat /home/pi/domoticz/scripts/customscripts/speedtest/spoutput.txt | sed -ne 's/^Ping: \([0-9]*\.[0-9]*\).*/\1/p')
download=$(cat /home/pi/domoticz/scripts/customscripts/speedtest/spoutput.txt | sed -ne 's/^Download: \([0-9]*\.[0-9]*\).*/\1/p')
upload=$(cat /home/pi/domoticz/scripts/customscripts/speedtest/spoutput.txt | sed -ne 's/^Upload: \([0-9]*\.[0-9]*\).*/\1/p')

#output if you run it manually
echo "ping = $ping ms"
echo "download = $download Mbps"
echo "upload =  $upload Mbps"

curl -s -i -H "Accept: application/json" "http://$username:$password@$host:$port/json.htm?type=command&param=udevice&idx=$pingidx&svalue=$ping"
curl -s -i -H "Accept: application/json" "http://$username:$password@$host:$port/json.htm?type=command&param=udevice&idx=$downloadidx&svalue=$download"
curl -s -i -H "Accept: application/json" "http://$username:$password@$host:$port/json.htm?type=command&param=udevice&idx=$uploadidx&svalue=$upload"

ctrl+o, Enter, ctrl+x

cd

Делаем скрипт исполняемым:

sudo chmod +x /home/pi/domoticz/scripts/customscripts/speedtest/speedtest.sh

Пояснение к скрипту:
host=localhost — адрес Domoticz
port=8080 — порт Domoticz
username=domoticzuser — логин Domoticz
password=domoticzpassword — пароль Domoticz
pingidx=105 — idx dummy пинга
downloadidx=106 — idx dummy скорости загрузки
uploadidx=107 — idx dummy скорости передачи
/home/pi/domoticz/scripts/customscripts/speedtest/spoutput.txt — файл *.txt, куда будут записываться показания измерения скорости, которые будут уходить в Domoticz

Можно все это дело добавить в cron, но я добавил dummy кнопку, по нажатию которой запускается измерение скорости:

Для этого создаем dummy переключатель, и в Действии при включении и выключении вставляем строку к нашему скрипту:

script://customscripts/speedtest/speedtest.sh

 

Далее настраиваем таймер как вам угодно, у меня каждый час:

Взято отсюда:

https://www.domoticz.com/forum/viewtopic.php?f=21&t=13814

Поделитесь с друзьями
Подписаться
Уведомить о
guest

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии