Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. Internet-Traffic anzeigen lassen

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    Internet-Traffic anzeigen lassen

    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      aleks-83 @hg6806 last edited by aleks-83

      @hg6806 sagte in Internet-Traffic anzeigen lassen:

      @aleks-83 Kannst du mal die Einstellungen von Flot posten? Irgendwie bekomme ich das nicht so schön hin.

      Sorry, habs voll übersehen.

      Vielleicht hilft es dir ja noch!?

      Hier mein FLOT:

      http://10.0.0.12:8083/flot/index.html?range=30&zoom=true&axeX=lines&axeY=inside&hoverDetail=true&aggregate=onchange&chartType=step&live=10&instance=history.0&l%5B0%5D%5Bid%5D=javascript.0.FritzBoxTraffic.ByteReceiveRateMBit&l%5B0%5D%5Boffset%5D=0&l%5B0%5D%5Baggregate%5D=minmax&l%5B0%5D%5Bcolor%5D=%2327a818&l%5B0%5D%5Bthickness%5D=3&l%5B0%5D%5Bshadowsize%5D=3&l%5B0%5D%5Bsmoothing%5D=1&l%5B0%5D%5BafterComma%5D=0&l%5B0%5D%5BignoreNull%5D=true&l%5B0%5D%5BchartType%5D=line&l%5B0%5D%5BcommonYAxis%5D=1&l%5B0%5D%5Bdashes%5D=false&l%5B0%5D%5BdashLength%5D=10&l%5B0%5D%5BspaceLength%5D=10&l%5B0%5D%5Bname%5D=Download&l%5B0%5D%5Bmin%5D=0&l%5B0%5D%5Bxaxe%5D=bottom&l%5B0%5D%5Bunit%5D=MBit%2Fs&l%5B0%5D%5Bfill%5D=1&l%5B0%5D%5Bmax%5D=55&l%5B0%5D%5Bpoints%5D=false&l%5B0%5D%5Byaxe%5D=right&l%5B1%5D%5Bid%5D=javascript.0.FritzBoxTraffic.ByteSendRateMB&l%5B1%5D%5Boffset%5D=0&l%5B1%5D%5Baggregate%5D=minmax&l%5B1%5D%5Bcolor%5D=%230004ff&l%5B1%5D%5Bmin%5D=0&l%5B1%5D%5Bmax%5D=6.875&l%5B1%5D%5Bthickness%5D=3&l%5B1%5D%5Bshadowsize%5D=3&l%5B1%5D%5Bunit%5D=MB%2Fs&l%5B1%5D%5Bname%5D=Upload&l%5B1%5D%5Byaxe%5D=off&l%5B1%5D%5Bxaxe%5D=off&l%5B1%5D%5Bfill%5D=0&l%5B1%5D%5BafterComma%5D=0&l%5B1%5D%5Bdashes%5D=false&l%5B1%5D%5BdashLength%5D=10&l%5B1%5D%5BspaceLength%5D=10&aggregateType=count&aggregateSpan=1800&relativeEnd=now&timeType=relative&noBorder=noborder&timeFormat=%25H%3A%25M+%25d.%25m&useComma=true&noedit=true&animation=500&bg=2&x_labels_color=%23000000&barLabels=topunder&barFontColor=%23ffffff&titleColor=%23ffffff&barColor=%23&y_labels_color=%23000000&titleSize=12&legBgOpacity=1&grid_color=%23969696&legColumns=1&legBg=%23ffffff&window_bg=%23545454&title=Spritpreise&titlePos=top%3A35%3Bleft%3A65&legend=nw
      

      Das allein wird dir aber nicht reichen.
      Hier werden quasi die History EInträge zweier von mir angelegter Datenpunkte im FLOT dargestellt.

      javascript.0.FritzBoxTraffic.ByteReceiveRateMBit
      javascript.0.FritzBoxTraffic.ByteReceiveRateMB
      

      Diese generieren sich wie folgt:

      schedule("*/5 * * * * *", function () {
        setState("upnp.0.WANDevice_-_FRITZ!Box_7490.WANDevice.WANCommonInterfaceConfig.GetAddonInfos.request"/*Initiate poll*/, true);
      });
      
      on({id: "upnp.0.WANDevice_-_FRITZ!Box_7490.WANDevice.WANCommonInterfaceConfig.GetAddonInfos.NewByteReceiveRate"/*NewByteReceiveRate*/, change: "ne"}, function (obj) {
        var value = obj.state.val;
        var oldValue = obj.oldState.val;
        setState("javascript.0.FritzBoxTraffic.ByteReceiveRateMBit"/*ByteReceiveRateMBit*/, (Math.round(getState("upnp.0.WANDevice_-_FRITZ!Box_7490.WANDevice.WANCommonInterfaceConfig.GetAddonInfos.NewByteReceiveRate").val / 131072)));
        setState("javascript.0.FritzBoxTraffic.ByteReceiveRateMB"/*ByteReceiveRateMB*/, (Math.round((getState("upnp.0.WANDevice_-_FRITZ!Box_7490.WANDevice.WANCommonInterfaceConfig.GetAddonInfos.NewByteReceiveRate").val / 131072) * 8)));
      });
      
      on({id: "upnp.0.WANDevice_-_FRITZ!Box_7490.WANDevice.WANCommonInterfaceConfig.GetAddonInfos.NewByteSendRate"/*NewByteSendRate*/, change: "ne"}, function (obj) {
        var value = obj.state.val;
        var oldValue = obj.oldState.val;
        setState("javascript.0.FritzBoxTraffic.ByteSendRateMBit"/*ByteSendRateMBit*/, (Math.round(getState("upnp.0.WANDevice_-_FRITZ!Box_7490.WANDevice.WANCommonInterfaceConfig.GetAddonInfos.NewByteSendRate").val / 131072)));
        setState("javascript.0.FritzBoxTraffic.ByteSendRateMB"/*ByteSendRateMB*/, (Math.round(getState("upnp.0.WANDevice_-_FRITZ!Box_7490.WANDevice.WANCommonInterfaceConfig.GetAddonInfos.NewByteSendRate").val / (131072 * 8))));
      });
      
      

      Das funktioniert bei mir auch sehr genau und zufriedenstellend.

      1 Reply Last reply Reply Quote 1
      • A
        aleks-83 @dernoeler last edited by aleks-83

        @dernoeler sagte in Internet-Traffic anzeigen lassen:

        In der Fritzbox selber (7490) gibt es noch die Anzeige des DAtenverbrauch von heute, gestern, diese Woche, diesen Monat, letzter Monat.

        Nur, genau diese finde ich per UPNP nicht. Es gibt zwar die Total Bytes, aber die passen in keiner Weise zur Datenanzeige in der Fritzbox. Weder für heute, noch gestern, noch diese Woche usw.

        Auf was bezieht sich (Zeitraum) upnp.0.FRITZ!Box_7490.WANDevice.WANCommonInterfaceConfig.GetAddonInfos.NewTotalBytesReceived und upnp.0.FRITZ!Box_7490.WANDevice.WANCommonInterfaceConfig.GetAddonInfos.NewX_AVM_DE_TotalBytesReceived64 sowie upnp.0.FRITZ!Box_7490.WANDevice.WANCommonInterfaceConfig.TotalBytesReceived

        Alle Werte werden auch im Broker aktualisiert, aber irgendwie total andere Werte.

        Hier habe ich auch noch meine Probleme.
        Die Datenpunkte für TotalBytesReceived springen offenbar willkürlich zurück.
        Aber nicht auf Null sondern auf irgend einen krummen Wert.
        Ich habe es bisher mit diesem Skript versucht.
        Das funktioniert so natürlich nur bedingt.

        FritzTraffic.png

        Ich habe jetzt mal den History Adapter für den Eintrag NewTotalBytesReceived aktiviert.
        Mal sehen wie oft und wohin er zurück springt...

        S 1 Reply Last reply Reply Quote 0
        • S
          sveni_lee @aleks-83 last edited by

          @aleks-83

          mir ist aufgefallen, das der Wert von NewByteReceiveRate und NewByteSendRate recht große Sprünge macht innerhalb der 5 sec.
          Würde es nicht genauer werden, wenn man den TotalBytesReceived and TotalBytesSend nimmt und mit einem script bei jeder Änderung, also alle 5 sec, den alten Wert vom neuen Wert abzieht? Die Differenz wäre die durchschnittliche Rate er letzten 5 sec.

          1 Reply Last reply Reply Quote 0
          • A
            aleks-83 last edited by aleks-83

            Oh, da sagst du was.

            Ich habe beim Umbau des Skriptes auf den neuen UPnP Adapter wohl den falschen Werte genommen.
            Natürlich sollte das nicht NewTotalBytes sein sondern TotalBytes.

            S 1 Reply Last reply Reply Quote 0
            • S
              sveni_lee @aleks-83 last edited by

              @aleks-83

              mann müsste auch berücksichtigen, das wenn der "alte Wert" = 0 ist nicht berechnet wird sonder der aktuelle wert genommen wird.

              1 Reply Last reply Reply Quote 0
              • A
                aleks-83 last edited by

                Das ergibt sich doch aus der Rechnung:
                "BytesReceived" minus "BytesReceivedBisHeute"

                S 1 Reply Last reply Reply Quote 0
                • S
                  sveni_lee @aleks-83 last edited by

                  @aleks-83

                  was passiert aber wenn Du die Fritzbox resetest oder neu startest? werden dann nicht die werte auf Null gesetzt?

                  1 Reply Last reply Reply Quote 0
                  • A
                    aleks-83 last edited by aleks-83

                    Das weiß ich nicht.
                    Ich habe aber gerade herausgefunden dass die BytesReceived bei einem Wert von ca. 4.250.000.000 wieder zurück auf 0 springt.

                    Man müsste also in der Rechnung "BytesReceived" minus "BytesReceivedBisHeute" berücksichten dass BytesReceived kleiner sein kann als BytesReceivedBisHeute.

                    Das würde erklären warum meine Anzeige nie mehr als ca. 4GB angezeigt hat.

                    Um ca. 12:50 habe ich einen DOwnload von 10GB Testfile gestartet.
                    2019-03-06 13_08_13-vis.png

                    So teste ich das Skript jetzt erneut:
                    Traffic-Skript.png

                    S O 2 Replies Last reply Reply Quote 1
                    • S
                      sveni_lee @aleks-83 last edited by

                      @aleks-83

                      schau Dir mal die Werte X_AVM_DE_TotalBytesReceived64 und X_AVM_DE_TotalBytesSend64 an, die scheinen nicht auf null zu fallen...

                      1 Reply Last reply Reply Quote 1
                      • A
                        aleks-83 last edited by aleks-83

                        Naja früher oder später ist auch hier sicher eine Grenze erreicht.
                        Aktuell steht der Wert bei mir bei 24.222.057.973, also 24GB.
                        Ist das vielleicht ein 24h Wert?
                        Ich schreibe mal ne History für X_AVM_DE_TotalBytesReceived64 mit.

                        Mit meinem neuen Skript scheint es zu laufen.
                        Wenn ich alles nulle, dann eine 10GB Datei runterlade, zeigt mein Datenpunkt auch 10GB an.

                        S 1 Reply Last reply Reply Quote 0
                        • S
                          sveni_lee @aleks-83 last edited by

                          @aleks-83

                          kannst Du mal einen export von deinem script machen?

                          A 1 Reply Last reply Reply Quote 0
                          • A
                            aleks-83 @sveni_lee last edited by aleks-83

                            @sveni_lee sagte in Internet-Traffic anzeigen lassen:

                            @aleks-83

                            kannst Du mal einen export von deinem script machen?

                            var BytesChanged;
                            
                            
                            on({id: "upnp.0.WANDevice_-_FRITZ!Box_7490.WANDevice.WANCommonInterfaceConfig.TotalBytesReceived"/*TotalBytesReceived*/, change: "ne"}, function (obj) {
                              var value = obj.state.val;
                              var oldValue = obj.oldState.val;
                              if ((new Date().getDay() === 0 ? 7 : new Date().getDay()) != parseFloat(getState("javascript.0.FritzBoxTraffic.AktuellerTag").val)) {
                                // Wenn der Tag gewechselt hat
                                setState("javascript.0.FritzBoxTraffic.TrafficGestern"/*TrafficGestern*/, getState("javascript.0.FritzBoxTraffic.TrafficHeute").val);
                                setState("javascript.0.FritzBoxTraffic.TrafficAktuellerMonat"/*TrafficAktuellerMonat*/, (getState("javascript.0.FritzBoxTraffic.TrafficAktuellerMonat").val + getState("javascript.0.FritzBoxTraffic.TrafficGestern").val));
                                setState("javascript.0.FritzBoxTraffic.AktuellerTag"/*AktuellerTag*/, (new Date().getDay() === 0 ? 7 : new Date().getDay()));
                                setState("javascript.0.FritzBoxTraffic.TrafficHeute"/*TrafficHeute*/, 0);
                                setState("javascript.0.FritzBoxTraffic.BytesReceivedBisHeute"/*BytesReceivedBisHeute*/, parseFloat(getState("upnp.0.WANDevice_-_FRITZ!Box_7490.WANDevice.WANCommonInterfaceConfig.TotalBytesReceived").val));
                                console.warn('### Traffic aktueller Tag zurückgesetzt');
                                if ((new Date().getMonth() + 1) != parseFloat(getState("javascript.0.FritzBoxTraffic.AktuellerMonat").val)) {
                                  // Wenn auch der Monat gewechselt hat
                                  setState("javascript.0.FritzBoxTraffic.TrafficMonat-2"/*TrafficMonat-2*/, getState("javascript.0.FritzBoxTraffic.TrafficMonat-1").val);
                                  setState("javascript.0.FritzBoxTraffic.TrafficMonat-1"/*TrafficMonat-1*/, getState("javascript.0.FritzBoxTraffic.TrafficAktuellerMonat").val);
                                  setState("javascript.0.FritzBoxTraffic.TrafficAktuellerMonat"/*TrafficAktuellerMonat*/, 0);
                                  setState("javascript.0.FritzBoxTraffic.AktuellerMonat"/*AktuellerMonat*/, (new Date().getMonth() + 1));
                                  console.warn('### Traffic aktueller Monat zurückgesetzt');
                                }
                              } else {
                                if (parseFloat(getState("upnp.0.WANDevice_-_FRITZ!Box_7490.WANDevice.WANCommonInterfaceConfig.TotalBytesReceived").val) < parseFloat(getState("javascript.0.FritzBoxTraffic.BytesReceivedBisHeute").val)) {
                                  setState("javascript.0.FritzBoxTraffic.nBytesChanged"/*nBytesChanged*/, 0);
                                  BytesChanged = 0;
                                } else {
                                  setState("javascript.0.FritzBoxTraffic.nBytesChanged"/*nBytesChanged*/, (parseFloat(getState("upnp.0.WANDevice_-_FRITZ!Box_7490.WANDevice.WANCommonInterfaceConfig.TotalBytesReceived").val) - parseFloat(getState("javascript.0.FritzBoxTraffic.BytesReceivedBisHeute").val)));
                                  BytesChanged = parseFloat(getState("upnp.0.WANDevice_-_FRITZ!Box_7490.WANDevice.WANCommonInterfaceConfig.TotalBytesReceived").val) - parseFloat(getState("javascript.0.FritzBoxTraffic.BytesReceivedBisHeute").val);
                                  if (BytesChanged > 250 * 1000000) {
                                    // Wenn die Differenz größer ist als 250 Mio.
                                    // = 250 MB in einem Abfrage Intervall (3s)
                                    // Angepasst auf 600 MBit Leitung
                                    // Setze Werte gleich
                                    // Bei Reconnect kann das passieren
                                    setState("javascript.0.FritzBoxTraffic.BytesReceivedBisHeute"/*BytesReceivedBisHeute*/, parseFloat(getState("upnp.0.WANDevice_-_FRITZ!Box_7490.WANDevice.WANCommonInterfaceConfig.TotalBytesReceived").val));
                                    BytesChanged = 0;
                                  }
                                }
                                setState("javascript.0.FritzBoxTraffic.TrafficHeute"/*TrafficHeute*/, (Math.round((getState("javascript.0.FritzBoxTraffic.TrafficHeute").val + getState("javascript.0.FritzBoxTraffic.nBytesChanged").val / 1000000000) * 10000) / 10000));
                                setState("javascript.0.FritzBoxTraffic.BytesReceivedBisHeute"/*BytesReceivedBisHeute*/, parseFloat(getState("upnp.0.WANDevice_-_FRITZ!Box_7490.WANDevice.WANCommonInterfaceConfig.TotalBytesReceived").val));
                                BytesChanged = 0;
                              }
                            });
                            

                            Bitteschön.

                            Ich habe noch etwas hinzugefügt was ich noch testen muss.

                            setState("javascript.0.FritzBoxTraffic.nBytesChanged"/*nBytesChanged*/, (parseFloat(getState("upnp.0.WANDevice_-_FRITZ!Box_7490.WANDevice.WANCommonInterfaceConfig.TotalBytesReceived").val) - parseFloat(getState("javascript.0.FritzBoxTraffic.BytesReceivedBisHeute").val)));
                                        BytesChanged = parseFloat(getState("upnp.0.WANDevice_-_FRITZ!Box_7490.WANDevice.WANCommonInterfaceConfig.TotalBytesReceived").val) - parseFloat(getState("javascript.0.FritzBoxTraffic.BytesReceivedBisHeute").val);
                                        if (BytesChanged > 250 * 1000000) {
                                          // Wenn die Differenz größer ist als 250 Mio.
                                          // = 250 MB in einem Abfrage Intervall (3s)
                                          // Angepasst auf 600 MBit Leitung
                                          // Setze Werte gleich
                                          // Bei Reconnect kann das passieren
                                          setState("javascript.0.FritzBoxTraffic.BytesReceivedBisHeute"/*BytesReceivedBisHeute*/, parseFloat(getState("upnp.0.WANDevice_-_FRITZ!Box_7490.WANDevice.WANCommonInterfaceConfig.TotalBytesReceived").val));
                                          BytesChanged = 0;
                            

                            .
                            Heute Nacht ist (vermutlich beim Reconnect) etwas komisches passiert:
                            Der Wert "X_AVM_DE_TotalBytesReceived64" ist schlagartig von 31.904.061.774 auf 24.767.093.101 gefallen. (-7.136.968.673)
                            Gleichzeitig ist der Wert "TotalBytesReceived" von 1.839.290.702 auf 2.842.001.377 gestiegen. (+1.002.710.675)

                            S 1 Reply Last reply Reply Quote 0
                            • S
                              sveni_lee @aleks-83 last edited by

                              @aleks-83

                              Danke dafür. Schaue ich mir heute Abend mal in ruhe an.

                              1 Reply Last reply Reply Quote 0
                              • A
                                aleks-83 last edited by aleks-83

                                Heute Nacht um 2:20 haben sich die Werte anders verhalten als gestern.

                                Ich würde gerne mein Skript pausieren wenn ein Reconnect stattfindet. Bei mir immer gegen 2:20 Uhr.

                                Natürlich könnte ich mein Skript zwischen 2:19 und 2:21 Uhr pausieren, aber wenn ich tagsüber mal einen Reconnect habe, bekommt mein Skript das ja nicht mit.

                                Mit welchem Datenpunkt könnte man den Reconnect denn erfassen?
                                Einfach mit dem "Physical"LinkStatus" (Up bzw. Down)?

                                Wenn man auf die IP triggert, ist es ja vermutlich schon zu spät wenn man anhand der geänderten IP feststellt dass ein Reconnect stattgefunden hat.

                                Ich schreibe mal ne History für beides mit, dann sehe ich ja wann sich was ändert.
                                EDIT: Ähm, die eigene IP kann man im UPnP gar nicht auslesen!?

                                1 Reply Last reply Reply Quote 0
                                • D
                                  djsirius @Thisoft last edited by

                                  @Thisoft said in Internet-Traffic anzeigen lassen:

                                  Das steht in dem im vorletzten Post verlinkten Thread 😉

                                  ` > die Daten musst du dir von der Fritz Box holen. Das geht mittels script:

                                  schedule("*/10 * * * * *",  function () { 
                                     setState( "upnp.0.FRITZ!Box_7272.WANDevice.WANCommonInterfaceConfig.GetAddonInfos",'send');
                                     setState( "upnp.0.FRITZ!Box_7272.WANDevice.WANCommonInterfaceConfig.GetCommonLinkProperties",'send');
                                  });
                                  

                                  Du musst noch "FRITZ!Box_7272" gegen den Namen unter dem die FritzBox bei dir angelegt wurde ersetzen. Damit solltest du alle Wesentlichen informationen zur Verbindung bekommen.

                                  Dieses Skript wird alle 10 Minuten ausgeführt. `

                                  Hallo Zusammen,

                                  ich bekomme mit diesem Script die Daten nicht abgeholt. Was mache ich falsch.

                                  1.png

                                  schedule("* * * * *",  function () { 
                                     setState( "upnp.0.WANDevice_-_FRITZ!Box_7490.WANDevice.WANCommonInterfaceConfig.GetAddonInfos",'send');
                                     setState( "upnp.0.WANDevice_-_FRITZ!Box_7490.WANDevice.WANCommonInterfaceConfig.GetCommonLinkProperties",'send');
                                  });
                                  
                                  crunchip 1 Reply Last reply Reply Quote 0
                                  • crunchip
                                    crunchip Forum Testing Most Active @djsirius last edited by

                                    @djsirius zum einen solltest du schedule auf 10 sec stellen, zum anderen haben sich die Pfade geändert nach dem update des upnp adapters.
                                    ausserdem brauchst du das skript nicht mehr, da es nun hier direkt abrufbar istbefb4682-e9c0-4237-80a4-27a05715ba66-image.png

                                    D 1 Reply Last reply Reply Quote 0
                                    • D
                                      djsirius @crunchip last edited by

                                      @crunchip Vielen Dank für den Tipp! 🙂

                                      1 Reply Last reply Reply Quote 0
                                      • D
                                        djsirius last edited by

                                        Hallo crunchip,

                                        ich habe das jetzt eingestellt, doch leider werden die Daten nicht alle 10 Sekunden abgeholt.

                                        Was nun?

                                        2019-06-28 09_03_39-Window.png

                                        Gruß
                                        DJSirius

                                        Negalein 1 Reply Last reply Reply Quote 0
                                        • Negalein
                                          Negalein Global Moderator @djsirius last edited by

                                          @djsirius sagte in Internet-Traffic anzeigen lassen:

                                          ich habe das jetzt eingestellt, doch leider werden die Daten nicht alle 10 Sekunden abgeholt.

                                          Was nun?

                                          So ist es richtig
                                          */10 * * * * *

                                          1 Reply Last reply Reply Quote 0
                                          • D
                                            djsirius last edited by

                                            Hi Negalein,

                                            funktioniert ohne ein Script leider nicht.

                                            crunchip Negalein 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            390
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            19
                                            76
                                            14180
                                            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