NEWS
Speedtest-Skript von kreyenborg.koeln für Kabel-Gigabit
-
Die beiden für ioBroker verfügbaren Adapter um Speedtests zu monitoren haben die Eigenschaft an meinem Gigabit-Anschluss über Kabel sehr unbeständige Werte abzuliefern. Ein Flot-Chart sieht dann aus wie ein Kamm, dem ein paar Zinken fehlen.
Sehr viel beständigere und realistischere Werte liefert mir ein skript von https://www.kreyenborg.koeln/speedtest-fuer-iobroker/Ich dokumentiere hier mal, wie ich das etwas abweichend von Stephan Kreyenborgs Anleitung auf meinem System eingerichtet habe.
Zunächst habe ich sowohl den webspeedy wie auch den vofo-speedtest-Adapter im ioBroker deinstalliert.
Dann habe ich persudo apt remove speedtest-cli speedtestden bisherigen Kommandozeilen-Speedtest deinstalliert.
Dann per
sudo apt install curl curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh | sudo bash sudo apt update sudo apt install speedtestdas aktuelle Repo von ookla/speedtest.net eingespielt.
[EXKURS]
Falls das skript nicht durchläuft kann man 'zu Fuß' eine passende Datei unter /etc/apt/sources.list.d/ookla_speedtest-cli.list für Debian Bullseye mit folgendem Inhalt angelegen:# this file was generated by packagecloud.io for # the repository at https://packagecloud.io/ookla/speedtest-cli deb [signed-by=/etc/apt/trusted.gpg.d/ookla_speedtest-cli-archive-keyring.gpg] https://packagecloud.io/ookla/speedtest-cli/debian/ bullseye main deb-src [signed-by=/etc/apt/trusted.gpg.d/ookla_speedtest-cli-archive-keyring.gpg] https://packagecloud.io/ookla/speedtest-cli/debian/ bullseye mainDann noch den Schlüssel importieren:
curl -fsSL https://packagecloud.io/ookla/speedtest-cli/gpgkey | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/ookla_speedtest-cli-archive-keyring.gpgAndere Distributionen wie z. B. ubuntu dann analog (DISTRIBUTION und RELEASE entsprechend ersetzen):
# this file was generated by packagecloud.io for # the repository at https://packagecloud.io/ookla/speedtest-cli deb https://packagecloud.io/ookla/speedtest-cli/DISTRIBUTION/ RELEASE main deb-src https://packagecloud.io/ookla/speedtest-cli/DISTRIBUTION/ RELEASE mainEin
sudo apt update sudo apt install speedtestspült die gewünschte Version dann in mein System.
[EXKURS ENDE]
Erster Test in der Kommandozeile liefert:
echad@chet:/opt/iobroker $ speedtest Speedtest by Ookla Server: fiberONE - Darmstadt (id = 25942) ISP: Vodafone Germany Cable Latency: 11.86 ms (1.27 ms jitter) Download: 930.24 Mbps (data used: 1.2 GB) Upload: 51.74 Mbps (data used: 25.9 MB) Packet Loss: 0.0% Result URL: https://www.speedtest.net/result/c/Prima, funktioniert.
Dann das skript von kreyenborg.koeln in den javaskript-Adapter geladen und in Zeile 210 oder 217 die Zeile
var kommando = "/etc/speedtest/speedtest -f json --accept-license --accept-gdpr";an den anderen Pfad angepasst:
var kommando = "/usr/bin/speedtest -f json --accept-license --accept-gdpr";Danach lief das skript und ich kann per eCharts so ein Diagramm bewundern:

Tip am Rande:
Per
https://c.speedtest.net/speedtest-servers-static.php
sollte man eine ID (hier z. B. 12345) eines zuverlässigen Servers identifizieren und im skript in Zeile 32 fix eintragen.var fav_server = 12345;@thomas-braun said in Speedtest-Skript von kreyenborg.koeln für Kabel-Gigabit:
Tip am Rande:
Per
https://c.speedtest.net/speedtest-servers-static.php
sollte man eine ID (hier z. B. 12345) eines zuverlässigen Servers identifizieren und im skript in Zeile 32 fix eintragen.var fav_server = 12345;Ich habe eine deutlich umfangreichere Liste für die Server IDs gefunden, die ich euch nicht vorenthalten möchte:
https://williamyaps.github.io/wlmjavascript/servercli.html -
@thomas-braun said in Speedtest-Skript von kreyenborg.koeln für Kabel-Gigabit:
Tip am Rande:
Per
https://c.speedtest.net/speedtest-servers-static.php
sollte man eine ID (hier z. B. 12345) eines zuverlässigen Servers identifizieren und im skript in Zeile 32 fix eintragen.var fav_server = 12345;Ich habe eine deutlich umfangreichere Liste für die Server IDs gefunden, die ich euch nicht vorenthalten möchte:
https://williamyaps.github.io/wlmjavascript/servercli.html@localhorst hier ist immer die Frage, wie aktuell eine solche Liste ist bzw. gehalten wird.
Die Liste, die von Speedtest selbst kommt, zeigt immer die Server in der Nähe an.
Eine Messung durch einen Server in Albanien kann interessant sein, wird aber wohl nicht das gewünschte Ergebnis bringen 😉 -
@localhorst hier ist immer die Frage, wie aktuell eine solche Liste ist bzw. gehalten wird.
Die Liste, die von Speedtest selbst kommt, zeigt immer die Server in der Nähe an.
Eine Messung durch einen Server in Albanien kann interessant sein, wird aber wohl nicht das gewünschte Ergebnis bringen 😉@skb
Via https://c.speedtest.net/speedtest-servers-static.php bekomme ich nichts Brauchbares.
Über die verlinkte Liste konnte ich gezielt meinen Wunschserver (Wilhelm.tel) sofort finden.
Wie auch immer, muss ja niemand verwenden. -
Hallo, bin absoluter JVScript Laie. Ich hätte den Speedtest gern bei mir eingebunden um mit den vielen Daten dann auch in Grafana übern zu können. Nur leider hab ich diese Fehlermeldung.
// Erstelle die benötigten Datenpunkte function datenpunkte_erstellen() { for (var i = 0; i < objekt.length; i++) { createState(datenpunkt + objekt[i], "", ueberschreiben, { name: beschreibung[i], desc: beschreibung[i], type: typen[i], role: rolle[i], unit: einheiten[i] }); }15:30:05.263 info javascript.0 (337674) script.js.common.Speedtest: Speedtest gestartet! Der Test dauert zwischen 10 - 20 Sekunden! 15:30:05.264 info javascript.0 (337674) script.js.common.Speedtest: exec is not available. Please enable "Enable Exec" option in instance settings 15:30:05.266 error javascript.0 (337674) script.js.common.Speedtest: Speedtest konnte nicht ausgeführt werden! exec is not available. Please enable "Enable Exec" option in instance settings 15:30:05.273 info javascript.0 (337674) script.js.common.Speedtest: Speedtest gestartet! Der Test dauert zwischen 10 - 20 Sekunden! 15:30:05.274 info javascript.0 (337674) script.js.common.Speedtest: exec is not available. Please enable "Enable Exec" option in instance settings 15:30:05.278 error javascript.0 (337674) script.js.common.Speedtest: Speedtest konnte nicht ausgeführt werden! exec is not available. Please enable "Enable Exec" option in instance settingsVielleicht hat jemand eine schnelle, einfache Lösung für mich. Danke
-
Hallo, bin absoluter JVScript Laie. Ich hätte den Speedtest gern bei mir eingebunden um mit den vielen Daten dann auch in Grafana übern zu können. Nur leider hab ich diese Fehlermeldung.
// Erstelle die benötigten Datenpunkte function datenpunkte_erstellen() { for (var i = 0; i < objekt.length; i++) { createState(datenpunkt + objekt[i], "", ueberschreiben, { name: beschreibung[i], desc: beschreibung[i], type: typen[i], role: rolle[i], unit: einheiten[i] }); }15:30:05.263 info javascript.0 (337674) script.js.common.Speedtest: Speedtest gestartet! Der Test dauert zwischen 10 - 20 Sekunden! 15:30:05.264 info javascript.0 (337674) script.js.common.Speedtest: exec is not available. Please enable "Enable Exec" option in instance settings 15:30:05.266 error javascript.0 (337674) script.js.common.Speedtest: Speedtest konnte nicht ausgeführt werden! exec is not available. Please enable "Enable Exec" option in instance settings 15:30:05.273 info javascript.0 (337674) script.js.common.Speedtest: Speedtest gestartet! Der Test dauert zwischen 10 - 20 Sekunden! 15:30:05.274 info javascript.0 (337674) script.js.common.Speedtest: exec is not available. Please enable "Enable Exec" option in instance settings 15:30:05.278 error javascript.0 (337674) script.js.common.Speedtest: Speedtest konnte nicht ausgeführt werden! exec is not available. Please enable "Enable Exec" option in instance settingsVielleicht hat jemand eine schnelle, einfache Lösung für mich. Danke
-
@tenjo78 der Fehler steht doch schon im Log:
Exec I'm Javascript Adapter erlauben.
Wer lesen kann ist klar im Vorteil :) -
-
Hallo zusammen,
habe auch den Speedtest Adapter installiert, über ssh werden auch korrekte Ergebnisse geliefert.
Dann habe ich das js Skript importiert, Pfad angepasst und bekomme folgende Fehlermeldung:2024-01-17 22:23:50.140 - error: javascript.0 (32246) script.js.common.Speedtest: SyntaxError: Unexpected end of JSON input 2024-01-17 22:23:50.141 - error: javascript.0 (32246) at JSON.parse () 2024-01-17 22:23:50.142 - error: javascript.0 (32246) at generiere_array (script.js.common.Speedtest:181:18) 2024-01-17 22:23:50.142 - error: javascript.0 (32246) at script.js.common.Speedtest:229:28 2024-01-17 22:23:50.142 - error: javascript.0 (32246) at ChildProcess.exithandler (node:child_process:414:7) 2024-01-17 22:23:50.143 - error: javascript.0 (32246) at ChildProcess.emit (node:events:517:28) 2024-01-17 22:23:50.143 - error: javascript.0 (32246) at ChildProcess.emit (node:domain:489:12) 2024-01-17 22:23:50.143 - error: javascript.0 (32246) at maybeClose (node:internal/child_process:1098:16) 2024-01-17 22:23:50.143 - error: javascript.0 (32246) at Process.ChildProcess._handle.onexit (node:internal/child_process:303:5)Kann mir da jemand helfen?
-
Hallo zusammen,
habe auch den Speedtest Adapter installiert, über ssh werden auch korrekte Ergebnisse geliefert.
Dann habe ich das js Skript importiert, Pfad angepasst und bekomme folgende Fehlermeldung:2024-01-17 22:23:50.140 - error: javascript.0 (32246) script.js.common.Speedtest: SyntaxError: Unexpected end of JSON input 2024-01-17 22:23:50.141 - error: javascript.0 (32246) at JSON.parse () 2024-01-17 22:23:50.142 - error: javascript.0 (32246) at generiere_array (script.js.common.Speedtest:181:18) 2024-01-17 22:23:50.142 - error: javascript.0 (32246) at script.js.common.Speedtest:229:28 2024-01-17 22:23:50.142 - error: javascript.0 (32246) at ChildProcess.exithandler (node:child_process:414:7) 2024-01-17 22:23:50.143 - error: javascript.0 (32246) at ChildProcess.emit (node:events:517:28) 2024-01-17 22:23:50.143 - error: javascript.0 (32246) at ChildProcess.emit (node:domain:489:12) 2024-01-17 22:23:50.143 - error: javascript.0 (32246) at maybeClose (node:internal/child_process:1098:16) 2024-01-17 22:23:50.143 - error: javascript.0 (32246) at Process.ChildProcess._handle.onexit (node:internal/child_process:303:5)Kann mir da jemand helfen?
-
pi@iobroker:~ $ sudo apt update OK:1 http://archive.raspberrypi.org/debian buster InRelease Holen:2 http://raspbian.raspberrypi.org/raspbian buster InRelease [15,0 kB] OK:3 https://repos.influxdata.com/debian stable InRelease OK:4 https://packages.grafana.com/oss/deb stable InRelease OK:5 https://deb.nodesource.com/node_18.x nodistro InRelease Ign:6 https://packagecloud.io/ookla/speedtest-cli/raspbian buster InRelease Fehl:7 https://packagecloud.io/ookla/speedtest-cli/raspbian buster Release 404 Not Found [IP: 2600:1f1c:2e5:6900:e12:7a5d:4cf3:3662 443] Paketlisten werden gelesen... Fertig E: Das Depot »https://packagecloud.io/ookla/speedtest-cli/raspbian buster Release« enthält keine Release-Datei. N: Eine Aktualisierung von solch einem Depot kann nicht auf eine sichere Art durchgeführt werden, daher ist es standardmäßig deaktiviert. N: Weitere Details zur Erzeugung von Paketdepots sowie zu deren Benutzerkonfiguration finden Sie in der Handbuchseite apt-secure(8). pi@iobroker:~ $ apt policy speedtest-cli speedtest-cli: Installiert: 2.0.2-1+deb10u2 Installationskandidat: 2.0.2-1+deb10u2 Versionstabelle: *** 2.0.2-1+deb10u2 500 500 http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages 100 /var/lib/dpkg/status -
pi@iobroker:~ $ sudo apt update OK:1 http://archive.raspberrypi.org/debian buster InRelease Holen:2 http://raspbian.raspberrypi.org/raspbian buster InRelease [15,0 kB] OK:3 https://repos.influxdata.com/debian stable InRelease OK:4 https://packages.grafana.com/oss/deb stable InRelease OK:5 https://deb.nodesource.com/node_18.x nodistro InRelease Ign:6 https://packagecloud.io/ookla/speedtest-cli/raspbian buster InRelease Fehl:7 https://packagecloud.io/ookla/speedtest-cli/raspbian buster Release 404 Not Found [IP: 2600:1f1c:2e5:6900:e12:7a5d:4cf3:3662 443] Paketlisten werden gelesen... Fertig E: Das Depot »https://packagecloud.io/ookla/speedtest-cli/raspbian buster Release« enthält keine Release-Datei. N: Eine Aktualisierung von solch einem Depot kann nicht auf eine sichere Art durchgeführt werden, daher ist es standardmäßig deaktiviert. N: Weitere Details zur Erzeugung von Paketdepots sowie zu deren Benutzerkonfiguration finden Sie in der Handbuchseite apt-secure(8). pi@iobroker:~ $ apt policy speedtest-cli speedtest-cli: Installiert: 2.0.2-1+deb10u2 Installationskandidat: 2.0.2-1+deb10u2 Versionstabelle: *** 2.0.2-1+deb10u2 500 500 http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages 100 /var/lib/dpkg/status@cyqx13
Da haben wir den Fehler auch schon.
Falsches Paket und dein Betriebssystem ist auch tot...Installier da was lebendiges. Debian 12 'Bookworm' bzw. Raspberry OS 12 'Bookworm'. In der 64Bit Lite-Version.
Funktionierend sähe das so aus:
echad@chet:~ $ apt policy speedtest* speedtest: Installed: 1.2.0.84-1.ea6b6773cf Candidate: 1.2.0.84-1.ea6b6773cf Version table: *** 1.2.0.84-1.ea6b6773cf 500 500 https://packagecloud.io/ookla/speedtest-cli/debian trixie/main arm64 Packages 100 /var/lib/dpkg/status speedtest-cli: Installed: (none) Candidate: 2.1.3-2 Version table: 2.1.3-2 500 500 http://deb.debian.org/debian testing/main arm64 Packages 500 http://deb.debian.org/debian testing/main armhf Packages -
@cyqx13
Da haben wir den Fehler auch schon.
Falsches Paket und dein Betriebssystem ist auch tot...Installier da was lebendiges. Debian 12 'Bookworm' bzw. Raspberry OS 12 'Bookworm'. In der 64Bit Lite-Version.
Funktionierend sähe das so aus:
echad@chet:~ $ apt policy speedtest* speedtest: Installed: 1.2.0.84-1.ea6b6773cf Candidate: 1.2.0.84-1.ea6b6773cf Version table: *** 1.2.0.84-1.ea6b6773cf 500 500 https://packagecloud.io/ookla/speedtest-cli/debian trixie/main arm64 Packages 100 /var/lib/dpkg/status speedtest-cli: Installed: (none) Candidate: 2.1.3-2 Version table: 2.1.3-2 500 500 http://deb.debian.org/debian testing/main arm64 Packages 500 http://deb.debian.org/debian testing/main armhf Packages@thomas-braun
ok danke, Betriebssystem mache ich mal die Tage, steht auf meiner ToDo Liste, aber wieso falsches Paket? Müsste doch trotzdem zu installieren sein?
Bei sudo apt install speedtest
funktioniert auch nur speedtest-cli -
@thomas-braun
ok danke, Betriebssystem mache ich mal die Tage, steht auf meiner ToDo Liste, aber wieso falsches Paket? Müsste doch trotzdem zu installieren sein?
Bei sudo apt install speedtest
funktioniert auch nur speedtest-cli@cyqx13 sagte in Speedtest-Skript von kreyenborg.koeln für Kabel-Gigabit:
aber wieso falsches Paket?
Weil das Paket 'speedtest' heißt (und aus dem extra dafür angelegten Repo kommt) und nicht 'speedtest-cli'.
Deswegen steht auch im ersten Posting:
Zunächst den falschen Kram deinstallieren:sudo apt remove speedtest-cli speedtest -
@thomas-braun
ok danke, Betriebssystem mache ich mal die Tage, steht auf meiner ToDo Liste, aber wieso falsches Paket? Müsste doch trotzdem zu installieren sein?
Bei sudo apt install speedtest
funktioniert auch nur speedtest-cli@cyqx13 sagte in Speedtest-Skript von kreyenborg.koeln für Kabel-Gigabit:
Bei sudo apt install speedtest
funktioniert auch nur speedtest-cliLogisch. Das richtige Repo wird für dein totes OS ja nicht mehr angeboten. Daher: OS frisch neuinstallieren.
-
Hallo, seit einigen Tagen stimmen die Werte vom Speedtest nicht mehr.
Hatte immer 400 Down- und 200 Upload, nun nur noch zw. 80 und 90.
Auch der Aufruf im Cli bringt nur noch diese niedrigen Werte. Was mir aber
aufgefallen ist, ein Error bei Aufruf von speedtest.jack@ioBroker:~$ speedtest Speedtest by Ookla [error] Error: [0] Cannot read from socket: Server: ITbyHF / Alec H. - Dusseldorf (id: 51708) ISP: Deutsche Glasfaser Idle Latency: 4.43 ms (jitter: 2.24ms, low: 3.06ms, high: 7.70ms) Download: 91.01 Mbps (data used: 46.7 MB) 63.97 ms (jitter: 23.70ms, low: 9.63ms, high: 434.04ms) Upload: 92.77 Mbps (data used: 90.1 MB) 12.29 ms (jitter: 2.20ms, low: 10.01ms, high: 48.52ms) Packet Loss: 0.0% Result URL: https://www.speedtest.net/result/c/e0acc694-c4a3-41b6-88b2-35a3d5dd7086 -
Hallo, seit einigen Tagen stimmen die Werte vom Speedtest nicht mehr.
Hatte immer 400 Down- und 200 Upload, nun nur noch zw. 80 und 90.
Auch der Aufruf im Cli bringt nur noch diese niedrigen Werte. Was mir aber
aufgefallen ist, ein Error bei Aufruf von speedtest.jack@ioBroker:~$ speedtest Speedtest by Ookla [error] Error: [0] Cannot read from socket: Server: ITbyHF / Alec H. - Dusseldorf (id: 51708) ISP: Deutsche Glasfaser Idle Latency: 4.43 ms (jitter: 2.24ms, low: 3.06ms, high: 7.70ms) Download: 91.01 Mbps (data used: 46.7 MB) 63.97 ms (jitter: 23.70ms, low: 9.63ms, high: 434.04ms) Upload: 92.77 Mbps (data used: 90.1 MB) 12.29 ms (jitter: 2.20ms, low: 10.01ms, high: 48.52ms) Packet Loss: 0.0% Result URL: https://www.speedtest.net/result/c/e0acc694-c4a3-41b6-88b2-35a3d5dd7086@nashra sagte in Speedtest-Skript von kreyenborg.koeln für Kabel-Gigabit:
Hallo, seit einigen Tagen stimmen die Werte vom Speedtest nicht mehr.
hast du mal einen anderen Server versucht?
Bei mir passt alles.
-
@nashra sagte in Speedtest-Skript von kreyenborg.koeln für Kabel-Gigabit:
Hallo, seit einigen Tagen stimmen die Werte vom Speedtest nicht mehr.
hast du mal einen anderen Server versucht?
Bei mir passt alles.
@negalein sagte in Speedtest-Skript von kreyenborg.koeln für Kabel-Gigabit:
@nashra sagte in Speedtest-Skript von kreyenborg.koeln für Kabel-Gigabit:
Hallo, seit einigen Tagen stimmen die Werte vom Speedtest nicht mehr.
hast du mal einen anderen Server versucht?
Bei mir passt alles.
Ja habe ich. Wenn ich im Browser Ookla direkt aufrufe und starte, dann kommen die richtigen Werte.
Komme nicht dahinter warum das auf einmal so ist. -
Erledigt, Fehler gefunden bzw. hätte ich direkt nachsehen sollen. Switch im Netzwerk wars :man-facepalming:
Und der Error beim Aufruf im CLI ist auch weg. -
Hallo....ich frage zwar dort beim Scriptersteller wie man das Datum konvertieren könnte. Im Script wird ja:
let monat = '0' +(datum.getMonth() +1);der Monat definiert mit einer 0 in der Monatszahl. Aber es muss doch möglich sein den Monatsnamen zu konvertieren. Ich habe im Netz viele ansätze gesucht aber dan haut es mir in das Script Fehler rein bis auf ein Stop
mein Gedanke war her daher:
let monat = [ "Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember" ]nur die Ausgabe....furchtbar...
Hat da einer Idee den ich und Javascript ist wie ein Bäcker muß ein Auto verkaufen, also no Ahnung -
Hallo....ich frage zwar dort beim Scriptersteller wie man das Datum konvertieren könnte. Im Script wird ja:
let monat = '0' +(datum.getMonth() +1);der Monat definiert mit einer 0 in der Monatszahl. Aber es muss doch möglich sein den Monatsnamen zu konvertieren. Ich habe im Netz viele ansätze gesucht aber dan haut es mir in das Script Fehler rein bis auf ein Stop
mein Gedanke war her daher:
let monat = [ "Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember" ]nur die Ausgabe....furchtbar...
Hat da einer Idee den ich und Javascript ist wie ein Bäcker muß ein Auto verkaufen, also no Ahnung@matze55 Problem gelösst es klappt. wer Interresse hat poste ich das Script mit Anzeige des Monatsnamenanzeige und Anzeige des Wochentages...erst mal danke an den Sriptersteller
Bild:

Das Bild wird mit dialogpopup geöffnet...und mit CSS definiert.
Anzeige Wochentag und Monat ...selbst erklärend--man sieht es. Ich nutze die VIS von SIGGI der tolle Sachen macht..hut ab.