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

  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Script für einen SpeedTest über speedtest.net

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.2k

Script für einen SpeedTest über speedtest.net

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
javascript
177 Beiträge 57 Kommentatoren 42.7k Aufrufe 39 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.
  • tr1plxT Offline
    tr1plxT Offline
    tr1plx
    schrieb am zuletzt editiert von
    #145

    Ist es möglich den Speedtest-net-Server (javascript.0.Speed-Test.data.server) manuell zu definieren, anstelle von lat/lon?
    Mein Problem ist, dass ich immer einen langsamen Server zugewiesen bekomme (speedtest.stadtwerke-schorndorf.de:8080) und somit die Werte hinten und vorne nicht stimmen.

    sigi234S NegaleinN 2 Antworten Letzte Antwort
    0
    • tr1plxT tr1plx

      Ist es möglich den Speedtest-net-Server (javascript.0.Speed-Test.data.server) manuell zu definieren, anstelle von lat/lon?
      Mein Problem ist, dass ich immer einen langsamen Server zugewiesen bekomme (speedtest.stadtwerke-schorndorf.de:8080) und somit die Werte hinten und vorne nicht stimmen.

      sigi234S Online
      sigi234S Online
      sigi234
      Forum Testing Most Active
      schrieb am zuletzt editiert von
      #146

      @tr1plx sagte in Script für einen SpeedTest über speedtest.net:

      Ist es möglich den Speedtest-net-Server (javascript.0.Speed-Test.data.server) manuell zu definieren, anstelle von lat/lon?
      Mein Problem ist, dass ich immer einen langsamen Server zugewiesen bekomme (speedtest.stadtwerke-schorndorf.de:8080) und somit die Werte hinten und vorne nicht stimmen.

      https://forum.iobroker.net/topic/30118/web-speedy-teste-deine-internetverbindung

      Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
      Immer Daten sichern!

      1 Antwort Letzte Antwort
      1
      • tr1plxT tr1plx

        Ist es möglich den Speedtest-net-Server (javascript.0.Speed-Test.data.server) manuell zu definieren, anstelle von lat/lon?
        Mein Problem ist, dass ich immer einen langsamen Server zugewiesen bekomme (speedtest.stadtwerke-schorndorf.de:8080) und somit die Werte hinten und vorne nicht stimmen.

        NegaleinN Offline
        NegaleinN Offline
        Negalein
        Global Moderator
        schrieb am zuletzt editiert von
        #147

        @tr1plx sagte in Script für einen SpeedTest über speedtest.net:

        Mein Problem ist, dass ich immer einen langsamen Server zugewiesen bekomme (speedtest.stadtwerke-schorndorf.de:8080) und somit die Werte hinten und vorne nicht stimmen.

        schau dir mal den neuen Adapter an.
        https://forum.iobroker.net/topic/30118/web-speedy-teste-deine-internetverbindung

        ° Node.js: 20.17.0 NPM: 10.8.2
        ° Proxmox, Ubuntu 22.04.3 LTS
        ° Fixer ---> iob fix

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

          Moin,

          ich nutze das Script schon länger, bin sehr zufrieden.

          Nun habe ich vor 2 Tagen die Ausführung per Cron verändert in var cronStr = '4 7-23 * * *'; (Jede Stunde zur 4. Minute zwischen 7 und 23 Uhr)

          Was mir jedoch auffällt:3d692253-e326-4211-8bc0-6d54c81cff2a-image.png

          Letzte Nacht wurde es minütlich ausgeführt... Was ist an dem Cron falsch? Ich kann nichts erkennen.

          1 Antwort Letzte Antwort
          0
          • Elektroniker86E Offline
            Elektroniker86E Offline
            Elektroniker86
            schrieb am zuletzt editiert von
            #149

            Ich benutze das Script auch schon ein paar Jahre.
            Allerdings kommt seit einiger Zeit folgender Fehler im Log:

            javascript.0
            2023-01-21 11:50:00.608	error	script.js.common.Speedtest.Internet_Speedtest: Speedtest Daten konnten nicht abgefragt werden
            
            javascript.0
            2023-01-21 11:50:00.607	error	script.js.common.Speedtest.Internet_Speedtest: {"error":{}}
            

            Kann man da noch was machen?

            Hier das Script:

            /* Speed-Test
            SpeedTest mit Ausgabe von Down- / Uploadgeschwindigkeit und Ping
            http://forum.iobroker.net/viewtopic.php?f=21&t=4170
            Erstellt 10.11.2016 by Cybertron
            angepasst 14.03.2017 by Pix
            20.03.2017 Unit ms für Datenpunkt ping (danke 0018)
            Installation:
            npm install --global speed-test
            Aufruf:
            speed-test --json --verbose
            Beispiel-Ausgabe:
            {"ping":118,"download":2.2,"upload":2.2,"data":{"speeds":{"download":2.179,"upload":2.209,"originalDownload":239941,"originalUpload":242389},
            "client":{"ip":"xxx.xxx.xxx.xxx","lat":51.2993,"lon":9.491,"isp":"Deutsche Telekom","isprating":3,"rating":0,"ispdlavg":13.86,"ispulavg":3.108},
            "server":{"host":"speedtest.hillcom.de","lat":50.7511,"lon":9.2711,"location":"Alsfeld","country":"Germany","cc":"DE","sponsor":"HillCom Solutions",
            "distance":62.87,"distanceMi":39.06,"ping":117.8,"id":"6599"}}}
            */
            var logging = true;
            var instanz = 'javascript.' + instance + '.';
            var pfad = 'Speed-Test.';
            var cronStr = "*/5 * * * *";
             
            function createStates() {
                // Allgemein
                createState(pfad + 'json', {
                    name: 'JSON',
                    desc: 'JSON Ausgabe',
                    type: 'string',
                    role: 'json'
                }, function() {
                    if (logging) log('Objekt ' + instanz + pfad + 'json erstellt');
                });
                createState(pfad + 'ping', {
                    name: 'Ping',
                    desc: 'Ping',
                    type: 'number',
                    unit: 'ms',
                    role: 'value'
                }, function() {
                    if (logging) log('Objekt ' + instanz + pfad + 'ping erstellt');
                });
             
                createState(pfad + 'forceRefresh', {
                    name: 'aktualisieren',
                    desc: 'Werte neu einlesen',
                    type: 'boolean',
                    def: false,
                    role: 'indicator'
                }, function() {
                    if (logging) log('Objekt ' + instanz + pfad + 'forceRefresh erstellt');
                });
             
                // Speed
                createState(pfad + 'data.speeds.download', {
                    name: 'Download',
                    desc: 'Downloadgeschwindigkeit (Mbit/s)',
                    type: 'number',
                    unit: 'Mbit/s',
                    role: 'value'
                }, function() {
                    if (logging) log('Objekt ' + instanz + pfad + 'data.speeds.download erstellt');
                });
                createState(pfad + 'data.speeds.upload', {
                    name: 'Upload',
                    desc: 'Uploadgeschwindigkeit (Mbit/s)',
                    type: 'number',
                    unit: 'Mbit/s',
                    role: 'value'
                }, function() {
                    if (logging) log('Objekt ' + instanz + pfad + 'data.speeds.upload erstellt');
                });
                createState(pfad + 'data.speeds.orginalDownload', {
                    name: 'OrginalDownload',
                    desc: 'Downloadgeschwindigkeit (bit/s)',
                    type: 'number',
                    unit: 'bit/s',
                    role: 'value'
                }, function() {
                    if (logging) log('Objekt ' + instanz + pfad + 'data.speeds.original Download erstellt');
                });
                createState(pfad + 'data.speeds.orginalUpload', {
                    name: 'OrginalUpload',
                    desc: 'Uploadgeschwindigkeit (bit/s)',
                    type: 'number',
                    unit: 'bit/s',
                    role: 'value'
                }, function() {
                    if (logging) log('Objekt ' + instanz + pfad + 'data.speeds.originalUpload erstellt');
                });
                // Client
                createState(pfad + 'data.client.ip', {
                    name: 'IP',
                    desc: 'Öffentliche IP-Adresse',
                    type: 'string',
                    role: 'text'
                }, function() {
                    if (logging) log('Objekt ' + instanz + pfad + 'data.client.ip erstellt');
                });
                createState(pfad + 'data.client.lat', {
                    name: 'Latitude',
                    desc: 'Latidude',
                    type: 'number', // ##########################
                    unit: '°',
                    role: 'value.gps.latitude'
                }, function() {
                    if (logging) log('Objekt ' + instanz + pfad + 'data.client.lat erstellt');
                });
                createState(pfad + 'data.client.lon', {
                    name: 'Longitude',
                    desc: 'Longitude',
                    type: 'number', // ##########################
                    unit: '°',
                    role: 'value.gps.longitude'
                }, function() {
                    if (logging) log('Objekt ' + instanz + pfad + 'data.client.lomg erstellt');
                });
                createState(pfad + 'data.client.isp', {
                    name: 'ISP',
                    desc: 'Internet-Service-provider',
                    type: 'string',
                    role: 'text'
                }, function() {
                    if (logging) log('Objekt ' + instanz + pfad + 'data.client.isp erstellt');
                });
             
                createState(pfad + 'data.client.isprating', {
                    name: 'ISP-Rating',
                    desc: 'ISP-Rating',
                    type: 'number',
                    role: 'value'
                }, function() {
                    if (logging) log('Objekt ' + instanz + pfad + 'data.client.isprating erstellt');
                });
             
                createState(pfad + 'data.client.rating', {
                    name: 'Rating',
                    desc: 'Rating',
                    type: 'number',
                    role: 'value'
                }, function() {
                    if (logging) log('Objekt ' + instanz + pfad + 'data.client.rating erstellt');
                });
             
                createState(pfad + 'data.client.ispdlavg', {
                    name: 'ISP-DL-AVG',
                    desc: 'ISPDLAVG',
                    type: 'number',
                    unit: 'Mbit/s',
                    role: 'value'
                }, function() {
                    if (logging) log('Objekt ' + instanz + pfad + 'data.client.ispdlavg erstellt');
                });
             
                createState(pfad + 'data.client.ispulavg', {
                    name: 'ISP-UL-AVG',
                    desc: 'ISPULAVG',
                    type: 'number',
                    unit: 'Mbit/s',
                    role: 'value'
                }, function() {
                    if (logging) log('Objekt ' + instanz + pfad + 'data.client.ispulavg erstellt');
                });
             
                // Server
                createState(pfad + 'data.server.host', {
                    name: 'Host',
                    desc: 'Hostname des Servers',
                    type: 'string',
                    role: 'text'
                }, function() {
                    if (logging) log('Objekt ' + instanz + pfad + 'data.server.host erstellt');
                });
             
             
                createState(pfad + 'data.server.lat', {
                    name: 'Server-Latitude',
                    desc: 'Latitude des Serverstandortes',
                    type: 'number', // ##########################
                    unit: '°',
                    role: 'value.gps.latitude'
                }, function() {
                    if (logging) log('Objekt ' + instanz + pfad + 'data.server.lat erstellt');
                });
             
                createState(pfad + 'data.server.lon', {
                    name: 'Server-Longitude',
                    desc: 'Longitude des Serverstandortes',
                    type: 'number', // ##########################
                    unit: '°',
                    role: 'value.gps.longitude'
                }, function() {
                    if (logging) log('Objekt ' + instanz + pfad + 'data.server.lon erstellt');
                });
             
                createState(pfad + 'data.server.location', {
                    name: 'Server-Location',
                    desc: 'Server-Standort',
                    type: 'string',
                    role: 'text.city'
                }, function() {
                    if (logging) log('Objekt ' + instanz + pfad + 'data.server.location erstellt');
                });
             
                createState(pfad + 'data.server.country', {
                    name: 'Server-Country',
                    desc: 'Land',
                    type: 'string',
                    role: 'text.country'
                }, function() {
                    if (logging) log('Objekt ' + instanz + pfad + 'data.server.country erstellt');
                });
             
                createState(pfad + 'data.server.cc', {
                    name: 'Server-CC',
                    desc: 'Länderkürzel',
                    type: 'string',
                    role: 'text'
                }, function() {
                    if (logging) log('Objekt ' + instanz + pfad + 'data.server.cc erstellt');
                });
             
                createState(pfad + 'data.server.sponsor', {
                    name: 'Server-Sponsor',
                    desc: 'Sponsor des Servers',
                    type: 'string',
                    role: 'text'
                }, function() {
                    if (logging) log('Objekt ' + instanz + pfad + 'data.server.sponsor erstellt');
                });
             
                createState(pfad + 'data.server.distance', {
                    name: 'DistanzToServer',
                    desc: 'Distanz zum Server in km',
                    type: 'number',
                    unit: 'km',
                    role: 'value'
                }, function() {
                    if (logging) log('Objekt ' + instanz + pfad + 'data.server.distance erstellt');
                });
             
                createState(pfad + 'data.server.distanceMi', {
                    name: 'DistanzToServerMeilen',
                    desc: 'Distanz des Servers im Meilen',
                    type: 'number',
                    unit: 'Meilen',
                    role: 'value'
                }, function() {
                    if (logging) log('Objekt ' + instanz + pfad + 'data.server.distanceMi erstellt');
                });
             
                createState(pfad + 'data.server.ping', {
                    name: 'Server-Ping',
                    desc: 'Ping zum Server',
                    type: 'number',
                    unit: 'ms',
                    role: 'value'
                }, function() {
                    if (logging) log('Objekt ' + instanz + pfad + 'data.server.ping erstellt');
                });
             
                createState(pfad + 'data.server.id', {
                    name: 'Server-ID',
                    desc: 'Server ID',
                    type: 'number',
                    role: 'value'
                }, function() {
                    if (logging) log('Objekt ' + instanz + pfad + 'data.server.id erstellt');
                });
             
            }
             
            function SpeedTest() {
                exec("speed-test --json --verbose", function(err, stdout, stderr) {
                    if (err) {
                        log(stderr, 'error');
                        log('Speedtest Daten konnten nicht abgefragt werden', 'error');
                        return;
                    }
                    writeDP(stdout);
                });
            }
             
            function writeDP(jsonstring) {
                var objects = JSON.parse(jsonstring);
             
                var jsonStr = jsonstring;
                //log (jsonStr);
             
                var ping = objects.ping;
                var download = objects.download;
                var upload = objects.upload;
                //log ('Ping =' + ping);
                //log ('Download = ' + download);
                //log ('Upload = ' + upload);
                var Speed_Download = objects.data.speeds.download;
                var Speed_Upload = objects.data.speeds.upload;
                var Speed_OriginalDownload = objects.data.speeds.originalDownload;
                var Speed_OriginalUpload = objects.data.speeds.originalUpload;
                //log ('Speed_Download = ' + Speed_Download);
                //log ('Speed_Upload = ' + Speed_Upload);
                //log ('OriginalDownload = ' + Speed_OriginalDownload);
                //log ('OriginalUpload = ' + Speed_OriginalUpload);
                var Client_IP = objects.data.client.ip;
                var Client_lat = objects.data.client.lat;
                var Client_lon = objects.data.client.lon;
                var Client_isp = objects.data.client.isp;
                var Client_isprating = objects.data.client.isprating;
                var Client_rating = objects.data.client.rating;
                var Client_ispdlavg = objects.data.client.ispdlavg;
                var Client_ispulavg = objects.data.client.ispulavg;
                var Server_host = objects.data.server.host;
                var Server_lat = objects.data.server.lat;
                var Server_lon = objects.data.server.lon;
                var Server_location = objects.data.server.location;
                var Server_country = objects.data.server.country;
                var Server_cc = objects.data.server.cc;
                var Server_sponsor = objects.data.server.sponsor;
                var Server_distance = objects.data.server.distance;
                var Server_distanceMi = objects.data.server.distanceMi;
                var Server_ping = objects.data.server.ping;
                var Server_id = objects.data.server.id;
                setState(instanz + pfad + "json", jsonStr);
             
                setState(instanz + pfad + "ping", parseFloat(ping));
                //setState(instanz + pfad + "download", parseFloat(download));
                //setState(instanz + pfad + "upload", parseFloat(upload));
             
                setState(instanz + pfad + "data.speeds.download", parseFloat(Speed_Download));
                setState(instanz + pfad + "data.speeds.upload", parseFloat(Speed_Upload));
                setState(instanz + pfad + "data.speeds.orginalDownload", parseFloat(Speed_OriginalDownload));
                setState(instanz + pfad + "data.speeds.orginalUpload", parseFloat(Speed_OriginalUpload));
                setState(instanz + pfad + "data.client.ip", Client_IP);
                setState(instanz + pfad + "data.client.lat", parseFloat(Client_lat));
                setState(instanz + pfad + "data.client.lon", parseFloat(Client_lon));
                setState(instanz + pfad + "data.client.isp", Client_isp);
                setState(instanz + pfad + "data.client.isprating", parseFloat(Client_isprating));
                setState(instanz + pfad + "data.client.rating", parseFloat(Client_rating));
                setState(instanz + pfad + "data.client.ispdlavg", parseFloat(Client_ispdlavg));
                setState(instanz + pfad + "data.client.ispulavg", parseFloat(Client_ispulavg));
                setState(instanz + pfad + "data.server.host", Server_host);
                setState(instanz + pfad + "data.server.lat", parseFloat(Server_lat));
                setState(instanz + pfad + "data.server.lon", parseFloat(Server_lon));
                setState(instanz + pfad + "data.server.location", Server_location);
                setState(instanz + pfad + "data.server.country", Server_country);
                setState(instanz + pfad + "data.server.cc", Server_cc);
                setState(instanz + pfad + "data.server.sponsor", Server_sponsor);
                setState(instanz + pfad + "data.server.distance", parseFloat(Server_distance));
                setState(instanz + pfad + "data.server.distanceMi", parseFloat(Server_distanceMi));
                setState(instanz + pfad + "data.server.ping", parseFloat(Server_ping));
                setState(instanz + pfad + "data.server.id", parseFloat(Server_id));
                setState(instanz + pfad + 'forceRefresh', false);
                log('Speedtest Daten aktualisiert');
            }
             
            // regelmässige Wiederholungen
            schedule(cronStr, SpeedTest);
             
            // einmaliger Start bei Skriptstart
            createStates();
             
            setTimeout(SpeedTest, 1500);
             
            // Start beim Setzen auf true
            on(instanz + pfad + 'forceRefresh', function(obj) {
                if (!obj.state.ack && obj.state.val) SpeedTest();
            });
            
            SegwayS Thomas BraunT 2 Antworten Letzte Antwort
            0
            • Elektroniker86E Elektroniker86

              Ich benutze das Script auch schon ein paar Jahre.
              Allerdings kommt seit einiger Zeit folgender Fehler im Log:

              javascript.0
              2023-01-21 11:50:00.608	error	script.js.common.Speedtest.Internet_Speedtest: Speedtest Daten konnten nicht abgefragt werden
              
              javascript.0
              2023-01-21 11:50:00.607	error	script.js.common.Speedtest.Internet_Speedtest: {"error":{}}
              

              Kann man da noch was machen?

              Hier das Script:

              /* Speed-Test
              SpeedTest mit Ausgabe von Down- / Uploadgeschwindigkeit und Ping
              http://forum.iobroker.net/viewtopic.php?f=21&t=4170
              Erstellt 10.11.2016 by Cybertron
              angepasst 14.03.2017 by Pix
              20.03.2017 Unit ms für Datenpunkt ping (danke 0018)
              Installation:
              npm install --global speed-test
              Aufruf:
              speed-test --json --verbose
              Beispiel-Ausgabe:
              {"ping":118,"download":2.2,"upload":2.2,"data":{"speeds":{"download":2.179,"upload":2.209,"originalDownload":239941,"originalUpload":242389},
              "client":{"ip":"xxx.xxx.xxx.xxx","lat":51.2993,"lon":9.491,"isp":"Deutsche Telekom","isprating":3,"rating":0,"ispdlavg":13.86,"ispulavg":3.108},
              "server":{"host":"speedtest.hillcom.de","lat":50.7511,"lon":9.2711,"location":"Alsfeld","country":"Germany","cc":"DE","sponsor":"HillCom Solutions",
              "distance":62.87,"distanceMi":39.06,"ping":117.8,"id":"6599"}}}
              */
              var logging = true;
              var instanz = 'javascript.' + instance + '.';
              var pfad = 'Speed-Test.';
              var cronStr = "*/5 * * * *";
               
              function createStates() {
                  // Allgemein
                  createState(pfad + 'json', {
                      name: 'JSON',
                      desc: 'JSON Ausgabe',
                      type: 'string',
                      role: 'json'
                  }, function() {
                      if (logging) log('Objekt ' + instanz + pfad + 'json erstellt');
                  });
                  createState(pfad + 'ping', {
                      name: 'Ping',
                      desc: 'Ping',
                      type: 'number',
                      unit: 'ms',
                      role: 'value'
                  }, function() {
                      if (logging) log('Objekt ' + instanz + pfad + 'ping erstellt');
                  });
               
                  createState(pfad + 'forceRefresh', {
                      name: 'aktualisieren',
                      desc: 'Werte neu einlesen',
                      type: 'boolean',
                      def: false,
                      role: 'indicator'
                  }, function() {
                      if (logging) log('Objekt ' + instanz + pfad + 'forceRefresh erstellt');
                  });
               
                  // Speed
                  createState(pfad + 'data.speeds.download', {
                      name: 'Download',
                      desc: 'Downloadgeschwindigkeit (Mbit/s)',
                      type: 'number',
                      unit: 'Mbit/s',
                      role: 'value'
                  }, function() {
                      if (logging) log('Objekt ' + instanz + pfad + 'data.speeds.download erstellt');
                  });
                  createState(pfad + 'data.speeds.upload', {
                      name: 'Upload',
                      desc: 'Uploadgeschwindigkeit (Mbit/s)',
                      type: 'number',
                      unit: 'Mbit/s',
                      role: 'value'
                  }, function() {
                      if (logging) log('Objekt ' + instanz + pfad + 'data.speeds.upload erstellt');
                  });
                  createState(pfad + 'data.speeds.orginalDownload', {
                      name: 'OrginalDownload',
                      desc: 'Downloadgeschwindigkeit (bit/s)',
                      type: 'number',
                      unit: 'bit/s',
                      role: 'value'
                  }, function() {
                      if (logging) log('Objekt ' + instanz + pfad + 'data.speeds.original Download erstellt');
                  });
                  createState(pfad + 'data.speeds.orginalUpload', {
                      name: 'OrginalUpload',
                      desc: 'Uploadgeschwindigkeit (bit/s)',
                      type: 'number',
                      unit: 'bit/s',
                      role: 'value'
                  }, function() {
                      if (logging) log('Objekt ' + instanz + pfad + 'data.speeds.originalUpload erstellt');
                  });
                  // Client
                  createState(pfad + 'data.client.ip', {
                      name: 'IP',
                      desc: 'Öffentliche IP-Adresse',
                      type: 'string',
                      role: 'text'
                  }, function() {
                      if (logging) log('Objekt ' + instanz + pfad + 'data.client.ip erstellt');
                  });
                  createState(pfad + 'data.client.lat', {
                      name: 'Latitude',
                      desc: 'Latidude',
                      type: 'number', // ##########################
                      unit: '°',
                      role: 'value.gps.latitude'
                  }, function() {
                      if (logging) log('Objekt ' + instanz + pfad + 'data.client.lat erstellt');
                  });
                  createState(pfad + 'data.client.lon', {
                      name: 'Longitude',
                      desc: 'Longitude',
                      type: 'number', // ##########################
                      unit: '°',
                      role: 'value.gps.longitude'
                  }, function() {
                      if (logging) log('Objekt ' + instanz + pfad + 'data.client.lomg erstellt');
                  });
                  createState(pfad + 'data.client.isp', {
                      name: 'ISP',
                      desc: 'Internet-Service-provider',
                      type: 'string',
                      role: 'text'
                  }, function() {
                      if (logging) log('Objekt ' + instanz + pfad + 'data.client.isp erstellt');
                  });
               
                  createState(pfad + 'data.client.isprating', {
                      name: 'ISP-Rating',
                      desc: 'ISP-Rating',
                      type: 'number',
                      role: 'value'
                  }, function() {
                      if (logging) log('Objekt ' + instanz + pfad + 'data.client.isprating erstellt');
                  });
               
                  createState(pfad + 'data.client.rating', {
                      name: 'Rating',
                      desc: 'Rating',
                      type: 'number',
                      role: 'value'
                  }, function() {
                      if (logging) log('Objekt ' + instanz + pfad + 'data.client.rating erstellt');
                  });
               
                  createState(pfad + 'data.client.ispdlavg', {
                      name: 'ISP-DL-AVG',
                      desc: 'ISPDLAVG',
                      type: 'number',
                      unit: 'Mbit/s',
                      role: 'value'
                  }, function() {
                      if (logging) log('Objekt ' + instanz + pfad + 'data.client.ispdlavg erstellt');
                  });
               
                  createState(pfad + 'data.client.ispulavg', {
                      name: 'ISP-UL-AVG',
                      desc: 'ISPULAVG',
                      type: 'number',
                      unit: 'Mbit/s',
                      role: 'value'
                  }, function() {
                      if (logging) log('Objekt ' + instanz + pfad + 'data.client.ispulavg erstellt');
                  });
               
                  // Server
                  createState(pfad + 'data.server.host', {
                      name: 'Host',
                      desc: 'Hostname des Servers',
                      type: 'string',
                      role: 'text'
                  }, function() {
                      if (logging) log('Objekt ' + instanz + pfad + 'data.server.host erstellt');
                  });
               
               
                  createState(pfad + 'data.server.lat', {
                      name: 'Server-Latitude',
                      desc: 'Latitude des Serverstandortes',
                      type: 'number', // ##########################
                      unit: '°',
                      role: 'value.gps.latitude'
                  }, function() {
                      if (logging) log('Objekt ' + instanz + pfad + 'data.server.lat erstellt');
                  });
               
                  createState(pfad + 'data.server.lon', {
                      name: 'Server-Longitude',
                      desc: 'Longitude des Serverstandortes',
                      type: 'number', // ##########################
                      unit: '°',
                      role: 'value.gps.longitude'
                  }, function() {
                      if (logging) log('Objekt ' + instanz + pfad + 'data.server.lon erstellt');
                  });
               
                  createState(pfad + 'data.server.location', {
                      name: 'Server-Location',
                      desc: 'Server-Standort',
                      type: 'string',
                      role: 'text.city'
                  }, function() {
                      if (logging) log('Objekt ' + instanz + pfad + 'data.server.location erstellt');
                  });
               
                  createState(pfad + 'data.server.country', {
                      name: 'Server-Country',
                      desc: 'Land',
                      type: 'string',
                      role: 'text.country'
                  }, function() {
                      if (logging) log('Objekt ' + instanz + pfad + 'data.server.country erstellt');
                  });
               
                  createState(pfad + 'data.server.cc', {
                      name: 'Server-CC',
                      desc: 'Länderkürzel',
                      type: 'string',
                      role: 'text'
                  }, function() {
                      if (logging) log('Objekt ' + instanz + pfad + 'data.server.cc erstellt');
                  });
               
                  createState(pfad + 'data.server.sponsor', {
                      name: 'Server-Sponsor',
                      desc: 'Sponsor des Servers',
                      type: 'string',
                      role: 'text'
                  }, function() {
                      if (logging) log('Objekt ' + instanz + pfad + 'data.server.sponsor erstellt');
                  });
               
                  createState(pfad + 'data.server.distance', {
                      name: 'DistanzToServer',
                      desc: 'Distanz zum Server in km',
                      type: 'number',
                      unit: 'km',
                      role: 'value'
                  }, function() {
                      if (logging) log('Objekt ' + instanz + pfad + 'data.server.distance erstellt');
                  });
               
                  createState(pfad + 'data.server.distanceMi', {
                      name: 'DistanzToServerMeilen',
                      desc: 'Distanz des Servers im Meilen',
                      type: 'number',
                      unit: 'Meilen',
                      role: 'value'
                  }, function() {
                      if (logging) log('Objekt ' + instanz + pfad + 'data.server.distanceMi erstellt');
                  });
               
                  createState(pfad + 'data.server.ping', {
                      name: 'Server-Ping',
                      desc: 'Ping zum Server',
                      type: 'number',
                      unit: 'ms',
                      role: 'value'
                  }, function() {
                      if (logging) log('Objekt ' + instanz + pfad + 'data.server.ping erstellt');
                  });
               
                  createState(pfad + 'data.server.id', {
                      name: 'Server-ID',
                      desc: 'Server ID',
                      type: 'number',
                      role: 'value'
                  }, function() {
                      if (logging) log('Objekt ' + instanz + pfad + 'data.server.id erstellt');
                  });
               
              }
               
              function SpeedTest() {
                  exec("speed-test --json --verbose", function(err, stdout, stderr) {
                      if (err) {
                          log(stderr, 'error');
                          log('Speedtest Daten konnten nicht abgefragt werden', 'error');
                          return;
                      }
                      writeDP(stdout);
                  });
              }
               
              function writeDP(jsonstring) {
                  var objects = JSON.parse(jsonstring);
               
                  var jsonStr = jsonstring;
                  //log (jsonStr);
               
                  var ping = objects.ping;
                  var download = objects.download;
                  var upload = objects.upload;
                  //log ('Ping =' + ping);
                  //log ('Download = ' + download);
                  //log ('Upload = ' + upload);
                  var Speed_Download = objects.data.speeds.download;
                  var Speed_Upload = objects.data.speeds.upload;
                  var Speed_OriginalDownload = objects.data.speeds.originalDownload;
                  var Speed_OriginalUpload = objects.data.speeds.originalUpload;
                  //log ('Speed_Download = ' + Speed_Download);
                  //log ('Speed_Upload = ' + Speed_Upload);
                  //log ('OriginalDownload = ' + Speed_OriginalDownload);
                  //log ('OriginalUpload = ' + Speed_OriginalUpload);
                  var Client_IP = objects.data.client.ip;
                  var Client_lat = objects.data.client.lat;
                  var Client_lon = objects.data.client.lon;
                  var Client_isp = objects.data.client.isp;
                  var Client_isprating = objects.data.client.isprating;
                  var Client_rating = objects.data.client.rating;
                  var Client_ispdlavg = objects.data.client.ispdlavg;
                  var Client_ispulavg = objects.data.client.ispulavg;
                  var Server_host = objects.data.server.host;
                  var Server_lat = objects.data.server.lat;
                  var Server_lon = objects.data.server.lon;
                  var Server_location = objects.data.server.location;
                  var Server_country = objects.data.server.country;
                  var Server_cc = objects.data.server.cc;
                  var Server_sponsor = objects.data.server.sponsor;
                  var Server_distance = objects.data.server.distance;
                  var Server_distanceMi = objects.data.server.distanceMi;
                  var Server_ping = objects.data.server.ping;
                  var Server_id = objects.data.server.id;
                  setState(instanz + pfad + "json", jsonStr);
               
                  setState(instanz + pfad + "ping", parseFloat(ping));
                  //setState(instanz + pfad + "download", parseFloat(download));
                  //setState(instanz + pfad + "upload", parseFloat(upload));
               
                  setState(instanz + pfad + "data.speeds.download", parseFloat(Speed_Download));
                  setState(instanz + pfad + "data.speeds.upload", parseFloat(Speed_Upload));
                  setState(instanz + pfad + "data.speeds.orginalDownload", parseFloat(Speed_OriginalDownload));
                  setState(instanz + pfad + "data.speeds.orginalUpload", parseFloat(Speed_OriginalUpload));
                  setState(instanz + pfad + "data.client.ip", Client_IP);
                  setState(instanz + pfad + "data.client.lat", parseFloat(Client_lat));
                  setState(instanz + pfad + "data.client.lon", parseFloat(Client_lon));
                  setState(instanz + pfad + "data.client.isp", Client_isp);
                  setState(instanz + pfad + "data.client.isprating", parseFloat(Client_isprating));
                  setState(instanz + pfad + "data.client.rating", parseFloat(Client_rating));
                  setState(instanz + pfad + "data.client.ispdlavg", parseFloat(Client_ispdlavg));
                  setState(instanz + pfad + "data.client.ispulavg", parseFloat(Client_ispulavg));
                  setState(instanz + pfad + "data.server.host", Server_host);
                  setState(instanz + pfad + "data.server.lat", parseFloat(Server_lat));
                  setState(instanz + pfad + "data.server.lon", parseFloat(Server_lon));
                  setState(instanz + pfad + "data.server.location", Server_location);
                  setState(instanz + pfad + "data.server.country", Server_country);
                  setState(instanz + pfad + "data.server.cc", Server_cc);
                  setState(instanz + pfad + "data.server.sponsor", Server_sponsor);
                  setState(instanz + pfad + "data.server.distance", parseFloat(Server_distance));
                  setState(instanz + pfad + "data.server.distanceMi", parseFloat(Server_distanceMi));
                  setState(instanz + pfad + "data.server.ping", parseFloat(Server_ping));
                  setState(instanz + pfad + "data.server.id", parseFloat(Server_id));
                  setState(instanz + pfad + 'forceRefresh', false);
                  log('Speedtest Daten aktualisiert');
              }
               
              // regelmässige Wiederholungen
              schedule(cronStr, SpeedTest);
               
              // einmaliger Start bei Skriptstart
              createStates();
               
              setTimeout(SpeedTest, 1500);
               
              // Start beim Setzen auf true
              on(instanz + pfad + 'forceRefresh', function(obj) {
                  if (!obj.state.ack && obj.state.val) SpeedTest();
              });
              
              SegwayS Offline
              SegwayS Offline
              Segway
              schrieb am zuletzt editiert von
              #150

              @elektroniker86

              das scheint mir ein altes Skript zu sein für die neueste version von spendetest:

               * Skript Name:        Speedtest
               * Skript Version:    1.3
               * Erstell-Datum:    29. November 2021
              

              Gruß Dirk
              Intel Proxmox Cluster (3x NUC) mit Debian & Proxmox / IoB als VM unter Debian / 60+ Adapter installiert

              Elektroniker86E 1 Antwort Letzte Antwort
              0
              • Elektroniker86E Elektroniker86

                Ich benutze das Script auch schon ein paar Jahre.
                Allerdings kommt seit einiger Zeit folgender Fehler im Log:

                javascript.0
                2023-01-21 11:50:00.608	error	script.js.common.Speedtest.Internet_Speedtest: Speedtest Daten konnten nicht abgefragt werden
                
                javascript.0
                2023-01-21 11:50:00.607	error	script.js.common.Speedtest.Internet_Speedtest: {"error":{}}
                

                Kann man da noch was machen?

                Hier das Script:

                /* Speed-Test
                SpeedTest mit Ausgabe von Down- / Uploadgeschwindigkeit und Ping
                http://forum.iobroker.net/viewtopic.php?f=21&t=4170
                Erstellt 10.11.2016 by Cybertron
                angepasst 14.03.2017 by Pix
                20.03.2017 Unit ms für Datenpunkt ping (danke 0018)
                Installation:
                npm install --global speed-test
                Aufruf:
                speed-test --json --verbose
                Beispiel-Ausgabe:
                {"ping":118,"download":2.2,"upload":2.2,"data":{"speeds":{"download":2.179,"upload":2.209,"originalDownload":239941,"originalUpload":242389},
                "client":{"ip":"xxx.xxx.xxx.xxx","lat":51.2993,"lon":9.491,"isp":"Deutsche Telekom","isprating":3,"rating":0,"ispdlavg":13.86,"ispulavg":3.108},
                "server":{"host":"speedtest.hillcom.de","lat":50.7511,"lon":9.2711,"location":"Alsfeld","country":"Germany","cc":"DE","sponsor":"HillCom Solutions",
                "distance":62.87,"distanceMi":39.06,"ping":117.8,"id":"6599"}}}
                */
                var logging = true;
                var instanz = 'javascript.' + instance + '.';
                var pfad = 'Speed-Test.';
                var cronStr = "*/5 * * * *";
                 
                function createStates() {
                    // Allgemein
                    createState(pfad + 'json', {
                        name: 'JSON',
                        desc: 'JSON Ausgabe',
                        type: 'string',
                        role: 'json'
                    }, function() {
                        if (logging) log('Objekt ' + instanz + pfad + 'json erstellt');
                    });
                    createState(pfad + 'ping', {
                        name: 'Ping',
                        desc: 'Ping',
                        type: 'number',
                        unit: 'ms',
                        role: 'value'
                    }, function() {
                        if (logging) log('Objekt ' + instanz + pfad + 'ping erstellt');
                    });
                 
                    createState(pfad + 'forceRefresh', {
                        name: 'aktualisieren',
                        desc: 'Werte neu einlesen',
                        type: 'boolean',
                        def: false,
                        role: 'indicator'
                    }, function() {
                        if (logging) log('Objekt ' + instanz + pfad + 'forceRefresh erstellt');
                    });
                 
                    // Speed
                    createState(pfad + 'data.speeds.download', {
                        name: 'Download',
                        desc: 'Downloadgeschwindigkeit (Mbit/s)',
                        type: 'number',
                        unit: 'Mbit/s',
                        role: 'value'
                    }, function() {
                        if (logging) log('Objekt ' + instanz + pfad + 'data.speeds.download erstellt');
                    });
                    createState(pfad + 'data.speeds.upload', {
                        name: 'Upload',
                        desc: 'Uploadgeschwindigkeit (Mbit/s)',
                        type: 'number',
                        unit: 'Mbit/s',
                        role: 'value'
                    }, function() {
                        if (logging) log('Objekt ' + instanz + pfad + 'data.speeds.upload erstellt');
                    });
                    createState(pfad + 'data.speeds.orginalDownload', {
                        name: 'OrginalDownload',
                        desc: 'Downloadgeschwindigkeit (bit/s)',
                        type: 'number',
                        unit: 'bit/s',
                        role: 'value'
                    }, function() {
                        if (logging) log('Objekt ' + instanz + pfad + 'data.speeds.original Download erstellt');
                    });
                    createState(pfad + 'data.speeds.orginalUpload', {
                        name: 'OrginalUpload',
                        desc: 'Uploadgeschwindigkeit (bit/s)',
                        type: 'number',
                        unit: 'bit/s',
                        role: 'value'
                    }, function() {
                        if (logging) log('Objekt ' + instanz + pfad + 'data.speeds.originalUpload erstellt');
                    });
                    // Client
                    createState(pfad + 'data.client.ip', {
                        name: 'IP',
                        desc: 'Öffentliche IP-Adresse',
                        type: 'string',
                        role: 'text'
                    }, function() {
                        if (logging) log('Objekt ' + instanz + pfad + 'data.client.ip erstellt');
                    });
                    createState(pfad + 'data.client.lat', {
                        name: 'Latitude',
                        desc: 'Latidude',
                        type: 'number', // ##########################
                        unit: '°',
                        role: 'value.gps.latitude'
                    }, function() {
                        if (logging) log('Objekt ' + instanz + pfad + 'data.client.lat erstellt');
                    });
                    createState(pfad + 'data.client.lon', {
                        name: 'Longitude',
                        desc: 'Longitude',
                        type: 'number', // ##########################
                        unit: '°',
                        role: 'value.gps.longitude'
                    }, function() {
                        if (logging) log('Objekt ' + instanz + pfad + 'data.client.lomg erstellt');
                    });
                    createState(pfad + 'data.client.isp', {
                        name: 'ISP',
                        desc: 'Internet-Service-provider',
                        type: 'string',
                        role: 'text'
                    }, function() {
                        if (logging) log('Objekt ' + instanz + pfad + 'data.client.isp erstellt');
                    });
                 
                    createState(pfad + 'data.client.isprating', {
                        name: 'ISP-Rating',
                        desc: 'ISP-Rating',
                        type: 'number',
                        role: 'value'
                    }, function() {
                        if (logging) log('Objekt ' + instanz + pfad + 'data.client.isprating erstellt');
                    });
                 
                    createState(pfad + 'data.client.rating', {
                        name: 'Rating',
                        desc: 'Rating',
                        type: 'number',
                        role: 'value'
                    }, function() {
                        if (logging) log('Objekt ' + instanz + pfad + 'data.client.rating erstellt');
                    });
                 
                    createState(pfad + 'data.client.ispdlavg', {
                        name: 'ISP-DL-AVG',
                        desc: 'ISPDLAVG',
                        type: 'number',
                        unit: 'Mbit/s',
                        role: 'value'
                    }, function() {
                        if (logging) log('Objekt ' + instanz + pfad + 'data.client.ispdlavg erstellt');
                    });
                 
                    createState(pfad + 'data.client.ispulavg', {
                        name: 'ISP-UL-AVG',
                        desc: 'ISPULAVG',
                        type: 'number',
                        unit: 'Mbit/s',
                        role: 'value'
                    }, function() {
                        if (logging) log('Objekt ' + instanz + pfad + 'data.client.ispulavg erstellt');
                    });
                 
                    // Server
                    createState(pfad + 'data.server.host', {
                        name: 'Host',
                        desc: 'Hostname des Servers',
                        type: 'string',
                        role: 'text'
                    }, function() {
                        if (logging) log('Objekt ' + instanz + pfad + 'data.server.host erstellt');
                    });
                 
                 
                    createState(pfad + 'data.server.lat', {
                        name: 'Server-Latitude',
                        desc: 'Latitude des Serverstandortes',
                        type: 'number', // ##########################
                        unit: '°',
                        role: 'value.gps.latitude'
                    }, function() {
                        if (logging) log('Objekt ' + instanz + pfad + 'data.server.lat erstellt');
                    });
                 
                    createState(pfad + 'data.server.lon', {
                        name: 'Server-Longitude',
                        desc: 'Longitude des Serverstandortes',
                        type: 'number', // ##########################
                        unit: '°',
                        role: 'value.gps.longitude'
                    }, function() {
                        if (logging) log('Objekt ' + instanz + pfad + 'data.server.lon erstellt');
                    });
                 
                    createState(pfad + 'data.server.location', {
                        name: 'Server-Location',
                        desc: 'Server-Standort',
                        type: 'string',
                        role: 'text.city'
                    }, function() {
                        if (logging) log('Objekt ' + instanz + pfad + 'data.server.location erstellt');
                    });
                 
                    createState(pfad + 'data.server.country', {
                        name: 'Server-Country',
                        desc: 'Land',
                        type: 'string',
                        role: 'text.country'
                    }, function() {
                        if (logging) log('Objekt ' + instanz + pfad + 'data.server.country erstellt');
                    });
                 
                    createState(pfad + 'data.server.cc', {
                        name: 'Server-CC',
                        desc: 'Länderkürzel',
                        type: 'string',
                        role: 'text'
                    }, function() {
                        if (logging) log('Objekt ' + instanz + pfad + 'data.server.cc erstellt');
                    });
                 
                    createState(pfad + 'data.server.sponsor', {
                        name: 'Server-Sponsor',
                        desc: 'Sponsor des Servers',
                        type: 'string',
                        role: 'text'
                    }, function() {
                        if (logging) log('Objekt ' + instanz + pfad + 'data.server.sponsor erstellt');
                    });
                 
                    createState(pfad + 'data.server.distance', {
                        name: 'DistanzToServer',
                        desc: 'Distanz zum Server in km',
                        type: 'number',
                        unit: 'km',
                        role: 'value'
                    }, function() {
                        if (logging) log('Objekt ' + instanz + pfad + 'data.server.distance erstellt');
                    });
                 
                    createState(pfad + 'data.server.distanceMi', {
                        name: 'DistanzToServerMeilen',
                        desc: 'Distanz des Servers im Meilen',
                        type: 'number',
                        unit: 'Meilen',
                        role: 'value'
                    }, function() {
                        if (logging) log('Objekt ' + instanz + pfad + 'data.server.distanceMi erstellt');
                    });
                 
                    createState(pfad + 'data.server.ping', {
                        name: 'Server-Ping',
                        desc: 'Ping zum Server',
                        type: 'number',
                        unit: 'ms',
                        role: 'value'
                    }, function() {
                        if (logging) log('Objekt ' + instanz + pfad + 'data.server.ping erstellt');
                    });
                 
                    createState(pfad + 'data.server.id', {
                        name: 'Server-ID',
                        desc: 'Server ID',
                        type: 'number',
                        role: 'value'
                    }, function() {
                        if (logging) log('Objekt ' + instanz + pfad + 'data.server.id erstellt');
                    });
                 
                }
                 
                function SpeedTest() {
                    exec("speed-test --json --verbose", function(err, stdout, stderr) {
                        if (err) {
                            log(stderr, 'error');
                            log('Speedtest Daten konnten nicht abgefragt werden', 'error');
                            return;
                        }
                        writeDP(stdout);
                    });
                }
                 
                function writeDP(jsonstring) {
                    var objects = JSON.parse(jsonstring);
                 
                    var jsonStr = jsonstring;
                    //log (jsonStr);
                 
                    var ping = objects.ping;
                    var download = objects.download;
                    var upload = objects.upload;
                    //log ('Ping =' + ping);
                    //log ('Download = ' + download);
                    //log ('Upload = ' + upload);
                    var Speed_Download = objects.data.speeds.download;
                    var Speed_Upload = objects.data.speeds.upload;
                    var Speed_OriginalDownload = objects.data.speeds.originalDownload;
                    var Speed_OriginalUpload = objects.data.speeds.originalUpload;
                    //log ('Speed_Download = ' + Speed_Download);
                    //log ('Speed_Upload = ' + Speed_Upload);
                    //log ('OriginalDownload = ' + Speed_OriginalDownload);
                    //log ('OriginalUpload = ' + Speed_OriginalUpload);
                    var Client_IP = objects.data.client.ip;
                    var Client_lat = objects.data.client.lat;
                    var Client_lon = objects.data.client.lon;
                    var Client_isp = objects.data.client.isp;
                    var Client_isprating = objects.data.client.isprating;
                    var Client_rating = objects.data.client.rating;
                    var Client_ispdlavg = objects.data.client.ispdlavg;
                    var Client_ispulavg = objects.data.client.ispulavg;
                    var Server_host = objects.data.server.host;
                    var Server_lat = objects.data.server.lat;
                    var Server_lon = objects.data.server.lon;
                    var Server_location = objects.data.server.location;
                    var Server_country = objects.data.server.country;
                    var Server_cc = objects.data.server.cc;
                    var Server_sponsor = objects.data.server.sponsor;
                    var Server_distance = objects.data.server.distance;
                    var Server_distanceMi = objects.data.server.distanceMi;
                    var Server_ping = objects.data.server.ping;
                    var Server_id = objects.data.server.id;
                    setState(instanz + pfad + "json", jsonStr);
                 
                    setState(instanz + pfad + "ping", parseFloat(ping));
                    //setState(instanz + pfad + "download", parseFloat(download));
                    //setState(instanz + pfad + "upload", parseFloat(upload));
                 
                    setState(instanz + pfad + "data.speeds.download", parseFloat(Speed_Download));
                    setState(instanz + pfad + "data.speeds.upload", parseFloat(Speed_Upload));
                    setState(instanz + pfad + "data.speeds.orginalDownload", parseFloat(Speed_OriginalDownload));
                    setState(instanz + pfad + "data.speeds.orginalUpload", parseFloat(Speed_OriginalUpload));
                    setState(instanz + pfad + "data.client.ip", Client_IP);
                    setState(instanz + pfad + "data.client.lat", parseFloat(Client_lat));
                    setState(instanz + pfad + "data.client.lon", parseFloat(Client_lon));
                    setState(instanz + pfad + "data.client.isp", Client_isp);
                    setState(instanz + pfad + "data.client.isprating", parseFloat(Client_isprating));
                    setState(instanz + pfad + "data.client.rating", parseFloat(Client_rating));
                    setState(instanz + pfad + "data.client.ispdlavg", parseFloat(Client_ispdlavg));
                    setState(instanz + pfad + "data.client.ispulavg", parseFloat(Client_ispulavg));
                    setState(instanz + pfad + "data.server.host", Server_host);
                    setState(instanz + pfad + "data.server.lat", parseFloat(Server_lat));
                    setState(instanz + pfad + "data.server.lon", parseFloat(Server_lon));
                    setState(instanz + pfad + "data.server.location", Server_location);
                    setState(instanz + pfad + "data.server.country", Server_country);
                    setState(instanz + pfad + "data.server.cc", Server_cc);
                    setState(instanz + pfad + "data.server.sponsor", Server_sponsor);
                    setState(instanz + pfad + "data.server.distance", parseFloat(Server_distance));
                    setState(instanz + pfad + "data.server.distanceMi", parseFloat(Server_distanceMi));
                    setState(instanz + pfad + "data.server.ping", parseFloat(Server_ping));
                    setState(instanz + pfad + "data.server.id", parseFloat(Server_id));
                    setState(instanz + pfad + 'forceRefresh', false);
                    log('Speedtest Daten aktualisiert');
                }
                 
                // regelmässige Wiederholungen
                schedule(cronStr, SpeedTest);
                 
                // einmaliger Start bei Skriptstart
                createStates();
                 
                setTimeout(SpeedTest, 1500);
                 
                // Start beim Setzen auf true
                on(instanz + pfad + 'forceRefresh', function(obj) {
                    if (!obj.state.ack && obj.state.val) SpeedTest();
                });
                
                Thomas BraunT Online
                Thomas BraunT Online
                Thomas Braun
                Most Active
                schrieb am zuletzt editiert von Thomas Braun
                #151

                @elektroniker86

                Ich kann an der Stelle als Alternative das Skript von @SKB empfehlen. Das läuft superrund bei mir.

                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

                NegaleinN SegwayS 2 Antworten Letzte Antwort
                0
                • Thomas BraunT Thomas Braun

                  @elektroniker86

                  Ich kann an der Stelle als Alternative das Skript von @SKB empfehlen. Das läuft superrund bei mir.

                  NegaleinN Offline
                  NegaleinN Offline
                  Negalein
                  Global Moderator
                  schrieb am zuletzt editiert von
                  #152

                  @thomas-braun sagte in Script für einen SpeedTest über speedtest.net:

                  das Skript von @SKB empfehlen

                  hast du da einen Link? Finde nichts.

                  ° Node.js: 20.17.0 NPM: 10.8.2
                  ° Proxmox, Ubuntu 22.04.3 LTS
                  ° Fixer ---> iob fix

                  Thomas BraunT 1 Antwort Letzte Antwort
                  0
                  • NegaleinN Negalein

                    @thomas-braun sagte in Script für einen SpeedTest über speedtest.net:

                    das Skript von @SKB empfehlen

                    hast du da einen Link? Finde nichts.

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

                    @negalein

                    https://forum.iobroker.net/topic/48700/speedtest-skript-von-kreyenborg-koeln-für-kabel-gigabit

                    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

                    NegaleinN 1 Antwort Letzte Antwort
                    0
                    • Thomas BraunT Thomas Braun

                      @negalein

                      https://forum.iobroker.net/topic/48700/speedtest-skript-von-kreyenborg-koeln-für-kabel-gigabit

                      NegaleinN Offline
                      NegaleinN Offline
                      Negalein
                      Global Moderator
                      schrieb am zuletzt editiert von
                      #154

                      @thomas-braun sagte in Script für einen SpeedTest über speedtest.net:

                      https://forum.iobroker.net/topic/48700/speedtest-skript-von-kreyenborg-koeln-für-kabel-gigabit

                      Ah, eh das von dir. :)

                      ° Node.js: 20.17.0 NPM: 10.8.2
                      ° Proxmox, Ubuntu 22.04.3 LTS
                      ° Fixer ---> iob fix

                      Thomas BraunT 1 Antwort Letzte Antwort
                      0
                      • SegwayS Segway

                        @elektroniker86

                        das scheint mir ein altes Skript zu sein für die neueste version von spendetest:

                         * Skript Name:        Speedtest
                         * Skript Version:    1.3
                         * Erstell-Datum:    29. November 2021
                        
                        Elektroniker86E Offline
                        Elektroniker86E Offline
                        Elektroniker86
                        schrieb am zuletzt editiert von
                        #155

                        @segway ist es möglich das alte zu aktualisieren, damit es wieder läuft?

                        1 Antwort Letzte Antwort
                        1
                        • NegaleinN Negalein

                          @thomas-braun sagte in Script für einen SpeedTest über speedtest.net:

                          https://forum.iobroker.net/topic/48700/speedtest-skript-von-kreyenborg-koeln-für-kabel-gigabit

                          Ah, eh das von dir. :)

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

                          @negalein

                          Neenee, das Skript ist von @SKB
                          Ich hab mir das nur ein wenig zurechtgebogen und die Paketinstallation dazu beschrieben.

                          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

                          Elektroniker86E 1 Antwort Letzte Antwort
                          2
                          • Thomas BraunT Thomas Braun

                            @elektroniker86

                            Ich kann an der Stelle als Alternative das Skript von @SKB empfehlen. Das läuft superrund bei mir.

                            SegwayS Offline
                            SegwayS Offline
                            Segway
                            schrieb am zuletzt editiert von
                            #157

                            @thomas-braun sagte in Script für einen SpeedTest über speedtest.net:

                            @elektroniker86

                            Ich kann an der Stelle als Alternative das Skript von @SKB empfehlen. Das läuft superrund bei mir.

                            Was ist daran anders (besser?) als das bisherige ?

                            Gruß Dirk
                            Intel Proxmox Cluster (3x NUC) mit Debian & Proxmox / IoB als VM unter Debian / 60+ Adapter installiert

                            Thomas BraunT NegaleinN SKBS 3 Antworten Letzte Antwort
                            0
                            • SegwayS Segway

                              @thomas-braun sagte in Script für einen SpeedTest über speedtest.net:

                              @elektroniker86

                              Ich kann an der Stelle als Alternative das Skript von @SKB empfehlen. Das läuft superrund bei mir.

                              Was ist daran anders (besser?) als das bisherige ?

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

                              @segway sagte in Script für einen SpeedTest über speedtest.net:

                              Was ist daran anders (besser?) als das bisherige ?

                              Das musst du du @SKB fragen.
                              Bei mir läuft es einfach. Im Gegensatz zu allen anderen Versuchen zuvor mit dem vofo-speedtest und dem 'hab-den-Namen-nicht-parat'-Adapter.

                              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
                              • SegwayS Segway

                                @thomas-braun sagte in Script für einen SpeedTest über speedtest.net:

                                @elektroniker86

                                Ich kann an der Stelle als Alternative das Skript von @SKB empfehlen. Das läuft superrund bei mir.

                                Was ist daran anders (besser?) als das bisherige ?

                                NegaleinN Offline
                                NegaleinN Offline
                                Negalein
                                Global Moderator
                                schrieb am zuletzt editiert von
                                #159

                                @segway sagte in Script für einen SpeedTest über speedtest.net:

                                Was ist daran anders (besser?) als das bisherige ?

                                sehr genau bei großen Tarifen.

                                ° Node.js: 20.17.0 NPM: 10.8.2
                                ° Proxmox, Ubuntu 22.04.3 LTS
                                ° Fixer ---> iob fix

                                SegwayS 1 Antwort Letzte Antwort
                                0
                                • NegaleinN Negalein

                                  @segway sagte in Script für einen SpeedTest über speedtest.net:

                                  Was ist daran anders (besser?) als das bisherige ?

                                  sehr genau bei großen Tarifen.

                                  SegwayS Offline
                                  SegwayS Offline
                                  Segway
                                  schrieb am zuletzt editiert von
                                  #160

                                  @negalein
                                  Jetzt bin ich verwirrt.
                                  Genau das hab ich doch oben referenziert !

                                  Gruß Dirk
                                  Intel Proxmox Cluster (3x NUC) mit Debian & Proxmox / IoB als VM unter Debian / 60+ Adapter installiert

                                  1 Antwort Letzte Antwort
                                  0
                                  • NegaleinN Offline
                                    NegaleinN Offline
                                    Negalein
                                    Global Moderator
                                    schrieb am zuletzt editiert von
                                    #161

                                    @segway sagte in Script für einen SpeedTest über speedtest.net:

                                    Jetzt bin ich verwirrt.
                                    Genau das hab ich doch oben referenziert !

                                    Ok, das hab ich nicht gesehn.
                                    Ich bezog mich auf deine Frage an @Thomas

                                    ° Node.js: 20.17.0 NPM: 10.8.2
                                    ° Proxmox, Ubuntu 22.04.3 LTS
                                    ° Fixer ---> iob fix

                                    SegwayS 1 Antwort Letzte Antwort
                                    0
                                    • NegaleinN Negalein

                                      @segway sagte in Script für einen SpeedTest über speedtest.net:

                                      Jetzt bin ich verwirrt.
                                      Genau das hab ich doch oben referenziert !

                                      Ok, das hab ich nicht gesehn.
                                      Ich bezog mich auf deine Frage an @Thomas

                                      SegwayS Offline
                                      SegwayS Offline
                                      Segway
                                      schrieb am zuletzt editiert von
                                      #162

                                      @negalein sagte in Script für einen SpeedTest über speedtest.net:

                                      Ok, das hab ich nicht gesehn.
                                      Ich bezog mich auf deine Frage an @Thomas

                                      Ja klar, aber @Thomas-Braun hat ja auch dasgleiche verlinkt wie ich auch.....komisch

                                      Gruß Dirk
                                      Intel Proxmox Cluster (3x NUC) mit Debian & Proxmox / IoB als VM unter Debian / 60+ Adapter installiert

                                      NegaleinN 1 Antwort Letzte Antwort
                                      0
                                      • SegwayS Segway

                                        @negalein sagte in Script für einen SpeedTest über speedtest.net:

                                        Ok, das hab ich nicht gesehn.
                                        Ich bezog mich auf deine Frage an @Thomas

                                        Ja klar, aber @Thomas-Braun hat ja auch dasgleiche verlinkt wie ich auch.....komisch

                                        NegaleinN Offline
                                        NegaleinN Offline
                                        Negalein
                                        Global Moderator
                                        schrieb am zuletzt editiert von
                                        #163

                                        @segway sagte in Script für einen SpeedTest über speedtest.net:

                                        dasgleiche verlinkt wie ich auch

                                        Ja, komisch.
                                        Ich finde keinen Link. Nur das.

                                        @segway sagte in Script für einen SpeedTest über speedtest.net:

                                        @elektroniker86

                                        das scheint mir ein altes Skript zu sein für die neueste version von spendetest:

                                         * Skript Name:        Speedtest
                                         * Skript Version:    1.3
                                         * Erstell-Datum:    29. November 2021
                                        

                                        ° Node.js: 20.17.0 NPM: 10.8.2
                                        ° Proxmox, Ubuntu 22.04.3 LTS
                                        ° Fixer ---> iob fix

                                        SegwayS 1 Antwort Letzte Antwort
                                        0
                                        • NegaleinN Negalein

                                          @segway sagte in Script für einen SpeedTest über speedtest.net:

                                          dasgleiche verlinkt wie ich auch

                                          Ja, komisch.
                                          Ich finde keinen Link. Nur das.

                                          @segway sagte in Script für einen SpeedTest über speedtest.net:

                                          @elektroniker86

                                          das scheint mir ein altes Skript zu sein für die neueste version von spendetest:

                                           * Skript Name:        Speedtest
                                           * Skript Version:    1.3
                                           * Erstell-Datum:    29. November 2021
                                          
                                          SegwayS Offline
                                          SegwayS Offline
                                          Segway
                                          schrieb am zuletzt editiert von Segway
                                          #164

                                          @negalein sagte in Script für einen SpeedTest über speedtest.net:

                                          @segway sagte in Script für einen SpeedTest über speedtest.net:

                                          dasgleiche verlinkt wie ich auch

                                          Ja, komisch.
                                          Ich finde keinen Link. Nur das.

                                          Hätte ich reinposten sollen --> HIER

                                          Gruß Dirk
                                          Intel Proxmox Cluster (3x NUC) mit Debian & Proxmox / IoB als VM unter Debian / 60+ Adapter installiert

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          511

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          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