NEWS
JSON-Fehler im Script
-
Re: Speedtest-Skript von kreyenborg.koeln für Kabel-Gigabit
Mein System läuft komplett aktualisiert Stand heute.
Das Script läuft bei mir auf einen Fehler:
javascript.0 2025-03-13 12:54:08.449 error at Process.ChildProcess._handle.onexit (node:internal/child_process:304:5) javascript.0 2025-03-13 12:54:08.449 error at maybeClose (node:internal/child_process:1104:16) javascript.0 2025-03-13 12:54:08.449 error at ChildProcess.emit (node:domain:489:12) javascript.0 2025-03-13 12:54:08.449 error at ChildProcess.emit (node:events:518:28) javascript.0 2025-03-13 12:54:08.449 error at ChildProcess.exithandler (node:child_process:414:7) javascript.0 2025-03-13 12:54:08.449 error at /opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1186:42 javascript.0 2025-03-13 12:54:08.449 error at Object.<anonymous> (script.js.common.Haus.System.Speedtest_2:270:28) javascript.0 2025-03-13 12:54:08.449 error at generiere_array (script.js.common.Haus.System.Speedtest_2:213:18) javascript.0 2025-03-13 12:54:08.449 error at JSON.parse (<anonymous>) javascript.0 2025-03-13 12:54:08.448 error Error in callback: SyntaxError: Unexpected end of JSON input
Ist das Problem bekannt? Wenn Ja, wie kann ich das lösen?
-
@axel sagte in JSON-Fehler im Script:
Ist das Problem bekannt?
Nö. Läuft bei mir seit Jahren stabil.
Wenn Ja, wie kann ich das lösen?
Indem Du mal schaust, was da in die Funktion
generiere_array()
gesteckt wird.
Ändere mal in der Funktion "speedtest()`` wie folgt:exec(kommando, function (error, stdout) { if (error) { log('Speedtest konnte nicht ausgeführt werden! ' + error, 'error'); return; } else { success = true; // die folgende Zeile neu einfügen console.log(stdout); tmp_json = generiere_array(stdout); aktualisiere_datenpunkt(tmp_json); log('Speedtest durchgeführt. Ergebnisse: Download: ' + tmp_json[5] + ' MB/s | Upload: ' + tmp_json[6] + ' MB/s | Ping: ' + tmp_json[1] + 'ms'); } });
Mit den Zeilennummern kann ich leider nicht dienen, da ich die Version Deines Scriptes nicht kenne und meines etwas umgebaut wurde. Dürfte so um Zeile 270 sein.
-
@codierknecht sagte in JSON-Fehler im Script:
// die folgende Zeile neu einfügen
Es gab ein Installationsproblem. Meine Installation läuft auf einer Ubuntu-VM. Speedtest liess sich nicht nach "Speedtest-Skript von kreyenborg.koeln" installieren. Habe wie beschrieben den Exkurs angewendet und die source Datei zu Fuß eingebaut.
# 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 main
Speedtest selbst liess sich trotzdem nicht sauber installieren, wurde als SNAP bereitgestellt. Damit hören dann meine Kennisse auf. Noch ein wenig rumexperimentiert, aber kein brauchbares Ergebnis erhalten.
Meine Funktion sieht so aus:
function speedtest() { // temporäre Variable für das Array var tmp_json; // Kommando für den Speedtest var kommando = "speedtest json"; // angepasst. Da hat sich wohl am System was geändert. if (fav_server > 0) { kommando = kommando + " -s " + fav_server; log("Speedtest mit Server " + fav_server + " gestartet! Der Test dauert zwischen 10 - 20 Sekunden!"); } else { log("Speedtest gestartet! Der Test dauert zwischen 10 - 20 Sekunden!"); } exec(kommando, function (error, stdout) { if (error) { log('Speedtest konnte nicht ausgeführt werden! ' + error, 'error'); return; } else { log('Speedtest durchgeführt. Ergebnisse: Download: ' + tmp_json[5] + ' MB/s | Upload: ' + tmp_json[6] + ' MB/s | Ping: ' + tmp_json[1] + 'ms'); tmp_json = generiere_array(stdout); aktualisiere_datenpunkt(tmp_json); } }); }
-
Beim Update gibt es folgenden Fehler
E: Das Depot »https://packagecloud.io/ookla/speedtest-cli/ubuntu noble 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.
-
Es werden für ubuntu noble keine Pakete bereitgestellt.
Du kannst aber versuchen, das auf Debian Bookworm zu biegen.
(Oder gleich Schnubbibuntu in die Tonne kloppen und das Original verwenden...) -
@thomas-braun na super.
-
@axel Müßte eigentlich bei Ubuntu 22.04 (Jammy Jellyfish) sein...
-
Ich hab 2 Worte aus deinem Posting genommen
ookla/speedtest-cli ubuntu
, in eine suchmaschine rein kopiert und dann war das hier der 1 Treffer:https://www.speedtest.net/apps/cli
Ansonsten nutze ich dieses Skript nicht.
-
Danke, tut leider nicht, habe mich an den Support gewendet.
-
@axel
Offenbar ist das Installationsskript nicht angepasst worden.Kannste selber nachtragen.
Die .list-Datei schaut bei mir so aus:# this file was generated by packagecloud.io for # the repository at https://packagecloud.io/ookla/speedtest-cli deb [signed-by=/usr/share/keyrings/ookla_speedtest-cli-archive-keyring.gpg] https://packagecloud.io/ookla/speedtest-cli/debian/ bookworm main deb-src [signed-by=/usr/share/keyrings/ookla_speedtest-cli-archive-keyring.gpg] https://packagecloud.io/ookla/speedtest-cli/debian/ bookworm main
-
@thomas-braun Mit "jammy" statt "bookworn" tut das dann... (kam vom Support).
-
@axel Jetzt funktioniert das Script
-
Gut, jammy wird zumindest im upstream noch etwas unterstützt.
Wäre für mich aber (neben vielen, vielen anderen) ein weiterer Grund da gar nicht erst auf Schnubbibuntu zu setzen und lieber das Original Debian zu verwenden.Edit: Satzbau gerade gezimmert...