Ankündigung

Einklappen
Keine Ankündigung bisher.

Loggen der Internetgeschwindigkeit

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Loggen der Internetgeschwindigkeit

    Hallo,

    hat von euch schon mal einer in Regelmäßigen Abständen ein Speedtest für die Internetleitung mit Openhab gemacht?
    Mir würde da so alle 2-3 Stunden vorschweben um einfach mal zu überwachen wie sich die Geschwindigkeit so über den Tag und den Monat hinweg ändert.
    Ich habe das Gefühl, dass das bei uns zu Hause stark schwankt.

    Das könnte man natürlich auch anders machen, aber Openhab bringt ja eigentlich schon alles dafür mit, inkl. Logging und Visualisierung.

    Hat das von euch schon mal jemand realisiert?

    #2
    Dies dürfte sich mit der speedtest-cli und dem openHAB exec-Binding relativ leicht bewerkstelligen lassen.

    Ruft man speedtest-cli dann noch mit dem --simple Parameter auf, so erhält man die übersichtliche Ausgabe:
    Code:
    Ping: x ms
    Download: y Mbit/s
    Upload: z Mbit/s
    Diese Ausgabe müsste man dann nur noch mit einem Regex parsen und in ein openHAB-Item abspeichern (jeweils ein Item für Ping, DL, UL, falls gewünscht).

    Mit einer entsprechenden Rule könnte man das ganze dann zeitgesteuert ausführen, und entsprechend die Werte in einer Persistence-DB abspeichern.

    Kommentar


      #3
      Cool das werde ich mal ausprobieren.

      Vielen Dank.

      Kommentar


        #4
        Hi,

        Zitat von qwasyx Beitrag anzeigen
        Dies dürfte sich mit der speedtest-cli und dem openHAB exec-Binding relativ leicht bewerkstelligen lassen.
        Super Tipp! Das Tool kannte ich noch gar nicht. Werde das bei Gelegenheit mit RRD-Persistance mal implementieren. Wenn's jemand vorher macht und die Lösung postet, hätte ich auch nichts dagegen....

        Gruß,
        thoern

        Kommentar


          #5
          Kurzes Update: Habe das speedtest-cli Skript mal so angepasst, dass man jetzt --upload_only und --download_only als Argument übergeben kann. Außerdem erhält man als Ausgabe nun lediglich den Zahlenwert, also ohne das Wort "Download"/"Upload" und "Mbit/s".

          Somit sollte es relativ trivial sein, in openHAB zwei Items anzulegen, und bei einem das exec-Binding mit der --upload_only und beim anderen mit --download_only aufzurufen. Der ganze Regex-Mist sollte somit entfallen.
          Die Ausgabe des Pings habe ich entfernt.

          Außerdem muss --simple immer mit angegeben werden.

          P.S.: Das lässt sich bestimmt sauberer lösen! Bin auch kein Profi, was Python angeht... ist quick&dirty, sollte aber letztendlich das Ziel erfüllen
          P.P.S.: Habe es selbst noch nicht getestet, daher ist Feedback gerne willkommen!
          Angehängte Dateien

          Kommentar


            #6
            Hallo,

            da ich eine Lösung implementiert habe und auch bereits per PN angefragt wurde, möchte ich sie hier kurz vorstellen, damit auch Andere was davon haben. Vorweg, das modifizierte Skript vom Thread oberhalb verwende ich nicht, sondern das Original, was ihr unter https://github.com/sivel/speedtest-cli downloaden könnt.

            1. Damit speedtest-cli mit Openhab verwendet werden kann, habe ich in Perl einen Wrapper (speed2openhab.pl) geschrieben, der speedtest-cli aufruft und die Daten an OpenHAB per REST-API übergibt. Das Script benötigt das Perl-Modul REST::Client, welches ihr euch mit dem cpan-Kommando
            Code:
            cpan> install REST::Client
            installieren könnt.

            Danach legt ihr die beiden Scripte speed2openhab.pl (Anhang) und speedtest-cli in ein Verzeichnis und setzt die Execute-Rechte. Bei mir lautet das Verzeichnis
            /usr/local/scripts/speedtest/bin

            In speed2openhab.pl bitte noch die folgenden beiden Variablen richtig setzen:

            Zeile 8: my $resturl='http://localhost:8080';
            Zeile 15 my $basepath = "/usr/local/scripts/speedtest";


            Die Ausgabe sollte bei Aufruf wie folgt aussehen (Skriplaufzeit ca. 30 Sek.) :

            Code:
            root@kepler:/usr/local/scripts/speedtest/bin# ./speed2openhab.pl
            Ping: 30.532 ms
            Download: 12.47 Mbits/s
            Upload: 2.10 Mbits/s
            Date: 02.08.2015 17:22
            SpeedPing updated to 30.532
            SpeedDate updated to 02.08.2015 17:22
            SpeedUpload updated to 2.10
            SpeedDownload updated to 12.47
            2. In openHAB folgesdes Items-File anlegen:

            Code:
            root@kepler:/opt/openhab/configurations/items# cat dsl-speedtest.items
            /* Achtung: Verwendete Gruppen muessen in group.items definiert sein */
            Number SpeedPing     "Ping (ms) [%.3f]"         <time_graph> (System)
            Number SpeedDownload "Download (MBit/s) [%.2f]" <time_graph> (System)
            Number SpeedUpload   "Upload (MBit/s) [%.2f]"   <time_graph> (System)
            String SpeedDate     "Messzeitpunkt [%s]"       <time_graph> (System)
            3. In OpenHAB folgendes Rules-File anlegen:

            Code:
            root@kepler:/opt/openhab/configurations/rules# cat dsl-speedtest.rules
            rule "Speedtestitems aktualisieren"
                    when
                            Time cron "0 0/5 * * * ?"
            
                    then
                            executeCommandLine('/usr/local/scripts/speedtest/bin/speed2openhab.pl > /dev/null 2>&1')
            end

            4. Wer möchte, kann die Daten persistieren:

            Code:
            Strategies {
                    // for rrd charts, we need a cron strategy
                    everyMinute : "0 * * * * ?"
            }
            
            Items {
                    SpeedPing, SpeedDownload, SpeedUpload : strategy = everyMinute
            }


            5. Im Sitemap folgende Einträge:

            Code:
                                    Group label="DSL Speedtest" icon="chart" {
                                            Text item=SpeedDate
                                            Text item=SpeedPing
                                            Text item=SpeedDownload
                                            Text item=SpeedUpload
                                            Group label="Tagescharts" icon="chart" {
                                                    Chart item=SpeedPing            period=D refresh=60000
                                                    Chart item=SpeedDownload        period=D refresh=60000
                                                    Chart item=SpeedUpload          period=D refresh=60000
                                            }
                                            Group label="Wochencharts" icon="chart" {
                                                    Chart item=SpeedPing            period=W refresh=60000
                                                    Chart item=SpeedDownload        period=W refresh=60000
                                                    Chart item=SpeedUpload          period=W refresh=60000
                                            }
            So, ich hoffe, ihr kommt damit zurecht.

            Gruß,
            thoern








            Angehängte Dateien
            Zuletzt geändert von thoern; 02.09.2015, 20:51.

            Kommentar


              #7
              You do not have permission to view this gallery.
              This gallery has 2 photos.

              Kommentar


                #8
                Absolut genial.
                Tausend dank. Heute Abend mal einfriemeln

                Kommentar


                  #9
                  Leider funktioniert der Download von speed2openhab.zip nicht

                  Kommentar


                    #10
                    Hi,

                    probier es bitte nochmal - liegt wohl am nicht ganz perfekten Layout dieser Seite...

                    gruß

                    Kommentar


                      #11
                      Zitat von thoern Beitrag anzeigen
                      Hi,

                      probier es bitte nochmal - liegt wohl am nicht ganz perfekten Layout dieser Seite...

                      gruß
                      Leider immer noch nicht :-(

                      Habe es mit Chrome, Safari, Edge und IE versucht
                      Zuletzt geändert von MettyS; 03.09.2015, 07:30.

                      Kommentar


                        #12
                        Hi,

                        also wenn ich im Forum angemeldet bin, kann ich es downloaden. Wenn ich nicht angemeldet bin, geht es auch nicht. Irgendwie Mist...
                        Moment..

                        Kommentar


                          #13
                          Keine Ahnung, warum der Download im Forum nicht funktioniert. Du kannst diesen Link hier verwenden (Rechte Maustaste, Ziel speichern unter oder so..):
                          http://www.hoerndlein.de/cms/images/...eed2openhab.pl

                          Kommentar


                            #14
                            tausend dank!
                            dann probiere ich das jetzt mal aus

                            Kommentar


                              #15
                              Hi Thoern,
                              coole Idee und super Sache. Ich musste zwar auf meinem Debian System noch ein paar libs nachinstallieren aber jetzt läuft das Skript zumindest.

                              Leider gibt er nur PING und Uhrzeit an die Items weiter. Für die beiden anderen bekomme ich eine "400"er Fehlermeldung.
                              Hast du eine Idee, was das sein könnte?

                              Meine Items heißen genau so wie deine.

                              Letzte Frage/Bitte. Kannst du uns das Icon auch noch zur Verfügung stellen?

                              Danke und Grüße
                              Mitch


                              Kommentar

                              Lädt...
                              X