NEWS
Internet-Traffic anzeigen lassen
-
kannst Du mal einen export von deinem script machen?
-
@sveni_lee sagte in Internet-Traffic anzeigen lassen:
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) -
Danke dafür. Schaue ich mir heute Abend mal in ruhe an.
-
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!? -
@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.
schedule("* * * * *", function () { setState( "upnp.0.WANDevice_-_FRITZ!Box_7490.WANDevice.WANCommonInterfaceConfig.GetAddonInfos",'send'); setState( "upnp.0.WANDevice_-_FRITZ!Box_7490.WANDevice.WANCommonInterfaceConfig.GetCommonLinkProperties",'send'); });
-
@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 ist -
@crunchip Vielen Dank für den Tipp!
-
Hallo crunchip,
ich habe das jetzt eingestellt, doch leider werden die Daten nicht alle 10 Sekunden abgeholt.
Was nun?
Gruß
DJSirius -
@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 * * * * * -
Hi Negalein,
funktioniert ohne ein Script leider nicht.
-
@djsirius was genau funktioniert denn nicht?
-
Das Polling! Die Daten werden ohne ein Script nicht alle 10 Sekunden abgerufen.
-
@djsirius sagte in Internet-Traffic anzeigen lassen:
Das Polling! Die Daten werden ohne ein Script nicht alle 10 Sekunden abgerufen.
Ja, stelle es mal auf 2 Sekunden.........
Also bei mir geht es ab 3 Sekunden auch nicht!
-
@djsirius der cron-job upnp ersetzt doch dein skript
-
Funktioniert auch nicht!
-
@djsirius sagte in Internet-Traffic anzeigen lassen:
Funktioniert auch nicht!
Screenshot vom Objekt bitte........
-
-
@djsirius sagte in Internet-Traffic anzeigen lassen:
Hi Negalein,
funktioniert ohne ein Script leider nicht.
Ja, da hast du Recht.
Ich verwende nur das Script -
-