NEWS
Internet-Traffic anzeigen lassen
-
Gibt es einen Unterschied beim Pfad zwischen common , global ? Wenn ich das Skript auf global stelle sind die Fehler im Log weg..
Ich kann keine Fehler im Pfad finden..
6062_bildschirmfoto_2018-02-25_um_09.39.11.png -
ahh jetzt sehe ich gerade, dass der Adapter seit ich ihn auf common gestellt habe den Datenpunkt aktualisiert.. :). Bleibt die Frage der Warnungen im Log
Danke Dir für deine Mühen, vor allem von Unterwegs
-
Angabe aus dem Log:
"upnp.0.FRITZ!Box_6490_Cable_(kdg).WANCommonInterfaceConfig.GetCommonLinkProperties"
Soll Zustand:
"upnp.0.FRITZ!Box_6490_Cable_(kdg).WANDevice.WANCommonInterfaceConfig.GetCommonLinkProperties"
-
Da war ein Fehler, hmm hätte man auch selber sehen können , Danke für deine Unterstützung.. jetzt läuft es wunderbar.
-
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.
Vielen Dank!So funktioniert es bei mir.
Wie sind aber die Werte von ByteReceiveRate umzurechnen?
Bei einem Speedtest, welcher 47.580 kBit/s ergeben hat, springt der maximal mitgeschriebene Wert von ByteReceiveRate auf 6.182.820.
Hier sehe ich keinen Faktor mit dem das verrechnet werden könnte. (ByteReceiveRate / 130 = ~47.580)
-
Also ich verwende den Datenpunkt "TotalBytesReceived" um die übertragene Datenmenge mitzuschreiben und auszuwerten.
Wenn es dir um die Ermittlung der reellen Downloadgeschwindigkeit geht musst du vermutlich einen anderen Ansatz verwenden, da gab's hier auch schon Threads dazu. Der Wert von "ByteReceiveRate" ist m.E. dazu nicht zu verwenden weil er einfach viel zu stark schwankt (bei mir zwischen wenigen Hundert und mehreren Millionen wie von dir beschrieben). Ich schätze das ist ein über einen zufälligen, sehr kurzen Zeitraum ermittelter Wert.
-
Also ich habe noch etwas damit herumprobiert.
Mit folgendem Skript kann ich die ByteReceiveRate in MBit/s umrechnen.
on({id: "upnp.0.FRITZ!Box_7490.WANDevice.WANCommonInterfaceConfig.ByteReceiveRate"/*ByteReceiveRate*/, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; setState("javascript.0.ByteReceiveRateMBit"/*ByteReceiveRateMBit*/, (Math.round(getState("upnp.0.FRITZ!Box_7490.WANDevice.WANCommonInterfaceConfig.ByteReceiveRate").val / 130890))); setState("javascript.0.ByteReceiveRateMB"/*ByteReceiveRateMB*/, (Math.round(getState("upnp.0.FRITZ!Box_7490.WANDevice.WANCommonInterfaceConfig.ByteReceiveRate").val / (130890 * 8)))); });
In der ersten Zeile wird der Downstream in MBit/s berechnet und in ein Datenobjekt geschrieben.
In der zweiten Zeile dann in MB/s.
Woher der Faktor von 130.890 kommt… Keine Ahnung.
Den habe ich per Speedtest.io ermittelt und gleichzeitig den Wert ByteReceiveRate beobachtet.
Ein Flot der letzen 20 min. sieht dann so aus:
-
Kann es sein dass der Faktor theoretischerweise 2^17 = 131072 sein müsste? So ganz erklären kann ich zwar jetzt auch nicht warum der Faktor so derartig hoch sein muss…
Bist du sicher dass du nicht irgendwo MBit und MByte durcheinanderwirfst?
-
Ist denn 2^17 ein gebräuchlicher Wert in diesem Bereich? Mir sagt er nix.
Warum MBit und MByte durcheinander?
Den angezeigten Ausgaben en zufolge passen meine Umrechnungen.
Sowohl MBit als auch MByte.
Gesendet von iPhone mit Tapatalk
-
Naja, ich schrieb ja dass ich den Umrechnungsfaktor auch nicht erklären kann… Nur sind eben Zweierpotenzen ein in der Informatik allgemein recht gebräuchliches Instrument
Wenn deine Umrechnungen passen ist ja erstmal alles gut - auch wenns keine logische Erklärung dafür gibt
-
2^17 ist korrekt.
Gegenrechnung Byte Wert * 8 /1024 /1024
-
Also ich habe noch etwas damit herumprobiert.
Mit folgendem Skript kann ich die ByteReceiveRate in MBit/s umrechnen.
on({id: "upnp.0.FRITZ!Box_7490.WANDevice.WANCommonInterfaceConfig.ByteReceiveRate"/*ByteReceiveRate*/, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; setState("javascript.0.ByteReceiveRateMBit"/*ByteReceiveRateMBit*/, (Math.round(getState("upnp.0.FRITZ!Box_7490.WANDevice.WANCommonInterfaceConfig.ByteReceiveRate").val / 130890))); setState("javascript.0.ByteReceiveRateMB"/*ByteReceiveRateMB*/, (Math.round(getState("upnp.0.FRITZ!Box_7490.WANDevice.WANCommonInterfaceConfig.ByteReceiveRate").val / (130890 * 8)))); });
In der ersten Zeile wird der Downstream in MBit/s berechnet und in ein Datenobjekt geschrieben.
In der zweiten Zeile dann in MB/s. `
Hallo,
wie sind die Datenpunkte anzulegen? Bzw. mit welchen Einstellungen?
Gruß Mark
-
Da das mein erstes System ist was ich programmiere, habe ich leider nicht auf Ordnerwahl geachtet.
Hier liegen die beiden Datenpunkte:
ByteReceiveRateMB ByteReceiveRateMBit
Im Ordner
javascript.0
Du kannst aber das Skript auch auf deine gewünschten Datenpunkte anpassen:
on({id: "upnp.0.FRITZ!Box_7490.WANDevice.WANCommonInterfaceConfig.ByteReceiveRate"/*ByteReceiveRate*/, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; setState("javascript.0.HIER_DEINEN_ORDNER_ANGEBEN.ByteReceiveRateMBit"/*ByteReceiveRateMBit*/, (Math.round(getState("upnp.0.FRITZ!Box_7490.WANDevice.WANCommonInterfaceConfig.ByteReceiveRate").val / 130890))); setState("javascript.0.HIER_DEINEN_ORDNER_ANGEBEN.ByteReceiveRateMB"/*ByteReceiveRateMB*/, (Math.round(getState("upnp.0.FRITZ!Box_7490.WANDevice.WANCommonInterfaceConfig.ByteReceiveRate").val / (130890 * 8)))); });
-
Hallo,
ich teste das auch gerade, ich mache es so:
-
@aleks-83 Kannst du mal die Einstellungen von Flot posten? Irgendwie bekomme ich das nicht so schön hin.
Kann mir jemand mal den Befehl````
schedule("*/10 * * * * *", function ()erklären? Am Anfang sind von 10 Sek die Rede, dann von 10 Minuten. 10 Minuten ist mir zu wenig. Doch was macht hier Sinn, was belastet zu stark?
-
Moin zusammen.
In den letzten Tagen habe ich ein wenig mit ioBroker gespielt. Meine UPNP Abfrage, der Fritzbox geht auch. Nutze das, um mirt die aktuellen MBit des Up / Down anzuzeigen.
Nun aber meine Frage. 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.
Schönen Sonntag noch.
-
@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.
-
@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.Ich habe jetzt mal den History Adapter für den Eintrag NewTotalBytesReceived aktiviert.
Mal sehen wie oft und wohin er zurück springt... -
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. -
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.