NEWS
upnp NewTotalBytesReceived
-
Hallo zusammen,
ich hatte hier in einem anderen Thread gelesen, dass der Wert von upnp.0.WANDevice_-FRITZ!Box_6591_Cable(lgi).WANDevice.WANCommonInterfaceConfig.GetAddonInfos.NewTotalBytesReceived den aktuellen Downloadstand zeigt.
Mir kamen der Wert, die Umrechnung in GB und die Schwankungen, die ich beobachten konnte, etwas merkwürdig vor, daher habe ich mal eine 20GB-Datei heruntergeladen. Jetzt steht der Wert auf 1233984312 (was etwa 1.1492 Gigabyte entspricht). Während des gleichen Downloads stand der Wert ein paar Minuten vorher aber schon bei etwa 15GB.
Den Online-Zähler in der FB hatte ich auch mal zurück gesetzt. Die Werte der aktuellen Woche spiegeln sich leider nicht wirklich in den Daten wider.
Habe ich die Bedeutung des Wertes NewTotalBytesReceived missverstanden? Gibt es eine Doku zu den Werten?
Ich bin gerade komplett verwirrt, was die Interpretation der Daten betrifft und freue mich, wenn mich jemand aufklären oder mir ein-zwei-drei Hinweise geben kann.
Viele Grüße, Manu -
@manuxi
Also bei meiner Box ist der Wert NewTotalBytesReceived eine 32-bit Zahl. Bei 2^32 - 1, was ein bisschen mehr als 4 GB sind, läuft die Zahl über und fängt wieder bei 0 an. Wenn man 20 GB herunterlädt sollte sie mehrmals überlaufen.
Bist Du sicher, dass sie vorher bei 15 GB und nicht bei 1,5 GB stand?
Überigends bei mir ist der Wert NewTotalBytesReceived nicht als Number sondern als String definiert. -
Das kann sein, es war schon sehr spät, als ich das geschrieben hatte. Macht aber Sinn, was Du schreibst. Schade, hätte darüber gerne diret die Werte ausgelesen, das wird dann jetzt etwas aufwändiger...
-
@manuxi sagte in upnp NewTotalBytesReceived:
Das kann sein, es war schon sehr spät, als ich das geschrieben hatte. Macht aber Sinn, was Du schreibst. Schade, hätte darüber gerne diret die Werte ausgelesen, das wird dann jetzt etwas aufwändiger...
Was heisst hier aufwändiger - du musst halt den Überlauf erfassen und dann die Überlaufzahl aufaddieren.
Am einfachsten:
- einen DP "Blockcount" anlegen
- einen Trigger auf NewTotalBytesReceived, ist kleiner als vorher (übergelaufen), dann Blockcount um einen Erhöhen
- Da wo du die Zahl darstellen willst, nimmst du "Blockcount * Blocksize + NewTotalBytesReceived
A.
-
@manuxi
Es gibt noch den DP "NewX_AVM_DE_TotalBytesReceived64" der auch die empfangenen Bytes zählt. Der Name suggeriert, dass es sich um eine 64-bit Variable handelt. Ist leider nicht so. Kann mich nicht mehr genau erinnern, aber glaube bei 2^37 - 1 lief sie über. -
@pk68 Danke für Eure Antworten, da hab ich ja wieder was zu basteln