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
    18
    1
    519

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

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

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

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
391 Beiträge 33 Kommentatoren 75.7k 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.
  • Thomas BraunT Thomas Braun

    @damrak2022

    Liegen unter javascript

    Damrak2022D Offline
    Damrak2022D Offline
    Damrak2022
    schrieb am zuletzt editiert von
    #294

    @thomas-braun Ah stimmt - jetzt wo Du es sagst

    Mit besten Grüßen
    Andy

    1 Antwort Letzte Antwort
    0
    • T Offline
      T Offline
      Tottbeck
      schrieb am zuletzt editiert von
      #295

      Moin, kann es sein das seit kurzem deutlich weniger favorisierte Server verfügbar sind ?
      Mein alter "fav_server" 30906 wird seit dem 31.05 8:00 Uhr nicht mehr gefunden und unter https://www.speedtest.net/speedtest-servers.php kommen fast nur welche aus Liechtenstein und der Schweiz.

      1 Antwort Letzte Antwort
      0
      • Thomas BraunT Thomas Braun

        Die beiden für ioBroker verfügbaren Adapter um Speedtests zu monitoren haben die Eigenschaft an meinem Gigabit-Anschluss über Kabel sehr unbeständige Werte abzuliefern. Ein Flot-Chart sieht dann aus wie ein Kamm, dem ein paar Zinken fehlen.
        Sehr viel beständigere und realistischere Werte liefert mir ein skript von https://www.kreyenborg.koeln/speedtest-fuer-iobroker/

        Ich dokumentiere hier mal, wie ich das etwas abweichend von Stephan Kreyenborgs Anleitung auf meinem System eingerichtet habe.

        Zunächst habe ich sowohl den webspeedy wie auch den vofo-speedtest-Adapter im ioBroker deinstalliert.
        Dann habe ich per

        sudo apt remove speedtest-cli speedtest
        

        den bisherigen Kommandozeilen-Speedtest deinstalliert.

        Dann per

        sudo apt install curl
        curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh | sudo bash
        sudo apt update
        sudo apt install speedtest
        

        das aktuelle Repo von ookla/speedtest.net eingespielt.

        [EXKURS]
        Falls das skript nicht durchläuft kann man 'zu Fuß' eine passende Datei unter /etc/apt/sources.list.d/ookla_speedtest-cli.list für Debian Bullseye mit folgendem Inhalt angelegen:

        # this file was generated by packagecloud.io for
        # the repository at https://packagecloud.io/ookla/speedtest-cli
        
        deb [signed-by=/etc/apt/trusted.gpg.d/ookla_speedtest-cli-archive-keyring.gpg] https://packagecloud.io/ookla/speedtest-cli/debian/ bullseye main
        deb-src [signed-by=/etc/apt/trusted.gpg.d/ookla_speedtest-cli-archive-keyring.gpg] https://packagecloud.io/ookla/speedtest-cli/debian/ bullseye main
        

        Dann noch den Schlüssel importieren:

        
        curl -fsSL https://packagecloud.io/ookla/speedtest-cli/gpgkey | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/ookla_speedtest-cli-archive-keyring.gpg
        

        Andere Distributionen wie z. B. ubuntu dann analog (DISTRIBUTION und RELEASE entsprechend ersetzen):

        # this file was generated by packagecloud.io for
        # the repository at https://packagecloud.io/ookla/speedtest-cli
        
        deb https://packagecloud.io/ookla/speedtest-cli/DISTRIBUTION/ RELEASE main
        deb-src https://packagecloud.io/ookla/speedtest-cli/DISTRIBUTION/ RELEASE main
        

        Ein

        sudo apt update
        sudo apt install speedtest
        

        spült die gewünschte Version dann in mein System.

        [EXKURS ENDE]

        Erster Test in der Kommandozeile liefert:

        echad@chet:/opt/iobroker $ speedtest
        
           Speedtest by Ookla
        
             Server: fiberONE - Darmstadt (id = 25942)
                ISP: Vodafone Germany Cable
            Latency:    11.86 ms   (1.27 ms jitter)
           Download:   930.24 Mbps (data used: 1.2 GB)
             Upload:    51.74 Mbps (data used: 25.9 MB)
        Packet Loss:     0.0%
         Result URL: https://www.speedtest.net/result/c/
        

        Prima, funktioniert.

        Dann das skript von kreyenborg.koeln in den javaskript-Adapter geladen und in Zeile 210 oder 217 die Zeile

        var kommando = "/etc/speedtest/speedtest -f json --accept-license --accept-gdpr";
        

        an den anderen Pfad angepasst:

        var kommando = "/usr/bin/speedtest -f json --accept-license --accept-gdpr";
        

        Danach lief das skript und ich kann per eCharts so ein Diagramm bewundern:

        2dcf1f3d-0e3e-47d7-b4a9-a9099b97b121-image.png

        Tip am Rande:
        Per
        https://c.speedtest.net/speedtest-servers-static.php
        sollte man eine ID (hier z. B. 12345) eines zuverlässigen Servers identifizieren und im skript in Zeile 32 fix eintragen.

        var fav_server = 12345;
        
        LoemicL Offline
        LoemicL Offline
        Loemic
        schrieb am zuletzt editiert von
        #296

        @thomas-braun

        Besteht die Möglichkeit, das Script bzw den Speedtest auch manuell anzustoßen? Aktuell läuft es stündlich. Ich könnte mir aber auch beispielsweise einen Button in der vis vorstellen, der den Speedtest außerhalb der Reihe manuell auslöst.

        Thomas BraunT 1 Antwort Letzte Antwort
        0
        • LoemicL Loemic

          @thomas-braun

          Besteht die Möglichkeit, das Script bzw den Speedtest auch manuell anzustoßen? Aktuell läuft es stündlich. Ich könnte mir aber auch beispielsweise einen Button in der vis vorstellen, der den Speedtest außerhalb der Reihe manuell auslöst.

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

          @loemic

          Klar.

          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

          LoemicL 1 Antwort Letzte Antwort
          0
          • Thomas BraunT Thomas Braun

            @loemic

            Klar.

            LoemicL Offline
            LoemicL Offline
            Loemic
            schrieb am zuletzt editiert von
            #298

            @thomas-braun

            Super!
            Verrätst du mir auch, wie das geht? ;)
            Einfach das Script beenden und neu starten? Oder gibt es eine andere Möglichkeit, die du mir vorschlagen könntest?

            Danke schonmal :blush:

            Thomas BraunT 1 Antwort Letzte Antwort
            0
            • LoemicL Loemic

              @thomas-braun

              Super!
              Verrätst du mir auch, wie das geht? ;)
              Einfach das Script beenden und neu starten? Oder gibt es eine andere Möglichkeit, die du mir vorschlagen könntest?

              Danke schonmal :blush:

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

              @loemic

              Ich betreibe keine vis. Keine Ahnung von Knöppen und wie man darüber ein skript auslöst.

              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

              LoemicL 1 Antwort Letzte Antwort
              0
              • Thomas BraunT Thomas Braun

                @loemic

                Ich betreibe keine vis. Keine Ahnung von Knöppen und wie man darüber ein skript auslöst.

                LoemicL Offline
                LoemicL Offline
                Loemic
                schrieb am zuletzt editiert von
                #300

                @thomas-braun

                Die Einbindung in die Vis kriege ich schon hin. Ich frage mich nur, wie es script-seitig laufen würde. Wenn ich den Speedtest beispielsweise in putty starte kriegt der iobroker bzw. das Script nix davon mit.

                Wäre eine Kopie des Scripts, die ich manuell (in der vis) starte und nach durchlaufen des Scripts wieder beende, eine Lösung?

                SKBS 1 Antwort Letzte Antwort
                0
                • LoemicL Loemic

                  @thomas-braun

                  Die Einbindung in die Vis kriege ich schon hin. Ich frage mich nur, wie es script-seitig laufen würde. Wenn ich den Speedtest beispielsweise in putty starte kriegt der iobroker bzw. das Script nix davon mit.

                  Wäre eine Kopie des Scripts, die ich manuell (in der vis) starte und nach durchlaufen des Scripts wieder beende, eine Lösung?

                  SKBS Offline
                  SKBS Offline
                  SKB
                  Developer Most Active
                  schrieb am zuletzt editiert von
                  #301

                  @loemic Du kannst auch einen Hilfsdatenpunkt erstellen und diesen mit "on" abonnieren, dann auf true/false prüfen und die Funktion des Skriptes aufrufen.

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

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

                  LoemicL 1 Antwort Letzte Antwort
                  0
                  • SKBS SKB

                    @loemic Du kannst auch einen Hilfsdatenpunkt erstellen und diesen mit "on" abonnieren, dann auf true/false prüfen und die Funktion des Skriptes aufrufen.

                    LoemicL Offline
                    LoemicL Offline
                    Loemic
                    schrieb am zuletzt editiert von
                    #302

                    @skb

                    Wie kann ich denn die Funktion des Scripts aufrufen? Kannst du mir ein Beispiel zeigen?

                    SKBS 1 Antwort Letzte Antwort
                    0
                    • LoemicL Loemic

                      @skb

                      Wie kann ich denn die Funktion des Scripts aufrufen? Kannst du mir ein Beispiel zeigen?

                      SKBS Offline
                      SKBS Offline
                      SKB
                      Developer Most Active
                      schrieb am zuletzt editiert von
                      #303

                      @loemic die Funktion heißt:

                      speedtest ();
                      

                      Mit:

                      on({ id: "Hilfsdatenpunkt", change: "any" }, function (obj) {
                      if (obj.val===true) {
                      speedtest ();
                      }
                      }
                      

                      Im gleichen Skript am Ende kannst Du dann Hilfsdatenpunkt abonnieren und darauf reagieren.

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

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

                      LoemicL 1 Antwort Letzte Antwort
                      0
                      • SKBS SKB

                        @loemic die Funktion heißt:

                        speedtest ();
                        

                        Mit:

                        on({ id: "Hilfsdatenpunkt", change: "any" }, function (obj) {
                        if (obj.val===true) {
                        speedtest ();
                        }
                        }
                        

                        Im gleichen Skript am Ende kannst Du dann Hilfsdatenpunkt abonnieren und darauf reagieren.

                        LoemicL Offline
                        LoemicL Offline
                        Loemic
                        schrieb am zuletzt editiert von
                        #304

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

                        Danke für deinen Lösungsvorschlag. Leider bekomme ich da einen Error. Das Ende des Scripts sieht jetzt wie folgt aus:

                        // Alle 60 Minuten einen Speedtest ausführen
                        schedule('*/60 * * * *', speedtest);
                        
                        // Script ausführen wenn Datenpunkt "Speedtest-Trigger" = true (Danke an @SKB im iobroker-Forum)
                        on({ id: "0_userdata.0.Speedtest.Speedtest-Trigger", change: "any" }, function (obj) {
                        if (obj.val===true) {
                        speedtest ();
                        }
                        }
                        

                        Ideen, wie das doch klappen könnte?

                        SKBS 1 Antwort Letzte Antwort
                        0
                        • LoemicL Loemic

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

                          Danke für deinen Lösungsvorschlag. Leider bekomme ich da einen Error. Das Ende des Scripts sieht jetzt wie folgt aus:

                          // Alle 60 Minuten einen Speedtest ausführen
                          schedule('*/60 * * * *', speedtest);
                          
                          // Script ausführen wenn Datenpunkt "Speedtest-Trigger" = true (Danke an @SKB im iobroker-Forum)
                          on({ id: "0_userdata.0.Speedtest.Speedtest-Trigger", change: "any" }, function (obj) {
                          if (obj.val===true) {
                          speedtest ();
                          }
                          }
                          

                          Ideen, wie das doch klappen könnte?

                          SKBS Offline
                          SKBS Offline
                          SKB
                          Developer Most Active
                          schrieb am zuletzt editiert von SKB
                          #305

                          @loemic Klar, am Ende fehlt noch:

                          );
                          

                          Etwas unkonzentriert beim Tippen am Handy ;)

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

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

                          LoemicL 1 Antwort Letzte Antwort
                          0
                          • SKBS SKB

                            @loemic Klar, am Ende fehlt noch:

                            );
                            

                            Etwas unkonzentriert beim Tippen am Handy ;)

                            LoemicL Offline
                            LoemicL Offline
                            Loemic
                            schrieb am zuletzt editiert von
                            #306

                            @skb
                            Leider geht es immer noch nicht. Script läuft zwar, aber die Änderung des Datenpunkts von False zu True bewirkt nichts...

                            SKBS 1 Antwort Letzte Antwort
                            0
                            • LoemicL Loemic

                              @skb
                              Leider geht es immer noch nicht. Script läuft zwar, aber die Änderung des Datenpunkts von False zu True bewirkt nichts...

                              SKBS Offline
                              SKBS Offline
                              SKB
                              Developer Most Active
                              schrieb am zuletzt editiert von
                              #307

                              @loemic Hast Du denn einen boolean Datenpunkt erstellt?

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

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

                              LoemicL 1 Antwort Letzte Antwort
                              0
                              • SKBS SKB

                                @loemic Hast Du denn einen boolean Datenpunkt erstellt?

                                LoemicL Offline
                                LoemicL Offline
                                Loemic
                                schrieb am zuletzt editiert von
                                #308

                                @skb

                                Ja. Der 0_userdata.0.Speedtest.Speedtest-Trigger ist ein boolean-dp

                                DJMarc75D SKBS 2 Antworten Letzte Antwort
                                0
                                • LoemicL Loemic

                                  @skb

                                  Ja. Der 0_userdata.0.Speedtest.Speedtest-Trigger ist ein boolean-dp

                                  DJMarc75D Offline
                                  DJMarc75D Offline
                                  DJMarc75
                                  schrieb am zuletzt editiert von
                                  #309

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

                                  Ja. Der 0_userdata.0.Speedtest.Speedtest-Trigger ist ein boolean-dp

                                  Na dann zeig mal die Objektdaten bitte, damit wir das auch bestätigen können ;)

                                  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

                                  1 Antwort Letzte Antwort
                                  0
                                  • LoemicL Loemic

                                    @skb

                                    Ja. Der 0_userdata.0.Speedtest.Speedtest-Trigger ist ein boolean-dp

                                    SKBS Offline
                                    SKBS Offline
                                    SKB
                                    Developer Most Active
                                    schrieb am zuletzt editiert von
                                    #310

                                    @loemic Ah, sorry, Fehler gefunden.

                                    on({ id: "javascript.0.Speedtest.trigger", change: "any" }, function (obj) {
                                    if (obj.state.val===true) { /* state fehlte */
                                    speedtest ();
                                    }
                                    });
                                    

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

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

                                    LoemicL 1 Antwort Letzte Antwort
                                    0
                                    • SKBS SKB

                                      @loemic Ah, sorry, Fehler gefunden.

                                      on({ id: "javascript.0.Speedtest.trigger", change: "any" }, function (obj) {
                                      if (obj.state.val===true) { /* state fehlte */
                                      speedtest ();
                                      }
                                      });
                                      
                                      LoemicL Offline
                                      LoemicL Offline
                                      Loemic
                                      schrieb am zuletzt editiert von
                                      #311

                                      @skb @DJMarc75

                                      es funktioniert jetzt, vielen vielen Dank :)

                                      Der DP war korrekt, es fehlte tatsächlich das "state", wie von @SKB gesagt.
                                      Ich habe noch eine Zeile für einen Log-Eintrag hinzugefügt.
                                      Hier der Code-Schnipsel, falls das jemand "nachbauen" möchte, der bei mir funktioniert:

                                      // Script ausführen wenn Datenpunkt "Speedtest-Trigger" = true (Danke an @SKB im iobroker-Forum)
                                      on({ id: "boolean-Datenpunkt", change: "any" }, function (obj) {
                                      if (obj.state.val===true) {
                                      speedtest ();
                                      log("Speedtest: Trigger löst Speedtest aus!");
                                      }
                                      }
                                      );
                                      
                                      SKBS 1 Antwort Letzte Antwort
                                      0
                                      • LoemicL Loemic

                                        @skb @DJMarc75

                                        es funktioniert jetzt, vielen vielen Dank :)

                                        Der DP war korrekt, es fehlte tatsächlich das "state", wie von @SKB gesagt.
                                        Ich habe noch eine Zeile für einen Log-Eintrag hinzugefügt.
                                        Hier der Code-Schnipsel, falls das jemand "nachbauen" möchte, der bei mir funktioniert:

                                        // Script ausführen wenn Datenpunkt "Speedtest-Trigger" = true (Danke an @SKB im iobroker-Forum)
                                        on({ id: "boolean-Datenpunkt", change: "any" }, function (obj) {
                                        if (obj.state.val===true) {
                                        speedtest ();
                                        log("Speedtest: Trigger löst Speedtest aus!");
                                        }
                                        }
                                        );
                                        
                                        SKBS Offline
                                        SKBS Offline
                                        SKB
                                        Developer Most Active
                                        schrieb am zuletzt editiert von
                                        #312

                                        @loemic ich weiss :)

                                        Ist ja mein Speedtest-Skript :D

                                        ... 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
                                        • manuxiM Offline
                                          manuxiM Offline
                                          manuxi
                                          schrieb am zuletzt editiert von
                                          #313

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

                                          curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh | sudo bash

                                          Für buanet-Docker-Container funktioniert sudo nicht, daher habe ich folgendes gemacht:

                                          cd~
                                          wget https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh
                                          chmod 744 script.deb.sh
                                          ./script.deb.sh
                                          

                                          Danach kann der Speedtest installiert werden mit

                                          apt install speedtest
                                          
                                          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

                                          879

                                          Online

                                          32.5k

                                          Benutzer

                                          81.6k

                                          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