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 @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
                                    • M
                                      Mephisto090 @SKB last edited by

                                      @skb b210318d-3213-44fd-b762-3ebaad090bd4-image.png

                                      das hier

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

                                        @mephisto090 Dann teste mal statt -f json --json

                                        Musst dann ggf. das Kommando anpassen.

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

                                          @skb laut ssh geht das irgendwie auch nicht

                                          6f845c6f-a56a-46cb-8f9e-fff58d376ea9-image.png

                                          SKB DJMarc75 2 Replies Last reply Reply Quote 0
                                          • SKB
                                            SKB Developer Most Active @Mephisto090 last edited by

                                            @mephisto090 Und nur mit --json ?

                                            M 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            551
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

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