[Modul] Internet-Bandbreite überwachen

…bei mir kommt folgendes:

11.11.2020, 16:42:57 |   CheckPrerequisites | cmd=/usr/bin/speedtest --version --accept-license --accept-gdpr, exitcode=134, output=Array<LF>(<LF>    [0] => terminate called after throwing an instance of 'std::logic_error'<LF>    [1] =>   what():  basic_string::_M_construct null not valid<LF>    [2] => Aborted<LF>)<LF>

per SSH auf dem Raspberry Pi funktioniert es:

pi@RPi4IPS:~ $ type speedtest
speedtest ist /usr/bin/speedtest
pi@RPi4IPS:~ $ speedtest

   Speedtest by Ookla

     Server: Studio Funk GmbH & Co. KG - Hamburg (id = 2398)
        ISP: ropa GmbH & Co. KG
    Latency:    21.78 ms   (0.14 ms jitter)
   Download:   213.81 Mbps (data used: 323.4 MB)                               
     Upload:    66.69 Mbps (data used: 117.2 MB)                               
Packet Loss:     0.8%

auch als root:

pi@RPi4IPS:~ $ su
Passwort: 
root@RPi4IPS:/home/pi# speedtest

   Speedtest by Ookla

     Server: Studio Funk GmbH & Co. KG - Hamburg (id = 2398)
        ISP: ropa GmbH & Co. KG
    Latency:    19.75 ms   (1.30 ms jitter)
   Download:   259.64 Mbps (data used: 436.1 MB)                               
     Upload:    79.73 Mbps (data used: 143.8 MB)                               
Packet Loss:     0.0%

Trotzdem kommt in Modul: Instanz ist inaktiv (ungültige Voraussetzungen)

Joachim

Hmm, das ist Jha wirklich sehr merkwürdig, speedtest stürzt ab, wenn es aus IPS heraus aufgerufen wird - ist ja die Meldung, die Du schon am 5.9. gemeldet hattest und ich habe nach wie vor keine Antwort darauf. Das Ganze hat nicht wirklich was mit dem Modul zu tun, das ist ein Problem des Exceutables ‚speedtest‘ ggfs in Kombination mit Deinem System. Bisschen schwierig da zu suchen.

Ich habe ein Ubuntu-System als IPS-Prod, daher nicht vergleichbar und auf meinem Testsystem (pi4) habe ich speedtest noch nicht installiert. Wie hast Du das genau gemacht? Welchen PI benutzt Du mit welchen OS?

Rein interessehalber - hast Du nach der Installation des Speedtest IPS mal gebootet?

Vielleicht hilft Dir das Speedtest – FHEMWiki weiter?

Ggfs musst Du von der Ooakla-Variante wieder zurück auf speedtest-cli.

demel

Hallo Demel,

habe ein Raspberry Pi 4 mit 4GB und das „ganz normale“ Buster drauf. Es funktionierte bei mir bist Du „–accept-license --accept-gdpr“ ergänzt hattest.

Joachim

Hallo,

ich hatte ja damals angeboten, für dich testhalber das wieder raus zu nehmen, aber da ich nichts gehört habe… Sehe zwar keine Zusammenhang, da das ja grundsätzlich so läuft, aber mache ich natürlich gerne. Du kannst und solltest deinen manuelle Aufruf ja gerne mit den gleichen Optionen durchführen.
Trotzdem wüsste ich gerne, wie du speedtest genau installiert hast, damit ich es auf keine pi4 versuchen kann nachzuvollziehen.

gruß
demel

Hallo,

ich habe nun frisch auf meinem PI4 mit Buster und IPS 5.5 den Ookla Speedtest installiert (

Linux -> amrhf-Archiv von Speedtest CLI - Internet connection measurement for developers herunterladen und in /tmp abgelegt

root@ips-dev:/tmp# tar xvfz ookla-speedtest-1.0.0-armhf-linux.tgz
root@ips-dev:/tmp# mv speedtest /usr/bin/speedtest
root@ips-dev:/tmp# mv speedtest.5 /usr/share/man/man5
root@ips-dev:/tmp# type speedtest
speedtest ist /usr/bin/speedtest

dann einmal als root speedtest aufgerufen und beide Fragen bestätigt

Instanz im IPS eingerichtet.

Gibt bei mir keine Fehlermeldung

12.11.2020, 17:14:24 |   CheckPrerequisites | cmd=speedtest --version --accept-license --accept-gdpr, exitcode=0, output=Array<LF>(<LF>    [0] => Speedtest by Ookla 1.0.0.2 (5ae238b) Linux/arm-linux-musleabihf 5.4.51-v7l+ arm/armv7l<LF>    [1] => <LF>    [2] => The official command line client for testing the speed and performance<LF>    [3] => of your internet connection.<LF>)<LF>

Gruß
demel

Hallo demel,

vielen Dank noch mal für Deine Mühe. Haben es noch mal nach Deiner Anleitung installiert, aus dem CLI funktioniert auch alles, nur nicht über Dein Modul.

Ist ein „nice to have“-Modul, aber nicht ganz so wichtig. Schade.

Joachim

Hallo,

ja schade, das wir dem Problem nicht auf die Spur gekommen sind.

Gruß
demel

Hallo zusammen,

hat jemand von euch die speedtest-cli auf Docker im Einsatz? Hab das Problem, dass der Upload nicht richtig gemessen wird.


Testing download speed................................................................................
Download: 99.67 Mbit/s
Testing upload speed......................................................................................................
Upload: 3.78 Mbit/s


speedtest-cli --version
2.0.0

Edit: Problem behoben. An alle die Docker einsetzen, sollten nicht die Speedtest-Cli vom Debian-Repo nutzen.
Sondern wie folgt installieren:

Wer speedtest-cli installiert hat, einfach die vorletzte Zeile auskommentieren.


apt-get install gnupg1 apt-transport-https dirmngr
export INSTALL_KEY=379CE192D401AB61
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys $INSTALL_KEY
echo "deb https://ookla.bintray.com/debian generic main" | tee /etc/apt/sources.list.d/speedtest.list
apt-get update
# Other non-official binaries will conflict with Speedtest CLI
# Example how to remove using apt-get
# apt-get remove speedtest-cli
apt-get install speedtest


   Speedtest by Ookla


     Server: Wingo - Herden (id = 28472)
        ISP: Deutsche Telekom AG
    Latency:    10.48 ms   (0.37 ms jitter)
   Download:    99.84 Mbps (data used: 90.1 MB)                               
     Upload:    38.74 Mbps (data used: 18.4 MB)                               
Packet Loss:     0.0%

Grüße
weazel

Hallo :slight_smile:
bin vor einiger Zeit auch auf Docker umgestiegen und hadere nun mit dem Speedtest…
Wie installiert ihr denn den Speedtest wenn IP Symcon im Docker läuft?
Über apt-get würde ja nach einem Update des Containers der Speedtest wieder weg sein…
und die binary manuell in ei n Dcokervolume zu legen funktioniert aktuell auch nicht.
Das modul kann wohl die Speedtest cli ausführen:
Debuglog

07.01.2021, 13:13:57 |   CheckPrerequisites | cmd=/root/speedtest --version --accept-license --accept-gdpr, exitcode=0, output=Array
(
    [0] => Speedtest by Ookla 1.0.0.2 (5ae238b) Linux/x86_64-linux-musl 4.19.0-12-amd64 x86_64
    [1] => 
    [2] => The official command line client for testing the speed and performance
    [3] => of your internet connection.
)

allerdings beim eigentlichen testen kommt wie bei einem anderen User hier auch schon:


07.01.2021, 13:42:55 |          PerformTest | cmd="/root/speedtest --format=json"

07.01.2021, 13:42:55 |          PerformTest | duration=0,25, exitcode=1, status=fail, err=    speedtest --accept-license

EDIT: Falls jemand das Problem nochmal haben sollte:

es muss zwingend einmal der speedtest aus einem Terminal des Dockercontainers ausgeführt werden,
damit die Lizenzangaben gespeichert werden können.
Es reicht nicht dies aus dem Dockerserver heraus zu tun :wink:

Nun funktioniert es bei mir auf jeden fall =)

Bekomme das Modul leider auch nicht zum laufen, meine Vorgehensweise war wie folgt:

Speedtest von Ookla im Raspberry installiert:

sudo apt-get install gnupg1 apt-transport-https dirmngr
export INSTALL_KEY=379CE192D401AB61
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys $INSTALL_KEY
echo "deb https://ookla.bintray.com/debian generic main" | sudo tee  /etc/apt/sources.list.d/speedtest.list
sudo apt-get update
sudo apt-get install speedtest

Danach das Modul Speedtest aus dem Store installiert.
Eine Instanz Speedtest wurde angelegt, hier unter Programmversion Ookla ausgewählt und Daten aktualisiert.
Bekomme anschließend einen Hinweis: Instanz ist inaktiv (Service nicht verfügbar).

Fehlt in meiner Vorgehensweise noch etwas??
Gruß Yansoph.

Nein, eigentlich nicht. Hast du den Speedtest mal auf der CLI ausgeführt?

habe ich mir auch gerade gedacht, dieses durchzuführen.
Ich komme leider noch nicht auf den Konsolencode…
Wie muss dieser lauten?

Edit:
nach dem Start von Speedtest in der Konsole mit „sudo speedtest start“ und folgender Bestätigung mit Yes funktioniert es.

speedtest :slight_smile:

Hallo,

das kommt inzwischen bei mir auch, nach dem ich den Server (Ubuntu) neu gestartet habe. Wenn ich den IPS-Prozess dann neu starte sudo /etc/init.d/symcon restart funktioniert das einwandfrei.

Das muss meiner Meinung nach also etwas mit der Startreihenfolge bzw zu tun haben.

wäre vielleicht information, was paresy dazu meint, ob das vorstellbar ist.

Gruß
demel

Hallo Zusammen,
seit einer Woche funktioniert das Modul nicht mehr.

Raspberry Pi4B

Nun habe ich folgendes gemacht, leider ohne Erfolg:

sudo apt-get remove speedtest-cli

und folgendes:

sudo apt-get install gnupg1 apt-transport-https dirmngr
export INSTALL_KEY=379CE192D401AB61
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys $INSTALL_KEY
echo "deb https://ookla.bintray.com/debian generic main" | sudo tee  /etc/apt/sources.list.d/speedtest.list
sudo apt-get update
sudo apt-get install speedtest

mit dem Ergebnis:

Bitte um Hilfe! Danke

Du darfst nicht die Standardversion speedtest-cli nutzen…

Danke, habe ich geändert. Spielt aber leider keine Rolle:

Sobald ich auf Aktualisere Daten gehe kommt die Fehlermeldung:

b

Was passiert wenn du auf dem Pi folgendes ausführst:
speedtest --accept-license --accept-gdpr
P.S. das steht sogar in dem von Dir angehängten Log

Hier mein Skript welches ich nach jeder Docker Container Aktualisierung manuell ausführe. Funktioniert auch auf deinem Raspberry Pi

install-requirements.sh

#!/bin/bash
apt update && apt install -y gnupg1 apt-transport-https dirmngr
echo "deb https://ookla.bintray.com/debian generic main" | tee  /etc/apt/sources.list.d/speedtest.list
export INSTALL_KEY=379CE192D401AB61
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys $INSTALL_KEY
apt update && apt install -y vim speedtest htop
speedtest --accept-license --accept-gdpr

Ok, also die Codezeilen 1:1 in eine Datei namens „install-requirements.sh“ packen und ausführen?

Jup :slight_smile: Falls es keine Abhängkeiten zu deiner davor installierten speedtest-cli Version gibt, sollte das ohne Problem durchlaufen. Kannst aber auch erst einmal Zeile für Zeile in die Shell tippen.