Configuratyion for speedtest-cli
Scoperius opened this issue ยท 15 comments
Hi I tried to make a running configuration for speedtest-cli (https://github.com/sivel/speedtest-cli). But without any success. Can you please point me the right way? May proposed conf does not display anything:
dynamic.101.name=Ping
dynamic.101.source=/home/pi/speedtest-cli/speedtest.py --simple | grep "Ping: "
dynamic.101.regexp=(.*)
web.status.1.content.10.line.2="Internet Ping: " + data.Ping
although /home/pi/speedtest-cli/speedtest.py --simple | grep "Ping: " returns Ping value properly
Thanks for help,
Petr
Hi Scoperius, I'm not sure if it has to be this way, but I had the best luck when I put just the command for the source, and then did the filtering using the regexp line, so for your config I would try something like
dynamic.101.name=Ping
dynamic.101.source=/home/pi/speedtest-cli/speedtest.py --simple
dynamic.101.regexp=(Ping:.*)
dynamic.101.postprocess=$1
Also there may be a better way to do this, but when I wanted to monitor my internet stats using speedtest-cli and rpimonitor, I built a wrapper for the speedtest command, because it takes so long to run. I think you can also use the interval and timeout values to do it, but I had other reasons why I wanted to use a wrapper. Basically what my wrapper does is checks the age (and existence) of the previous output file, and only runs the speedtest if the file is older than a certain age. Then rpimonitor is able to read that output file as often as it likes without having to worry about
a) Creating a lot of extra bandwidth
and
b) How long the command takes to run.
Like I said there may be better ways to do all of this, but that is what worked for me
Hi sgrayban,
I can share, but I'm not sure my code is suitable for mass consumption. I tend to do Quick and dirty stuff, with the intention of going back and polishing it if I ever run out of projects and have spare time...So far that hasn't happened
Well I was just wondering how you managed to remove the text out of the speedtest results.
Currently I have a cron running every 10 minutes that saves the results to a file which is pulled by the software.
cat /root/speedtest.txt
Ping: 29.792 ms
Download: 113.56 Mbit/s
Upload: 17.67 Mbit/s
Have you been able to clean that up to only get the numbers?
The output that I save is just exactly like that, but when RPIMonitor reads the file it runs it though this line
cat $speedTestOut|sed -n "/$dataType/Is/.*: \(.*\) .*/\1/p"
Where
$speedTestOut is the name of the output file (it looks like /root/speedtest.txt in your case)
and
$datatype is either ping, download, or upload
@dirdled thanks !!!
My script has this now....
#!/bin/bash
# file: /root/speedtest.sh
speedtest --simple > /root/speedtest.txt
cat /root/speedtest.txt|sed -n "/ping/Is/.*: \(.*\) .*/\1/p" > /root/ping.txt
cat /root/speedtest.txt|sed -n "/download/Is/.*: \(.*\) .*/\1/p" > /root/download.txt
cat /root/speedtest.txt|sed -n "/upload/Is/.*: \(.*\) .*/\1/p" > /root/upload.txt
Now to get that into the graph stats!!
@sgrayban Nice... If I can figure out how to to a private message on here, I can share the whole script and also show you what I have for a configuration to use the script...But I'm not sure my fragile ego can handle having people who really know what they're doing critique my code (I guess I'm assuming that you're OK to show because you're asking me questions :) )
@sgrayban Yeah, I'm on facebook (same ID), I don't login often, but I have an account
Here's what mine looks like
Looks like they bumped my upload speed, so I should adjust my gauge settings
No worries, poste your script, we are curious.
Ok, Ok, Since it sounds like @sgrayban doesn't think the code is a dumpster fire I'll share... Here are 2 files one is the speedtest Wrapper (in bash), and the other is the config file for Rpi-Monitor.
SpeedChk.txt
internet.conf.txt