Slopestyle-1
Commander
- Registriert
- Aug. 2008
- Beiträge
- 2.932
Hallöchen,
ich bräuchte mal eure Hilfe, ich möchte mir auf meiner Intranetseite, die übertragenen GB unter dem Reiter Online-Zähler auslesen und auf einer HTML-Seite darstellen.
Chatgpd hat mir zwar etwas ausgespuckt, aber es scheint nichts von der FritzBox 6591 auszulesen, weis vlt jemand was da im Quellcode falsch ist oder ob es überhaupt möglich ist.
Danke.
------------------------------------
---------------------------
html datei
ich bräuchte mal eure Hilfe, ich möchte mir auf meiner Intranetseite, die übertragenen GB unter dem Reiter Online-Zähler auslesen und auf einer HTML-Seite darstellen.
Chatgpd hat mir zwar etwas ausgespuckt, aber es scheint nichts von der FritzBox 6591 auszulesen, weis vlt jemand was da im Quellcode falsch ist oder ob es überhaupt möglich ist.
Danke.
------------------------------------
Code:
py datei
from fritzconnection import FritzConnection
import json
def get_data_usage():
# Verbindung zur FRITZ!Box herstellen
fc = FritzConnection(address='192.168.0.1', password='hier das passwort')
# Daten abrufen
data = fc.call_action('WANCommonIFC1', 'GetAddonInfos')
# Relevante Daten extrahieren
bytes_sent = int(data['NewBytesSent'])
bytes_received = int(data['NewBytesReceived'])
total_bytes = bytes_sent + bytes_received
# Daten in GB umrechnen
gb_used = total_bytes / (1024 * 1024 * 1024)
return {
'bytes_sent': bytes_sent,
'bytes_received': bytes_received,
'total_gb': round(gb_used, 2)
}
# Daten abrufen und in JSON-Datei speichern
usage_data = get_data_usage()
with open('data_usage.json', 'w') as f:
json.dump(usage_data, f)
print("Daten wurden erfolgreich abgerufen und gespeichert.")
---------------------------
html datei
Code:
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<title>FRITZ!Box Datenverbrauch</title>
</head>
<body>
<h1>FRITZ!Box Datenverbrauch</h1>
<p>Gesendet: <span id="bytesSent"></span> GB</p>
<p>Empfangen: <span id="bytesReceived"></span> GB</p>
<p>Gesamt: <span id="totalGB"></span> GB</p>
<script>
// Funktion zum Laden und Anzeigen der Daten
function loadDataUsage() {
fetch('data_usage.json')
.then(response => response.json())
.then(data => {
document.getElementById('bytesSent').textContent = (data.bytes_sent / (1024*1024*1024)).toFixed(2);
document.getElementById('bytesReceived').textContent = (data.bytes_received / (1024*1024*1024)).toFixed(2);
document.getElementById('totalGB').textContent = data.total_gb;
})
.catch(error => {
console.error('Fehler beim Laden der Daten:', error);
document.body.innerHTML += '<p>Fehler beim Laden der Daten.</p>';
});
}
// Daten beim Laden der Seite abrufen
window.onload = loadDataUsage;
// Aktualisiere die Daten alle 1 Minuten
setInterval(loadDataUsage, 1 * 60 * 1000);
</script>
</body>
</html>