Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Speedtest-Skript von kreyenborg.koeln für Kabel-Gigabit

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.2k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.5k

Speedtest-Skript von kreyenborg.koeln für Kabel-Gigabit

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
391 Beiträge 33 Kommentatoren 77.0k Aufrufe 33 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • SKBS SKB

    @mephisto090 Dann wird es laufen :)

    M Offline
    M Offline
    Mephisto090
    schrieb am zuletzt editiert von Mephisto090
    #328

    @skb habe jetzt auch mal das -s durch --server ersetzt

    17:01:04.619	info	javascript.0 (954175) Stop script script.js.common.Speedtest
    17:01:06.582	info	javascript.0 (954175) Start javascript script.js.common.Speedtest
    17:01:06.595	info	javascript.0 (954175) script.js.common.Speedtest: Speedtest: Erster Start des Skriptes! Datenpunkte werden erstellt!
    17:01:06.597	info	javascript.0 (954175) script.js.common.Speedtest: Speedtest: Datenpunkte erstellt! Erster Speedtest wird in 30 Sekunden ausgeführt!
    17:01:06.611	info	javascript.0 (954175) script.js.common.Speedtest: registered 1 subscription, 1 schedule, 0 messages, 0 logs and 0 file subscriptions
    17:01:36.598	info	javascript.0 (954175) script.js.common.Speedtest: Speedtest mit Server 37316 gestartet! Der Test dauert zwischen 10 - 20 Sekunden!
    17:01:36.935	error	javascript.0 (954175) script.js.common.Speedtest: Speedtest konnte nicht ausgeführt werden! Error: Command failed: /usr/bin/speedtest --json --server 37316 Cannot retrieve speedtest configuration ERROR: HTTP Error 403: Forbidden
    

    Jetzt kommt diese Meldung


    Edit: Habe jetzt den Server mit der ID rausgenommen und er führt auch den Speedtest aus. Leider passen wohl die Vars nicht mehr.

    17:07:56.335	error	javascript.0 (954175) script.js.common.Speedtest: TypeError: Cannot read properties of undefined (reading 'externalIp')
    
    SKBS 1 Antwort Letzte Antwort
    0
    • M Mephisto090

      @DJMarc75

      root@iobroker:/opt/iobroker# /usr/bin/speedtest --json
      
      {
          "bytes_received": 111995656,
          "bytes_sent": 43466752,
          "client": {
              "country": "DE",
              "ip": "???????",
              "isp": "Vodafone Germany DSL",
              "ispdlavg": "0",
              "isprating": "3.7",
              "ispulavg": "0",
              "lat": "11.111",
              "loggedin": "0",
              "lon": "22.222",
              "rating": "0"
          },
          "download": 89252315.3942659,
          "ping": 26.842,
          "server": {
              "cc": "DE",
              "country": "Germany",
              "d": 5.1528760454098,
              "host": "speedeu.akesacloud.co.za:8080",
              "id": "60714",
              "lat": "52.5167",
              "latency": 26.842,
              "lon": "13.3833",
              "name": "Berlin",
              "sponsor": "Akesa IT - Europe",
              "url": "http://speedeu.akesacloud.co.za:8080/speedtest/upload.php"
          },
          "share": null,
          "timestamp": "2023-10-20T14:47:20.708905Z",
          "upload": 34704998.6338473
      }
      
      root@iobroker:/opt/iobroker# /usr/bin/speedtest -h
      usage: speedtest [-h] [--no-download] [--no-upload] [--single] [--bytes] [--share] [--simple] [--csv] [--csv-delimiter CSV_DELIMITER] [--csv-header] [--json] [--list] [--server SERVER] [--exclude EXCLUDE] [--mini MINI]
                       [--source SOURCE] [--timeout TIMEOUT] [--secure] [--no-pre-allocate] [--version]
      
      Command line interface for testing internet bandwidth using speedtest.net. -------------------------------------------------------------------------- https://github.com/sivel/speedtest-cli
      
      options:
        -h, --help            show this help message and exit
        --no-download         Do not perform download test
        --no-upload           Do not perform upload test
        --single              Only use a single connection instead of multiple. This simulates a typical file transfer.
        --bytes               Display values in bytes instead of bits. Does not affect the image generated by --share, nor output from --json or --csv
        --share               Generate and provide a URL to the speedtest.net share results image, not displayed with --csv
        --simple              Suppress verbose output, only show basic information
        --csv                 Suppress verbose output, only show basic information in CSV format. Speeds listed in bit/s and not affected by --bytes
        --csv-delimiter CSV_DELIMITER
                              Single character delimiter to use in CSV output. Default ","
        --csv-header          Print CSV headers
        --json                Suppress verbose output, only show basic information in JSON format. Speeds listed in bit/s and not affected by --bytes
        --list                Display a list of speedtest.net servers sorted by distance
        --server SERVER       Specify a server ID to test against. Can be supplied multiple times
        --exclude EXCLUDE     Exclude a server from selection. Can be supplied multiple times
        --mini MINI           URL of the Speedtest Mini server
        --source SOURCE       Source IP address to bind to
        --timeout TIMEOUT     HTTP timeout in seconds. Default 10
        --secure              Use HTTPS instead of HTTP when communicating with speedtest.net operated servers
        --no-pre-allocate     Do not pre allocate upload data. Pre allocation is enabled by default to improve upload performance. To support systems with insufficient memory, use this option to avoid a MemoryError
        --version             Show the version number and exit
      
      --version: Python 3.11.2 (main, Mar 13 2023, 12:18:29) [GCC 12.2.0]
      
      DJMarc75D Offline
      DJMarc75D Offline
      DJMarc75
      schrieb am zuletzt editiert von
      #329

      @mephisto090 sagte in Speedtest-Skript von kreyenborg.koeln für Kabel-Gigabit:

      root@iobroker

      da brauchen wir nicht weitermachen ;)

      Leg Dir einen User mit Sudorechten an.

      Lehrling seit 1975 !!!
      Beitrag geholfen ? dann gerne ein upvote rechts unten im Beitrag klicken ;)
      https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge

      M 1 Antwort Letzte Antwort
      0
      • DJMarc75D DJMarc75

        @mephisto090 sagte in Speedtest-Skript von kreyenborg.koeln für Kabel-Gigabit:

        root@iobroker

        da brauchen wir nicht weitermachen ;)

        Leg Dir einen User mit Sudorechten an.

        M Offline
        M Offline
        Mephisto090
        schrieb am zuletzt editiert von Mephisto090
        #330

        @djmarc75 das ist docker ;) in diesem container läuft nur ein service und das ist iobroker. ich glaube da ist das egal ;) außerdem ist der nach außen hin nicht offen. ;)

        Thomas BraunT 1 Antwort Letzte Antwort
        0
        • M Mephisto090

          @djmarc75 das ist docker ;) in diesem container läuft nur ein service und das ist iobroker. ich glaube da ist das egal ;) außerdem ist der nach außen hin nicht offen. ;)

          Thomas BraunT Online
          Thomas BraunT Online
          Thomas Braun
          Most Active
          schrieb am zuletzt editiert von
          #331

          @mephisto090 sagte in Speedtest-Skript von kreyenborg.koeln für Kabel-Gigabit:

          außerdem ist der nach außen hin nicht offen.

          Das ist ja kein Grund. Angriffe können ja auch von innen heraus erfolgen. Durch heruntergeladenen Code. Und dieser Code läuft mit den Rechten des users. Bei root halt ganz schlecht.
          Aber bei Docker soll es ja auch irgendwelchen Gründen, die mir bis heute noch niemand plausibel darlegen konnte, angeblich nicht möglich sein eine ordentliche Rechteverwaltung zu haben.

          Linux-Werkzeugkasten:
          https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
          NodeJS Fixer Skript:
          https://forum.iobroker.net/topic/68035/iob-node-fix-skript
          iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

          1 Antwort Letzte Antwort
          0
          • M Mephisto090

            @skb habe jetzt auch mal das -s durch --server ersetzt

            17:01:04.619	info	javascript.0 (954175) Stop script script.js.common.Speedtest
            17:01:06.582	info	javascript.0 (954175) Start javascript script.js.common.Speedtest
            17:01:06.595	info	javascript.0 (954175) script.js.common.Speedtest: Speedtest: Erster Start des Skriptes! Datenpunkte werden erstellt!
            17:01:06.597	info	javascript.0 (954175) script.js.common.Speedtest: Speedtest: Datenpunkte erstellt! Erster Speedtest wird in 30 Sekunden ausgeführt!
            17:01:06.611	info	javascript.0 (954175) script.js.common.Speedtest: registered 1 subscription, 1 schedule, 0 messages, 0 logs and 0 file subscriptions
            17:01:36.598	info	javascript.0 (954175) script.js.common.Speedtest: Speedtest mit Server 37316 gestartet! Der Test dauert zwischen 10 - 20 Sekunden!
            17:01:36.935	error	javascript.0 (954175) script.js.common.Speedtest: Speedtest konnte nicht ausgeführt werden! Error: Command failed: /usr/bin/speedtest --json --server 37316 Cannot retrieve speedtest configuration ERROR: HTTP Error 403: Forbidden
            

            Jetzt kommt diese Meldung


            Edit: Habe jetzt den Server mit der ID rausgenommen und er führt auch den Speedtest aus. Leider passen wohl die Vars nicht mehr.

            17:07:56.335	error	javascript.0 (954175) script.js.common.Speedtest: TypeError: Cannot read properties of undefined (reading 'externalIp')
            
            SKBS Offline
            SKBS Offline
            SKB
            Developer Most Active
            schrieb am zuletzt editiert von
            #332

            @mephisto090 Die Variablen passen noch. Ich habe gerade die aktuelle Version des Speedtest (Speedtest by Ookla 1.2.0.84) installiert.
            Hier werden wie erwartet alle Daten gefüllt.

            ... wer nicht mit der Zeit geht, geht mit der Zeit ...

            Aktuelle Entwicklung: Energiefluss - erweitert (https://forum.iobroker.net/topic/64734)

            1 Antwort Letzte Antwort
            0
            • M Offline
              M Offline
              Mephisto090
              schrieb am zuletzt editiert von Mephisto090
              #333

              @skb So habe mein Fehler gefunden. Irgendwie war das falsche speedtest-cli installiert. Es funktioniert jetzt und habe mal etwas das Skript angepasst. (Gerne kannst du es auf deiner Seite aktualisieren) Ich habe ein Trigger DP als Button hinzugefügt und das Skript den Button auswerten lassen. Des Weiteren ist Max. und Min. Ping dazugekommen sowie Paket Lost für Down- und Upload. Ich habe das Skript noch mit einer der letzten Statusmeldung ergänzt.

              /*
               * @copyright 2020 Stephan Kreyenborg <stephan@kreyenborg.koeln>
               *
               * @author 2020 Stephan Kreyenborg <stephan@kreyenborg.koeln>
               *
               * Dieses Skript dient zur freien Verwendung in ioBroker zur Überprüfung Deiner Internetgeschwindkeit mit Hilfe von Speedtest.
               * Jegliche Verantwortung liegt beim Benutzer. Das Skript wurde unter Berücksichtigung der bestmöglichen Nutzung
               * und Performance entwickelt.
               * Der Entwickler versichert, das keine böswilligen Systemeingriffe im originalen Skript vorhanden sind.
               *
               * Sollte das Skript wider Erwarten nicht korrekt funktionieren, so hast Du jederzeit die Möglichkeit, Dich auf
               * https://www.kreyenborg.koeln
               * für Unterstützung zu melden. Jedes Skript besitzt seine eigene Kommentarseite, auf der,
               * nach zeitlicher Möglichkeit des Autors, Hilfe angeboten wird. Ein Anrecht hierauf besteht nicht!
               * 
               * Ansprüche gegenüber Dritten bestehen nicht. 
               * 
               * Skript Name:        Speedtest
               * Skript Version:    1.3
               * Erstell-Datum:    29. November 2021
               * 
               */
              
              // Datenpunkte neu erstellen
              var ueberschreiben = false;
              
              // Hauptdatenpunkt unterhalb javascript
              var datenpunkt = "Speedtest.";
              
              // Favorisierter Server
              // Liste: https://www.speedtest.net/speedtest-servers.php
              var fav_server = 0;
              
              // Speedtest Objekte
              var objekt = ["JSON_Output",
                  "Ergebnisse.PaketLost_Download",
                  "Ergebnisse.PaketLost_Upload",
                  "Ergebnisse.Ping",
                  "Ergebnisse.Ping_Min",
                  "Ergebnisse.Ping_Max",
                  "Ergebnisse.Jitter",
                  "Ergebnisse.Download_MBit",
                  "Ergebnisse.Upload_MBit",
                  "Ergebnisse.Download_MB",
                  "Ergebnisse.Upload_MB",
                  "Ergebnisse.OriginalDownload",
                  "Ergebnisse.OriginalUpload",
                  "ISP",
                  "IP",
                  "Ergebnisse.URL",
                  "Ergebnisse.ID",
                  "Test.Server.ServerID",
                  "Test.Server.ServerIP",
                  "Test.Server.Name",
                  "Test.Server.Stadt",
                  "Test.Server.Land",
                  "Test.Server.Adresse",
                  "Test.Daten.Download",
                  "Test.Daten.Upload",
                  "Test.Daten.OriginalDownload",
                  "Test.Daten.OriginalUpload",
                  "Test.Daten.DauerDownload",
                  "Test.Daten.DauerUpload",
                  "Test.Daten.Letzter_Speedtest",
                  "Trigger",
                  "Status"
              ];
              
              // Beschreibung der Objekte
              var beschreibung = ["JSON Ausgabe der Konsole",
                  "Paketverlust in %",
                  "Paketverlust in %",
                  "Ping in ms",
                  "Min. Ping in ms",
                  "Max. Ping in ms",
                  "Jitter in ms",
                  "Download Geschwindigkeit in MBit/s",
                  "Upload Geschwindigkeit in MBit/s",
                  "Download Geschwindigkeit in MB/s",
                  "Upload Geschwindigkeit in MB/s",
                  "Download Geschwindigkeit in Byte/s",
                  "Upload Geschwindigkeit in Byte/s",
                  "Internet Service Provider",
                  "externe IP",
                  "Adresse der Ergebnisse",
                  "ID der Ergebnisse",
                  "ID des getesteten Servers",
                  "IP des getesteten Servers",
                  "Anbieter des getesteten Servers",
                  "Stadt des getesteten Servers",
                  "Land des getesteten Servers",
                  "URL des getesteten Servers",
                  "Download Daten in MB",
                  "Upload Daten in MB",
                  "Download Daten in Byte",
                  "Upload Daten in Byte",
                  "Dauer des Download Test",
                  "Dauer des Upload Test",
                  "Letzter Speedtest",
                  "Startet den Speedtest",
                  "Status vom letzten Speedtest"
              ];
              
              // Einheiten der Objekte
              var einheiten = ["",
                  "%",
                  "%",
                  "ms",
                  "ms",
                  "ms",
                  "ms",
                  "MBit/s",
                  "MBit/s",
                  "MB/s",
                  "MB/s",
                  "Byte/s",
                  "Byte/s",
                  "",
                  "",
                  "",
                  "",
                  "",
                  "",
                  "",
                  "",
                  "",
                  "",
                  "MB",
                  "MB",
                  "Byte",
                  "Byte",
                  "s",
                  "s",
                  "",
                  "",
                  ""
              ];
              
              // Typen der Objekte
              var typen = ["string",
                  "number",
                  "number",
                  "number",
                  "number",
                  "number",
                  "number",
                  "number",
                  "number",
                  "number",
                  "number",
                  "number",
                  "number",
                  "string",
                  "string",
                  "string",
                  "string",
                  "number",
                  "string",
                  "string",
                  "string",
                  "string",
                  "string",
                  "number",
                  "number",
                  "number",
                  "number",
                  "number",
                  "number",
                  "string",
                  "boolean",
                  "string"
              ];
              
              // Rollen der Objekte
              var rolle = ["json",
                  "value",
                  "value",
                  "value",
                  "value",
                  "value",
                  "value",
                  "value",
                  "value",
                  "value",
                  "value",
                  "value",
                  "value",
                  "text",
                  "text",
                  "text",
                  "text",
                  "value",
                  "text",
                  "text",
                  "text",
                  "text",
                  "text",
                  "value",
                  "value",
                  "value",
                  "value",
                  "value",
                  "value",
                  "text",
                  "button",
                  "text"
              ];
              
              // Schreibe Werte des JSON String in ein Array
              function generiere_array(json_array) {
                  var j = JSON.parse(json_array);
                  var array_werte = [json_array,
                      parseFloat((j.download.elapsed * 100 / j.download.bytes).toFixed(2)),
                      parseFloat((j.upload.elapsed * 100 / j.upload.bytes).toFixed(2)),
                      j.ping.latency,
                      j.ping.low,
                      j.ping.high,
                      j.ping.jitter,
                      parseFloat((j.download.bandwidth / 125000).toFixed(2)),
                      parseFloat((j.upload.bandwidth / 125000).toFixed(2)),
                      parseFloat((j.download.bandwidth / (1024 * 1024)).toFixed(2)),
                      parseFloat((j.upload.bandwidth / (1024 * 1024)).toFixed(2)),
                      j.download.bandwidth,
                      j.upload.bandwidth,
                      j.isp,
                      j.interface.externalIp,
                      j.result.url,
                      j.result.id,
                      j.server.id,
                      j.server.ip,
                      j.server.name,
                      j.server.location,
                      j.server.country,
                      j.server.host,
                      parseFloat((j.download.bytes / (1024 * 1024)).toFixed(2)),
                      parseFloat((j.upload.bytes / (1024 * 1024)).toFixed(2)),
                      j.download.bytes,
                      j.upload.bytes,
                      parseFloat((j.download.elapsed / 1000).toFixed(2)),
                      parseFloat((j.upload.elapsed / 1000).toFixed(2)),
                      hole_datum(),
                      false,
                      "Speedtest wird durchgeführt"
                  ];
                  return array_werte;
              }
              
              function speedtest() {
                  // temporäre Variable für das Array
                  var tmp_json;
                  // Kommando für den Speedtest
                  setStatus("Speedtest wird durchgeführt");
                  var kommando = "/usr/bin/speedtest -f json --accept-license --accept-gdpr";
                  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');
                              setState(datenpunkt + "Status", "Fehler", true);
                              setStatus("Speedtest fehlerhaft");
                              return;
                          } else {
                              tmp_json = generiere_array(stdout);
                              aktualisiere_datenpunkt(tmp_json);
                              setStatus("Speedtest erfolgreich durchgeführt");
                              log('Speedtest durchgeführt. Ergebnisse: Download: ' + tmp_json[7] + ' MBits/s | Upload: ' + tmp_json[8] + ' MBits/s | Ping: ' + tmp_json[3] + 'ms');
                          }
                      });
              }
              
              function setStatus(text) {
                  setState(datenpunkt + "Status", text, true);
              }
              
              function aktualisiere_datenpunkt(werte) {
                  for (let i = 0; i < objekt.length; i++) {
                      setState(datenpunkt + objekt[i], werte[i], true);
                  }
              }
              
              // 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]
                      });
                      setStatus("Datenpunkte erfolgreich erstellt");
                  }
              
                  // Alle Datenpunkte erstellt. Führe ersten Speedtest aus!
                  log('Speedtest: Datenpunkte erstellt! Erster Speedtest wird in 30 Sekunden ausgeführt!');
                  setTimeout(speedtest, 30000);
              }
              
              // Datum 
              function hole_datum() {
                  let datum = new Date();
                  let tag = '0' + datum.getDate();
                  let monat = '0' + (datum.getMonth() + 1);
                  let jahr = datum.getFullYear();
                  let stunde = '0' + datum.getHours();
                  let minute = '0' + datum.getMinutes();
                  let sekunde = '0' + datum.getSeconds();
                  return tag.substr(-2) + '.' + monat.substr(-2) + '.' + jahr + ' ' + stunde.substr(-2) + ':' + minute.substr(-2) + ':' + sekunde.substr(-2);
              }
              
              function speedtest_erster_start() {
                  log("Speedtest: Erster Start des Skriptes! Datenpunkte werden erstellt!");
                  // Datenpunkte werden erstellt
                  datenpunkte_erstellen();
              }
              
              // Erster Start und Initialisierung
              speedtest_erster_start();
              
              // Alle 60 Minuten einen Speedtest ausführen
              schedule('0,30 * * * *', speedtest);
              
              
              // Script ausführen wenn Datenpunkt "Speedtest-Trigger" = true
              on({ id: "javascript.0.Speedtest.Trigger", change: "any" }, function (obj) {
                  if (obj.state.val===true) {
                      speedtest ();
                  }
              });
              
              P 1 Antwort Letzte Antwort
              1
              • M Mephisto090

                @skb So habe mein Fehler gefunden. Irgendwie war das falsche speedtest-cli installiert. Es funktioniert jetzt und habe mal etwas das Skript angepasst. (Gerne kannst du es auf deiner Seite aktualisieren) Ich habe ein Trigger DP als Button hinzugefügt und das Skript den Button auswerten lassen. Des Weiteren ist Max. und Min. Ping dazugekommen sowie Paket Lost für Down- und Upload. Ich habe das Skript noch mit einer der letzten Statusmeldung ergänzt.

                /*
                 * @copyright 2020 Stephan Kreyenborg <stephan@kreyenborg.koeln>
                 *
                 * @author 2020 Stephan Kreyenborg <stephan@kreyenborg.koeln>
                 *
                 * Dieses Skript dient zur freien Verwendung in ioBroker zur Überprüfung Deiner Internetgeschwindkeit mit Hilfe von Speedtest.
                 * Jegliche Verantwortung liegt beim Benutzer. Das Skript wurde unter Berücksichtigung der bestmöglichen Nutzung
                 * und Performance entwickelt.
                 * Der Entwickler versichert, das keine böswilligen Systemeingriffe im originalen Skript vorhanden sind.
                 *
                 * Sollte das Skript wider Erwarten nicht korrekt funktionieren, so hast Du jederzeit die Möglichkeit, Dich auf
                 * https://www.kreyenborg.koeln
                 * für Unterstützung zu melden. Jedes Skript besitzt seine eigene Kommentarseite, auf der,
                 * nach zeitlicher Möglichkeit des Autors, Hilfe angeboten wird. Ein Anrecht hierauf besteht nicht!
                 * 
                 * Ansprüche gegenüber Dritten bestehen nicht. 
                 * 
                 * Skript Name:        Speedtest
                 * Skript Version:    1.3
                 * Erstell-Datum:    29. November 2021
                 * 
                 */
                
                // Datenpunkte neu erstellen
                var ueberschreiben = false;
                
                // Hauptdatenpunkt unterhalb javascript
                var datenpunkt = "Speedtest.";
                
                // Favorisierter Server
                // Liste: https://www.speedtest.net/speedtest-servers.php
                var fav_server = 0;
                
                // Speedtest Objekte
                var objekt = ["JSON_Output",
                    "Ergebnisse.PaketLost_Download",
                    "Ergebnisse.PaketLost_Upload",
                    "Ergebnisse.Ping",
                    "Ergebnisse.Ping_Min",
                    "Ergebnisse.Ping_Max",
                    "Ergebnisse.Jitter",
                    "Ergebnisse.Download_MBit",
                    "Ergebnisse.Upload_MBit",
                    "Ergebnisse.Download_MB",
                    "Ergebnisse.Upload_MB",
                    "Ergebnisse.OriginalDownload",
                    "Ergebnisse.OriginalUpload",
                    "ISP",
                    "IP",
                    "Ergebnisse.URL",
                    "Ergebnisse.ID",
                    "Test.Server.ServerID",
                    "Test.Server.ServerIP",
                    "Test.Server.Name",
                    "Test.Server.Stadt",
                    "Test.Server.Land",
                    "Test.Server.Adresse",
                    "Test.Daten.Download",
                    "Test.Daten.Upload",
                    "Test.Daten.OriginalDownload",
                    "Test.Daten.OriginalUpload",
                    "Test.Daten.DauerDownload",
                    "Test.Daten.DauerUpload",
                    "Test.Daten.Letzter_Speedtest",
                    "Trigger",
                    "Status"
                ];
                
                // Beschreibung der Objekte
                var beschreibung = ["JSON Ausgabe der Konsole",
                    "Paketverlust in %",
                    "Paketverlust in %",
                    "Ping in ms",
                    "Min. Ping in ms",
                    "Max. Ping in ms",
                    "Jitter in ms",
                    "Download Geschwindigkeit in MBit/s",
                    "Upload Geschwindigkeit in MBit/s",
                    "Download Geschwindigkeit in MB/s",
                    "Upload Geschwindigkeit in MB/s",
                    "Download Geschwindigkeit in Byte/s",
                    "Upload Geschwindigkeit in Byte/s",
                    "Internet Service Provider",
                    "externe IP",
                    "Adresse der Ergebnisse",
                    "ID der Ergebnisse",
                    "ID des getesteten Servers",
                    "IP des getesteten Servers",
                    "Anbieter des getesteten Servers",
                    "Stadt des getesteten Servers",
                    "Land des getesteten Servers",
                    "URL des getesteten Servers",
                    "Download Daten in MB",
                    "Upload Daten in MB",
                    "Download Daten in Byte",
                    "Upload Daten in Byte",
                    "Dauer des Download Test",
                    "Dauer des Upload Test",
                    "Letzter Speedtest",
                    "Startet den Speedtest",
                    "Status vom letzten Speedtest"
                ];
                
                // Einheiten der Objekte
                var einheiten = ["",
                    "%",
                    "%",
                    "ms",
                    "ms",
                    "ms",
                    "ms",
                    "MBit/s",
                    "MBit/s",
                    "MB/s",
                    "MB/s",
                    "Byte/s",
                    "Byte/s",
                    "",
                    "",
                    "",
                    "",
                    "",
                    "",
                    "",
                    "",
                    "",
                    "",
                    "MB",
                    "MB",
                    "Byte",
                    "Byte",
                    "s",
                    "s",
                    "",
                    "",
                    ""
                ];
                
                // Typen der Objekte
                var typen = ["string",
                    "number",
                    "number",
                    "number",
                    "number",
                    "number",
                    "number",
                    "number",
                    "number",
                    "number",
                    "number",
                    "number",
                    "number",
                    "string",
                    "string",
                    "string",
                    "string",
                    "number",
                    "string",
                    "string",
                    "string",
                    "string",
                    "string",
                    "number",
                    "number",
                    "number",
                    "number",
                    "number",
                    "number",
                    "string",
                    "boolean",
                    "string"
                ];
                
                // Rollen der Objekte
                var rolle = ["json",
                    "value",
                    "value",
                    "value",
                    "value",
                    "value",
                    "value",
                    "value",
                    "value",
                    "value",
                    "value",
                    "value",
                    "value",
                    "text",
                    "text",
                    "text",
                    "text",
                    "value",
                    "text",
                    "text",
                    "text",
                    "text",
                    "text",
                    "value",
                    "value",
                    "value",
                    "value",
                    "value",
                    "value",
                    "text",
                    "button",
                    "text"
                ];
                
                // Schreibe Werte des JSON String in ein Array
                function generiere_array(json_array) {
                    var j = JSON.parse(json_array);
                    var array_werte = [json_array,
                        parseFloat((j.download.elapsed * 100 / j.download.bytes).toFixed(2)),
                        parseFloat((j.upload.elapsed * 100 / j.upload.bytes).toFixed(2)),
                        j.ping.latency,
                        j.ping.low,
                        j.ping.high,
                        j.ping.jitter,
                        parseFloat((j.download.bandwidth / 125000).toFixed(2)),
                        parseFloat((j.upload.bandwidth / 125000).toFixed(2)),
                        parseFloat((j.download.bandwidth / (1024 * 1024)).toFixed(2)),
                        parseFloat((j.upload.bandwidth / (1024 * 1024)).toFixed(2)),
                        j.download.bandwidth,
                        j.upload.bandwidth,
                        j.isp,
                        j.interface.externalIp,
                        j.result.url,
                        j.result.id,
                        j.server.id,
                        j.server.ip,
                        j.server.name,
                        j.server.location,
                        j.server.country,
                        j.server.host,
                        parseFloat((j.download.bytes / (1024 * 1024)).toFixed(2)),
                        parseFloat((j.upload.bytes / (1024 * 1024)).toFixed(2)),
                        j.download.bytes,
                        j.upload.bytes,
                        parseFloat((j.download.elapsed / 1000).toFixed(2)),
                        parseFloat((j.upload.elapsed / 1000).toFixed(2)),
                        hole_datum(),
                        false,
                        "Speedtest wird durchgeführt"
                    ];
                    return array_werte;
                }
                
                function speedtest() {
                    // temporäre Variable für das Array
                    var tmp_json;
                    // Kommando für den Speedtest
                    setStatus("Speedtest wird durchgeführt");
                    var kommando = "/usr/bin/speedtest -f json --accept-license --accept-gdpr";
                    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');
                                setState(datenpunkt + "Status", "Fehler", true);
                                setStatus("Speedtest fehlerhaft");
                                return;
                            } else {
                                tmp_json = generiere_array(stdout);
                                aktualisiere_datenpunkt(tmp_json);
                                setStatus("Speedtest erfolgreich durchgeführt");
                                log('Speedtest durchgeführt. Ergebnisse: Download: ' + tmp_json[7] + ' MBits/s | Upload: ' + tmp_json[8] + ' MBits/s | Ping: ' + tmp_json[3] + 'ms');
                            }
                        });
                }
                
                function setStatus(text) {
                    setState(datenpunkt + "Status", text, true);
                }
                
                function aktualisiere_datenpunkt(werte) {
                    for (let i = 0; i < objekt.length; i++) {
                        setState(datenpunkt + objekt[i], werte[i], true);
                    }
                }
                
                // 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]
                        });
                        setStatus("Datenpunkte erfolgreich erstellt");
                    }
                
                    // Alle Datenpunkte erstellt. Führe ersten Speedtest aus!
                    log('Speedtest: Datenpunkte erstellt! Erster Speedtest wird in 30 Sekunden ausgeführt!');
                    setTimeout(speedtest, 30000);
                }
                
                // Datum 
                function hole_datum() {
                    let datum = new Date();
                    let tag = '0' + datum.getDate();
                    let monat = '0' + (datum.getMonth() + 1);
                    let jahr = datum.getFullYear();
                    let stunde = '0' + datum.getHours();
                    let minute = '0' + datum.getMinutes();
                    let sekunde = '0' + datum.getSeconds();
                    return tag.substr(-2) + '.' + monat.substr(-2) + '.' + jahr + ' ' + stunde.substr(-2) + ':' + minute.substr(-2) + ':' + sekunde.substr(-2);
                }
                
                function speedtest_erster_start() {
                    log("Speedtest: Erster Start des Skriptes! Datenpunkte werden erstellt!");
                    // Datenpunkte werden erstellt
                    datenpunkte_erstellen();
                }
                
                // Erster Start und Initialisierung
                speedtest_erster_start();
                
                // Alle 60 Minuten einen Speedtest ausführen
                schedule('0,30 * * * *', speedtest);
                
                
                // Script ausführen wenn Datenpunkt "Speedtest-Trigger" = true
                on({ id: "javascript.0.Speedtest.Trigger", change: "any" }, function (obj) {
                    if (obj.state.val===true) {
                        speedtest ();
                    }
                });
                
                P Offline
                P Offline
                PatrickFro
                schrieb am zuletzt editiert von
                #334

                Moin,

                bei mir funktioniert das Script aus welchem Grunde auch immer nicht - bin leider sonst kein Linux-Nutzer-

                Anzeige im Javascript-Adapter:

                error	javascript.1 (10238) script.js.common.VIS_2024.Scripte_andere_Seiten.Speedtest: Speedtest konnte nicht ausgeführt werden! Error: Command failed: /usr/bin/speedtest -f json --accept-license --accept-gdpr /bin/sh: 1: /usr/bin/speedtest: not found
                

                6778fd9e-4c29-4e75-bf25-0e6c8a0524d7-image.png

                /etc/speedtest# type -p speedtest
                /usr/bin/speedtest
                

                Gebe ich in der Konsole
                /usr/bin/speedtest -f json --accept-license --accept-gdpr -s 28602
                ein, funktioniert der Speedtest.

                Ich nutze Debian-Linux Bookworm und habe die automatische Installation genutzt:

                sudo apt-get install curl
                curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh | sudo bash
                sudo apt-get install speedtest```
                Thomas BraunT 1 Antwort Letzte Antwort
                0
                • P PatrickFro

                  Moin,

                  bei mir funktioniert das Script aus welchem Grunde auch immer nicht - bin leider sonst kein Linux-Nutzer-

                  Anzeige im Javascript-Adapter:

                  error	javascript.1 (10238) script.js.common.VIS_2024.Scripte_andere_Seiten.Speedtest: Speedtest konnte nicht ausgeführt werden! Error: Command failed: /usr/bin/speedtest -f json --accept-license --accept-gdpr /bin/sh: 1: /usr/bin/speedtest: not found
                  

                  6778fd9e-4c29-4e75-bf25-0e6c8a0524d7-image.png

                  /etc/speedtest# type -p speedtest
                  /usr/bin/speedtest
                  

                  Gebe ich in der Konsole
                  /usr/bin/speedtest -f json --accept-license --accept-gdpr -s 28602
                  ein, funktioniert der Speedtest.

                  Ich nutze Debian-Linux Bookworm und habe die automatische Installation genutzt:

                  sudo apt-get install curl
                  curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh | sudo bash
                  sudo apt-get install speedtest```
                  Thomas BraunT Online
                  Thomas BraunT Online
                  Thomas Braun
                  Most Active
                  schrieb am zuletzt editiert von
                  #335

                  @patrickfro

                  sudo apt update
                  apt policy speedtest*
                  

                  sagt?

                  Linux-Werkzeugkasten:
                  https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                  NodeJS Fixer Skript:
                  https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                  iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                  1 Antwort Letzte Antwort
                  0
                  • P Offline
                    P Offline
                    PatrickFro
                    schrieb am zuletzt editiert von
                    #336

                    @thomas-braun said in Speedtest-Skript von kreyenborg.koeln für Kabel-Gigabit:

                    apt policy speedtest*

                    Folgendes:

                    root@VM-IoBroker:/etc/speedtest# sudo apt update
                    OK:1 http://security.debian.org/debian-security bookworm-security InRelease
                    OK:2 http://deb.debian.org/debian bookworm InRelease
                    OK:3 http://deb.debian.org/debian bookworm-updates InRelease
                    OK:4 https://deb.nodesource.com/node_18.x nodistro InRelease
                    OK:5 https://packagecloud.io/ookla/speedtest-cli/debian bookworm InRelease
                    Paketlisten werden gelesen… Fertig
                    Abhängigkeitsbaum wird aufgebaut… Fertig
                    Statusinformationen werden eingelesen… Fertig
                    Alle Pakete sind aktuell.
                    root@VM-IoBroker:/etc/speedtest# apt policy speedtest*
                    speedtest:
                      Installiert:           1.2.0.84-1.ea6b6773cf
                      Installationskandidat: 1.2.0.84-1.ea6b6773cf
                      Versionstabelle:
                     *** 1.2.0.84-1.ea6b6773cf 500
                            500 https://packagecloud.io/ookla/speedtest-cli/debian bookworm/main amd64 Packages
                            100 /var/lib/dpkg/status
                    speedtest-cli:
                      Installiert:           (keine)
                      Installationskandidat: 2.1.3-2
                      Versionstabelle:
                         2.1.3-2 500
                            500 http://deb.debian.org/debian bookworm/main amd64 Packages
                    
                    
                    Thomas BraunT 1 Antwort Letzte Antwort
                    0
                    • P PatrickFro

                      @thomas-braun said in Speedtest-Skript von kreyenborg.koeln für Kabel-Gigabit:

                      apt policy speedtest*

                      Folgendes:

                      root@VM-IoBroker:/etc/speedtest# sudo apt update
                      OK:1 http://security.debian.org/debian-security bookworm-security InRelease
                      OK:2 http://deb.debian.org/debian bookworm InRelease
                      OK:3 http://deb.debian.org/debian bookworm-updates InRelease
                      OK:4 https://deb.nodesource.com/node_18.x nodistro InRelease
                      OK:5 https://packagecloud.io/ookla/speedtest-cli/debian bookworm InRelease
                      Paketlisten werden gelesen… Fertig
                      Abhängigkeitsbaum wird aufgebaut… Fertig
                      Statusinformationen werden eingelesen… Fertig
                      Alle Pakete sind aktuell.
                      root@VM-IoBroker:/etc/speedtest# apt policy speedtest*
                      speedtest:
                        Installiert:           1.2.0.84-1.ea6b6773cf
                        Installationskandidat: 1.2.0.84-1.ea6b6773cf
                        Versionstabelle:
                       *** 1.2.0.84-1.ea6b6773cf 500
                              500 https://packagecloud.io/ookla/speedtest-cli/debian bookworm/main amd64 Packages
                              100 /var/lib/dpkg/status
                      speedtest-cli:
                        Installiert:           (keine)
                        Installationskandidat: 2.1.3-2
                        Versionstabelle:
                           2.1.3-2 500
                              500 http://deb.debian.org/debian bookworm/main amd64 Packages
                      
                      
                      Thomas BraunT Online
                      Thomas BraunT Online
                      Thomas Braun
                      Most Active
                      schrieb am zuletzt editiert von
                      #337

                      @patrickfro sagte in Speedtest-Skript von kreyenborg.koeln für Kabel-Gigabit:

                      root@

                      KEIN root-Login!
                      Meld dich als user an, verdammte Hacke...

                      Linux-Werkzeugkasten:
                      https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                      NodeJS Fixer Skript:
                      https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                      iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                      P 1 Antwort Letzte Antwort
                      1
                      • Thomas BraunT Thomas Braun

                        @patrickfro sagte in Speedtest-Skript von kreyenborg.koeln für Kabel-Gigabit:

                        root@

                        KEIN root-Login!
                        Meld dich als user an, verdammte Hacke...

                        P Offline
                        P Offline
                        PatrickFro
                        schrieb am zuletzt editiert von
                        #338

                        @thomas-braun Schande über mein Haupt. Ist ne neue Installation und der normale User hat noch keine sudo-Rechte. Daher der Weg. Aber nun wirds klar, root hat wohl kein usr-Verzeichnis.

                        Thomas BraunT 1 Antwort Letzte Antwort
                        0
                        • P PatrickFro

                          @thomas-braun Schande über mein Haupt. Ist ne neue Installation und der normale User hat noch keine sudo-Rechte. Daher der Weg. Aber nun wirds klar, root hat wohl kein usr-Verzeichnis.

                          Thomas BraunT Online
                          Thomas BraunT Online
                          Thomas Braun
                          Most Active
                          schrieb am zuletzt editiert von
                          #339

                          @patrickfro sagte in Speedtest-Skript von kreyenborg.koeln für Kabel-Gigabit:

                          Ist ne neue Installation und der normale User hat noch keine sudo-Rechte.

                          Und das ist das erste und letzte, was man als root in einem neuen System tut. Bzw. man installiert sein Debian gleich von vorneherein OHNE root-Passwort.

                          Aber nun wirds klar, root hat wohl kein usr-Verzeichnis.

                          usr steht NICHT für user, wenn du das vermuten solltest sondern für UnixSystemRessources. Du meinst vermultich home-Verzeichnisse. Das vom root findet sich unter /root

                          Linux-Werkzeugkasten:
                          https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                          NodeJS Fixer Skript:
                          https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                          iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                          P 1 Antwort Letzte Antwort
                          0
                          • Thomas BraunT Thomas Braun

                            @patrickfro sagte in Speedtest-Skript von kreyenborg.koeln für Kabel-Gigabit:

                            Ist ne neue Installation und der normale User hat noch keine sudo-Rechte.

                            Und das ist das erste und letzte, was man als root in einem neuen System tut. Bzw. man installiert sein Debian gleich von vorneherein OHNE root-Passwort.

                            Aber nun wirds klar, root hat wohl kein usr-Verzeichnis.

                            usr steht NICHT für user, wenn du das vermuten solltest sondern für UnixSystemRessources. Du meinst vermultich home-Verzeichnisse. Das vom root findet sich unter /root

                            P Offline
                            P Offline
                            PatrickFro
                            schrieb am zuletzt editiert von PatrickFro
                            #340

                            @thomas-braun

                            ich habe es nun als root deinstalliert

                            sudo apt-get update
                            sudo apt-get remove speedtest
                            

                            meinem normalen user sudo gegeben, mich als normaler user angemeldet, neu installiert, selber Fehler wie oben.

                            patrick@VM-IoBroker:~$ sudo apt update
                            OK:1 http://security.debian.org/debian-security bookworm-security InRelease
                            OK:2 http://deb.debian.org/debian bookworm InRelease
                            OK:3 http://deb.debian.org/debian bookworm-updates InRelease
                            OK:4 https://deb.nodesource.com/node_18.x nodistro InRelease
                            OK:5 https://packagecloud.io/ookla/speedtest-cli/debian bookworm InRelease
                            Paketlisten werden gelesen… Fertig
                            Abhängigkeitsbaum wird aufgebaut… Fertig
                            Statusinformationen werden eingelesen… Fertig
                            Alle Pakete sind aktuell.
                            patrick@VM-IoBroker:~$ apt policy speedtest*
                            speedtest:
                              Installiert:           1.2.0.84-1.ea6b6773cf
                              Installationskandidat: 1.2.0.84-1.ea6b6773cf
                              Versionstabelle:
                             *** 1.2.0.84-1.ea6b6773cf 500
                                    500 https://packagecloud.io/ookla/speedtest-cli/debian bookworm/main amd                                                                                                                                                             64 Packages
                                    100 /var/lib/dpkg/status
                            speedtest-cli:
                              Installiert:           (keine)
                              Installationskandidat: 2.1.3-2
                              Versionstabelle:
                                 2.1.3-2 500
                                    500 http://deb.debian.org/debian bookworm/main amd64 Packages
                            

                            Ich sehe in diesem Ergebnis leider auch keine Änderung. Du hast doch sicherlich noch eine Idee, oder?

                            Thomas BraunT 1 Antwort Letzte Antwort
                            0
                            • P PatrickFro

                              @thomas-braun

                              ich habe es nun als root deinstalliert

                              sudo apt-get update
                              sudo apt-get remove speedtest
                              

                              meinem normalen user sudo gegeben, mich als normaler user angemeldet, neu installiert, selber Fehler wie oben.

                              patrick@VM-IoBroker:~$ sudo apt update
                              OK:1 http://security.debian.org/debian-security bookworm-security InRelease
                              OK:2 http://deb.debian.org/debian bookworm InRelease
                              OK:3 http://deb.debian.org/debian bookworm-updates InRelease
                              OK:4 https://deb.nodesource.com/node_18.x nodistro InRelease
                              OK:5 https://packagecloud.io/ookla/speedtest-cli/debian bookworm InRelease
                              Paketlisten werden gelesen… Fertig
                              Abhängigkeitsbaum wird aufgebaut… Fertig
                              Statusinformationen werden eingelesen… Fertig
                              Alle Pakete sind aktuell.
                              patrick@VM-IoBroker:~$ apt policy speedtest*
                              speedtest:
                                Installiert:           1.2.0.84-1.ea6b6773cf
                                Installationskandidat: 1.2.0.84-1.ea6b6773cf
                                Versionstabelle:
                               *** 1.2.0.84-1.ea6b6773cf 500
                                      500 https://packagecloud.io/ookla/speedtest-cli/debian bookworm/main amd                                                                                                                                                             64 Packages
                                      100 /var/lib/dpkg/status
                              speedtest-cli:
                                Installiert:           (keine)
                                Installationskandidat: 2.1.3-2
                                Versionstabelle:
                                   2.1.3-2 500
                                      500 http://deb.debian.org/debian bookworm/main amd64 Packages
                              

                              Ich sehe in diesem Ergebnis leider auch keine Änderung. Du hast doch sicherlich noch eine Idee, oder?

                              Thomas BraunT Online
                              Thomas BraunT Online
                              Thomas Braun
                              Most Active
                              schrieb am zuletzt editiert von
                              #341

                              @patrickfro

                              sudo -u iobroker speedtest -f json --accept-license --accept-gdpr
                              

                              Linux-Werkzeugkasten:
                              https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                              NodeJS Fixer Skript:
                              https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                              iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                              P 1 Antwort Letzte Antwort
                              0
                              • Thomas BraunT Thomas Braun

                                @patrickfro

                                sudo -u iobroker speedtest -f json --accept-license --accept-gdpr
                                
                                P Offline
                                P Offline
                                PatrickFro
                                schrieb am zuletzt editiert von
                                #342

                                @thomas-braun

                                patrick@VM-IoBroker:~$ sudo -u iobroker speedtest -f json --accept-license --accept-gdpr
                                {"type":"result","timestamp":"2023-10-22T17:35:33Z","ping":{"jitter":0.318,"latency":1.630,"low":1.274,"high":1.954},"download":{"bandwidth":10028954,"bytes":55169840,"elapsed":5603,"latency":{"iqm":1.419,"low":0.692,"high":207.800,"jitter":18.722}},"upload":{"bandwidth":4651107,"bytes":16764520,"elapsed":3608,"latency":{"iqm":119.987,"low":0.858,"high":317.042,"jitter":40.296}},"packetLoss":0,"isp":"wilhelm.tel","interface":{"internalIp":"...7d8f:6950","name":"ens18","macAddr":"...AE","isVpn":false,"externalIp":"...4950"},"server":{"id":4087,"host":"speedtest.wtnet.de","port":8080,"name":"wilhelm.tel","location":"Norderstedt","country":"Germany","ip":"...3:2"},"result":{"id":"fea91c99-07ee-4ff1-ae4d-8cd14483123","url":"https://www.speedtest.net/result/c/fea91c99-07ee-4ff1-ae4d-8cd144333823","persisted":true}}
                                
                                
                                Thomas BraunT 1 Antwort Letzte Antwort
                                0
                                • P PatrickFro

                                  @thomas-braun

                                  patrick@VM-IoBroker:~$ sudo -u iobroker speedtest -f json --accept-license --accept-gdpr
                                  {"type":"result","timestamp":"2023-10-22T17:35:33Z","ping":{"jitter":0.318,"latency":1.630,"low":1.274,"high":1.954},"download":{"bandwidth":10028954,"bytes":55169840,"elapsed":5603,"latency":{"iqm":1.419,"low":0.692,"high":207.800,"jitter":18.722}},"upload":{"bandwidth":4651107,"bytes":16764520,"elapsed":3608,"latency":{"iqm":119.987,"low":0.858,"high":317.042,"jitter":40.296}},"packetLoss":0,"isp":"wilhelm.tel","interface":{"internalIp":"...7d8f:6950","name":"ens18","macAddr":"...AE","isVpn":false,"externalIp":"...4950"},"server":{"id":4087,"host":"speedtest.wtnet.de","port":8080,"name":"wilhelm.tel","location":"Norderstedt","country":"Germany","ip":"...3:2"},"result":{"id":"fea91c99-07ee-4ff1-ae4d-8cd14483123","url":"https://www.speedtest.net/result/c/fea91c99-07ee-4ff1-ae4d-8cd144333823","persisted":true}}
                                  
                                  
                                  Thomas BraunT Online
                                  Thomas BraunT Online
                                  Thomas Braun
                                  Most Active
                                  schrieb am zuletzt editiert von
                                  #343

                                  @patrickfro

                                  Hast du das Skript vollständig und richtig kopiert?

                                  Linux-Werkzeugkasten:
                                  https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                                  NodeJS Fixer Skript:
                                  https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                                  iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                                  P 1 Antwort Letzte Antwort
                                  0
                                  • Thomas BraunT Thomas Braun

                                    @patrickfro

                                    Hast du das Skript vollständig und richtig kopiert?

                                    P Offline
                                    P Offline
                                    PatrickFro
                                    schrieb am zuletzt editiert von
                                    #344

                                    @thomas-braun

                                    Eigentlich schon

                                    patrick@VM-IoBroker:~$ sudo apt-get install curl
                                    [sudo] Passwort für patrick:
                                    Paketlisten werden gelesen… Fertig
                                    Abhängigkeitsbaum wird aufgebaut… Fertig
                                    Statusinformationen werden eingelesen… Fertig
                                    curl ist schon die neueste Version (7.88.1-10+deb12u4).
                                    0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
                                    patrick@VM-IoBroker:~$ curl -s https://packagecloud.io/install/repositories/ookl                                                                                                                                                             a/speedtest-cli/script.deb.sh | sudo bash
                                    Detected operating system as debian/bookworm.
                                    Checking for curl...
                                    Detected curl...
                                    Checking for gpg...
                                    Detected gpg...
                                    Detected apt version as 2.6.1
                                    Running apt-get update... done.
                                    Installing debian-archive-keyring which is needed for installing
                                    apt-transport-https on many Debian systems.
                                    Installing apt-transport-https... done.
                                    Installing /etc/apt/sources.list.d/ookla_speedtest-cli.list...done.
                                    Importing packagecloud gpg key... Packagecloud gpg key imported to /etc/apt/keyr                                                                                                                                                             ings/ookla_speedtest-cli-archive-keyring.gpg
                                    done.
                                    Running apt-get update... done.
                                    
                                    The repository is setup! You can now install packages.
                                    patrick@VM-IoBroker:~$ sudo apt-get install speedtest
                                    Paketlisten werden gelesen… Fertig
                                    Abhängigkeitsbaum wird aufgebaut… Fertig
                                    Statusinformationen werden eingelesen… Fertig
                                    Die folgenden NEUEN Pakete werden installiert:
                                      speedtest
                                    0 aktualisiert, 1 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
                                    Es müssen noch 0 B von 1.106 kB an Archiven heruntergeladen werden.
                                    Nach dieser Operation werden 2.628 kB Plattenplatz zusätzlich benutzt.
                                    Vormals nicht ausgewähltes Paket speedtest wird gewählt.
                                    (Lese Datenbank ... 167253 Dateien und Verzeichnisse sind derzeit installiert.)
                                    Vorbereitung zum Entpacken von .../speedtest_1.2.0.84-1.ea6b6773cf_amd64.deb ...
                                    Entpacken von speedtest (1.2.0.84-1.ea6b6773cf) ...
                                    speedtest (1.2.0.84-1.ea6b6773cf) wird eingerichtet ...
                                    Trigger für man-db (2.11.2-2) werden verarbeitet ...
                                    

                                    Da ich kein Raspberry hab, konnte ich nicht das komplette Script von Kreyenborg nutzen, sondern musste auf https://www.speedtest.net/de/apps/cli ausweichen.

                                    Thomas BraunT 1 Antwort Letzte Antwort
                                    0
                                    • P PatrickFro

                                      @thomas-braun

                                      Eigentlich schon

                                      patrick@VM-IoBroker:~$ sudo apt-get install curl
                                      [sudo] Passwort für patrick:
                                      Paketlisten werden gelesen… Fertig
                                      Abhängigkeitsbaum wird aufgebaut… Fertig
                                      Statusinformationen werden eingelesen… Fertig
                                      curl ist schon die neueste Version (7.88.1-10+deb12u4).
                                      0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
                                      patrick@VM-IoBroker:~$ curl -s https://packagecloud.io/install/repositories/ookl                                                                                                                                                             a/speedtest-cli/script.deb.sh | sudo bash
                                      Detected operating system as debian/bookworm.
                                      Checking for curl...
                                      Detected curl...
                                      Checking for gpg...
                                      Detected gpg...
                                      Detected apt version as 2.6.1
                                      Running apt-get update... done.
                                      Installing debian-archive-keyring which is needed for installing
                                      apt-transport-https on many Debian systems.
                                      Installing apt-transport-https... done.
                                      Installing /etc/apt/sources.list.d/ookla_speedtest-cli.list...done.
                                      Importing packagecloud gpg key... Packagecloud gpg key imported to /etc/apt/keyr                                                                                                                                                             ings/ookla_speedtest-cli-archive-keyring.gpg
                                      done.
                                      Running apt-get update... done.
                                      
                                      The repository is setup! You can now install packages.
                                      patrick@VM-IoBroker:~$ sudo apt-get install speedtest
                                      Paketlisten werden gelesen… Fertig
                                      Abhängigkeitsbaum wird aufgebaut… Fertig
                                      Statusinformationen werden eingelesen… Fertig
                                      Die folgenden NEUEN Pakete werden installiert:
                                        speedtest
                                      0 aktualisiert, 1 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
                                      Es müssen noch 0 B von 1.106 kB an Archiven heruntergeladen werden.
                                      Nach dieser Operation werden 2.628 kB Plattenplatz zusätzlich benutzt.
                                      Vormals nicht ausgewähltes Paket speedtest wird gewählt.
                                      (Lese Datenbank ... 167253 Dateien und Verzeichnisse sind derzeit installiert.)
                                      Vorbereitung zum Entpacken von .../speedtest_1.2.0.84-1.ea6b6773cf_amd64.deb ...
                                      Entpacken von speedtest (1.2.0.84-1.ea6b6773cf) ...
                                      speedtest (1.2.0.84-1.ea6b6773cf) wird eingerichtet ...
                                      Trigger für man-db (2.11.2-2) werden verarbeitet ...
                                      

                                      Da ich kein Raspberry hab, konnte ich nicht das komplette Script von Kreyenborg nutzen, sondern musste auf https://www.speedtest.net/de/apps/cli ausweichen.

                                      Thomas BraunT Online
                                      Thomas BraunT Online
                                      Thomas Braun
                                      Most Active
                                      schrieb am zuletzt editiert von
                                      #345

                                      @patrickfro sagte in Speedtest-Skript von kreyenborg.koeln für Kabel-Gigabit:

                                      Da ich kein Raspberry hab, konnte ich nicht das komplette Script von Kreyenborg nutzen, sondern musste auf https://www.speedtest.net/de/apps/cli ausweichen.

                                      Heh? Versteh ich nicht.
                                      Hast du das Skript kopiert, im javaskript-Adapter als Java-Skript angelegt und die erforderlichen Änderungen getätigt?

                                      Linux-Werkzeugkasten:
                                      https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                                      NodeJS Fixer Skript:
                                      https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                                      iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                                      P 1 Antwort Letzte Antwort
                                      0
                                      • Thomas BraunT Thomas Braun

                                        @patrickfro sagte in Speedtest-Skript von kreyenborg.koeln für Kabel-Gigabit:

                                        Da ich kein Raspberry hab, konnte ich nicht das komplette Script von Kreyenborg nutzen, sondern musste auf https://www.speedtest.net/de/apps/cli ausweichen.

                                        Heh? Versteh ich nicht.
                                        Hast du das Skript kopiert, im javaskript-Adapter als Java-Skript angelegt und die erforderlichen Änderungen getätigt?

                                        P Offline
                                        P Offline
                                        PatrickFro
                                        schrieb am zuletzt editiert von
                                        #346

                                        @thomas-braun

                                        genau, hab es gerade nochmal deinstalliert und so wie du im ersten Post installiert (ist ja selber Weg). Selbes Ergebnis:

                                        javascript.1 (10238) script.js.common.VIS_2024.Scripte_andere_Seiten.Speedtest: Speedtest konnte nicht ausgeführt werden! Error: Command failed: /usr/bin/speedtest -f json --accept-license --accept-gdpr /bin/sh: 1: /usr/bin/speedtest: not found
                                        
                                        P 1 Antwort Letzte Antwort
                                        0
                                        • P PatrickFro

                                          @thomas-braun

                                          genau, hab es gerade nochmal deinstalliert und so wie du im ersten Post installiert (ist ja selber Weg). Selbes Ergebnis:

                                          javascript.1 (10238) script.js.common.VIS_2024.Scripte_andere_Seiten.Speedtest: Speedtest konnte nicht ausgeführt werden! Error: Command failed: /usr/bin/speedtest -f json --accept-license --accept-gdpr /bin/sh: 1: /usr/bin/speedtest: not found
                                          
                                          P Offline
                                          P Offline
                                          PatrickFro
                                          schrieb am zuletzt editiert von
                                          #347

                                          @patrickfro Ähm... Ich glaube ich habs. Ich habe Master und Slave und wohl Javascript vom Slave genommen...

                                          1000 Mal sorry, teste es mal

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          782

                                          Online

                                          32.5k

                                          Benutzer

                                          81.7k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe