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.
    • 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
                                      • SKB
                                        SKB Developer Most Active @Mephisto090 last edited by

                                        @mephisto090 Dazu kann ich leider nichts sagen - ich habe kein Docker im Einsatz.

                                        Ich denke, du musst via:

                                        type -p speedtest
                                        

                                        Schauen, wie der Pfad lautet. Diesen dann im Skript anpassen.

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

                                          @skb
                                          1a4ab78c-7305-496d-aee4-d9bb0f20d5ff-image.png
                                          70646e43-25d3-44c6-ab1d-dfd53cf66c41-image.png

                                          Das passt 😞

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

                                            @mephisto090 Und, wenn du das komplette Kommando via SSH eingibst, was passiert?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            976
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            33
                                            391
                                            52050
                                            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