Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Speedtest-Skript von kreyenborg.koeln für Kabel-Gigabit

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

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

    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      Tottbeck last edited by

      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 Reply Last reply Reply Quote 0
      • Loemic
        Loemic @Thomas Braun last edited by

        @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 Braun 1 Reply Last reply Reply Quote 0
        • Thomas Braun
          Thomas Braun Most Active @Loemic last edited by

          @loemic

          Klar.

          Loemic 1 Reply Last reply Reply Quote 0
          • Loemic
            Loemic @Thomas Braun last edited by

            @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 😊

            Thomas Braun 1 Reply Last reply Reply Quote 0
            • Thomas Braun
              Thomas Braun Most Active @Loemic last edited by

              @loemic

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

              Loemic 1 Reply Last reply Reply Quote 0
              • Loemic
                Loemic @Thomas Braun last edited by

                @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?

                SKB 1 Reply Last reply Reply Quote 0
                • SKB
                  SKB Developer Most Active @Loemic last edited by

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

                  Loemic 1 Reply Last reply Reply Quote 0
                  • Loemic
                    Loemic @SKB last edited by

                    @skb

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

                    SKB 1 Reply Last reply Reply Quote 0
                    • SKB
                      SKB Developer Most Active @Loemic last edited by

                      @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.

                      Loemic 1 Reply Last reply Reply Quote 0
                      • Loemic
                        Loemic @SKB last edited by

                        @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?

                        SKB 1 Reply Last reply Reply Quote 0
                        • SKB
                          SKB Developer Most Active @Loemic last edited by SKB

                          @loemic Klar, am Ende fehlt noch:

                          );
                          

                          Etwas unkonzentriert beim Tippen am Handy 😉

                          Loemic 1 Reply Last reply Reply Quote 0
                          • Loemic
                            Loemic @SKB last edited by

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

                            SKB 1 Reply Last reply Reply Quote 0
                            • SKB
                              SKB Developer Most Active @Loemic last edited by

                              @loemic Hast Du denn einen boolean Datenpunkt erstellt?

                              Loemic 1 Reply Last reply Reply Quote 0
                              • Loemic
                                Loemic @SKB last edited by

                                @skb

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

                                DJMarc75 SKB 2 Replies Last reply Reply Quote 0
                                • DJMarc75
                                  DJMarc75 @Loemic last edited by

                                  @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 😉

                                  1 Reply Last reply Reply Quote 0
                                  • SKB
                                    SKB Developer Most Active @Loemic last edited by

                                    @loemic Ah, sorry, Fehler gefunden.

                                    on({ id: "javascript.0.Speedtest.trigger", change: "any" }, function (obj) {
                                    if (obj.state.val===true) { /* state fehlte */
                                    speedtest ();
                                    }
                                    });
                                    
                                    Loemic 1 Reply Last reply Reply Quote 0
                                    • Loemic
                                      Loemic @SKB last edited by

                                      @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!");
                                      }
                                      }
                                      );
                                      
                                      SKB 1 Reply Last reply Reply Quote 0
                                      • SKB
                                        SKB Developer Most Active @Loemic last edited by

                                        @loemic ich weiss 🙂

                                        Ist ja mein Speedtest-Skript 😄

                                        1 Reply Last reply Reply Quote 0
                                        • manuxi
                                          manuxi last edited by

                                          @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 Reply Last reply Reply Quote 0
                                          • M
                                            Mephisto090 last edited by Mephisto090

                                            Hallo,

                                            was mache ich falsch? In der Console funktioniert der Speedtest ohne Probleme. Das js Skript gibt mir Fehler aus. Ich nutze Docker von Bauanet. Mich wundert der Post von manuxi wo er beschreibt, dass buanet mit sudo nicht funktioniert. Bei mir ist es ja anscheinend mit sudo installiert.

                                            (Das Skript ist unbearbeitet)

                                            script.js.common.Speedtest:182:18:

                                            // Schreibe Werte des JSON String in ein Array
                                            function generiere_array(json_array) {
                                                var j = JSON.parse(json_array);
                                                var array_werte = [json_array,
                                                    j.ping.latency,
                                                    j.ping.jitter,
                                                    parseFloat((j.download.bandwidth / 125000).toFixed(2)),
                                                    parseFloat((j.upload.bandwidth / 125000).toFixed(2)),
                                                    parseFloat((j.download.bandwidth / (1024 * 1024)).toFixed(2)),
                                                    parseFloat((j.upload.bandwidth / (1024 * 1024)).toFixed(2)),
                                                    j.download.bandwidth,
                                                    j.upload.bandwidth,
                                                    j.isp,
                                                    j.interface.externalIp,
                                                    j.result.url,
                                                    j.result.id,
                                                    j.server.id,
                                                    j.server.ip,
                                                    j.server.name,
                                                    j.server.location,
                                                    j.server.country,
                                                    j.server.host,
                                                    parseFloat((j.download.bytes / (1024 * 1024)).toFixed(2)),
                                                    parseFloat((j.upload.bytes / (1024 * 1024)).toFixed(2)),
                                                    j.download.bytes,
                                                    j.upload.bytes,
                                                    parseFloat((j.download.elapsed / 1000).toFixed(2)),
                                                    parseFloat((j.upload.elapsed / 1000).toFixed(2)),
                                                    hole_datum()
                                                ];
                                                return array_werte;
                                            }
                                            

                                            3746126a-ba84-4d0a-a2e6-f3b5ac7d4740-image.png

                                            b8ccbfb1-4ada-4e98-a920-eba3721fd41f-image.png

                                            70589f2c-f724-4b10-abdb-17d057660209-image.png

                                            SKB 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            974
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            33
                                            391
                                            52106
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo