Moin,
ist es irgendwie möglich die Online Zähler Statistiken im Modul anzeigen zu lassen?
Besonders interessieren mich hier die Monatsverbräuche von Up,- und Download.
MfG
Moin,
ich denke unter folgendem Link findest du etwas brauchbares:
https://waschto.eu/traffic (https://waschto.eu/traffic)
Habe es ebenfalls umgesetzt.
Gruß Christian
Danke ChristianR
Das ist leider nicht was ich suche.
Ich habe es bereits probiert und muss sagen, die Tagesverbräuche benötige ich nicht in FHEM.
Ich möchte schon genau die Daten haben die auch in dem WebUI der Fritzbox und Monatsverbrauch stehen.
Falls es nicht möglich ist, ist es nicht so tragisch, dann versuche ich halt mein Glück mit Httpmod.
MfG
und danke für deine Hilfe
Vielleicht reden wir auch aneinander vorbei und ich habe es noch nicht gemerkt... ;)
Bei mir schaut es derzeit auf der Fritzbox so aus (Bild Fritzbox)
Und in FHEM sieht es so aus (Bild FHEM)
Das Feintuning steht noch aus, aber vom Prinzip läuft es erstmal.
Da ich es Mitte des Monats erst eingerichtet habe, stimmt der Monatswert noch nicht überein. Wenn ich es richtig verstanden habe wird der Tageswert jeweils addiert. Demnach müsste es ab dem 01.07. mit der Fritzbox übereinstimmen...
Wie gesagt, vielleicht habe ich dich aber auch einfach nicht richtig verstanden...
Gruß Christian
Wenn es so klappt ist ja alles so wie ich es haben möchte.
Ich lese aber nirgends, dass am Monatswechsel auf null gestellt wird.
Für mein Verständnis zeigt der eine Wert den Tagesverbrauch und der andere den Gesamtverbrauch seit der Einrichtung in FHEM.
MfG
Jetzt wo du es sagst.
Da habe ich "monotonic" wohl etwas anders interpretiert... ::)
Folgendes at (ungetestet) werde ich heute Abend mal einbauen und testen:
define Fritzbox_Empfangen_Reset at *00:01:00 {if ($mday == 1){fhem("setreading Empfangen Empfangen_ges 0")}}
Update:
Hat soweit funktioniert!
Habe es jetzt so von dir übernommen und mir noch einen Dummy gebastelt um den Up,- und Download zusammen zu fassen.
Danke
MfG
Internals:
CFGFN
NAME Fritzbox_ges_Verbrauch
NR 94088
STATE 164.94 gb
TYPE dummy
Helper:
Dblog:
State:
Logdb:
TIME 1498756007.18252
VALUE 164.944095602
Readings:
2017-06-29 19:06:47 state 164.944095602
Attributes:
room Server
stateFormat {sprintf("%.2f gb",ReadingsNum($name,"state","?"))}
{
my $empfangen=ReadingsNum("Empfangen","Empfangen_ges",0);;
my $gesendet=ReadingsNum("Gesendet","Gesendet_ges",0);;
my $gesamt=$empfangen+$gesendet;;
fhem("set Fritzbox_ges_Verbrauch $gesamt");;
}
Und ich habe es auch nochmal angepasst. ;D
Erstmal nur als Basis, in der TabletUI wird es schöner...
Gruß Christian
hi,
ich habe eine kurze Frage:
attr global showInternalValues 1
Wird durch dieses Attribut noch andere Readings in anderen Devices sichtbar die stören könnten?
Danke,
Fixel
Hi Fixel,
bei mir schon, aber es ist ja auch ein globales Attribut.
Mal habe ich .* Einträge in den Internals mal in den Readings. Mich stört es derzeit nicht und ich denke es kommt auf die verwendeten Module an.
Aber vielleicht kann da noch jemand mehr zu sagen...
Gruß Christian
Ich habe das globale Attribut wieder gelöscht und die readings in der FB bleiben erhalten. Sie stehen jetzt in den Readings.
TabletUi habe ich schon angepasst, bin aber nocht nicht ganz zufrieden.
MfG
Ich finde Deiner erste Übersicht gut .. wie hast Du die Onlinezeit der Geräte rausbekommen?
Zitat von: Wernieman am 30 Juni 2017, 08:06:57
Ich finde Deiner erste Übersicht gut .. wie hast Du die Onlinezeit der Geräte rausbekommen?
Ich habe in der Fritzbox für ausgewählte Geräte die Kindersicherung aktiviert. Damit tauchen Sie in dem Fritzbox Device als neue Readings auf.
Eine wirkliche Begrenzung der Onlinzeit muss dabei nicht erfolgen. Habe es auf 24/7 gesetzt, weil ich wie gesagt nur die Readings haben wollte.
Gruß Christian
Zitat von: ChristianR am 26 Juni 2017, 13:14:43Moin,
ich denke unter folgendem Link findest du etwas brauchbares:
https://waschto.eu/traffic (https://waschto.eu/traffic)
Habe es ebenfalls umgesetzt.
Gruß Christian
Gibt es noch ne Anleitung ? Der Link ist tot.
Moin en-trust,
du hast schon gesehen, dass der letzte Eintrag 6 1/2 Jahre her ist? ;)
Jedenfalls funktioniert die E-Mail Benachrichtigung noch und ich habe mein Passwort nicht vergessen...
Zu deiner Frage, nein, ich habe leider keine weitere Anleitung dazu.
Da die Domain aber grundsätzlich noch erreichbar ist, schlage ich vor du schreibst den Daniel einfach mal an.
Vielleicht kann er dir den Artikel nochmal zur Verfügung stellen.
Ich kann es leider nicht!
Viel Erfolg und Gruß,
Christian
Hallo,
wenn ich mich richtig erinnere wurde unter waschto.eu/traffic nur gezeigt, wie man den Traffic der FB auslesen kann. Dafür gibt es im FRITZBOX Modul mittlerweile eigene Readings.
Pro Netzwerkgerät geht das auch, aber dafür müsste ich im FRITZBOX Modul etwas entsprechendes hinterlegen.
Grüße Jörg
Hallo,
morgen mit dem Update kommt folgende Erweiterung:
Bei "get <name> lanDeviceInfo <number>" wird bei vorhandener Kindersicherung, nur dann wird gemessen, zusätzlich folgendes ausgegeben:
USEABLE: Zuteilung in Sekunden
UNSPENT: nicht genutzt in Sekunden
PERCENT: in Prozent
USED: genutzt in Sekunden
USEDSTR: ss:mm von Kontingent ss:mm
Beispielausgabe:
MAC:28:56:5A:44:E3:58 IPv4:192.168.0.113 UID:landevice2975 NAME:HPLaserJet ACCESS:limited USEABLE:61200 UNSPENT:38040 PERCENT:37.84 USED:23160 USEDSTR:06:26 von 17:00 Stunden DEVTYPE:wlan STATE:CONNECTED ONLINE:ONLINE REALTIME:0
Hallo,
falls Du das nun auswerten möchtest, hier ein Beispiel:
Zunächst einen Dummy:
defmod HPLaserOnline dummy
attr HPLaserOnline readingList Useable Unspent Percent Used UsedStr
Nun ein at:
defmod get_HPLaser_Info at 2024-02-08T23:58:00 {\
my $hpInfo = fhem("get FritzBox lanDeviceInfo 2975", 1);;\
\
my ($data) = ($hpInfo =~ /USEABLE:(\d+).UNSPENT/);;\
fhem("set HPLaserOnline Useable $data", 1);;\
\
($data) = ($hpInfo =~ /UNSPENT:(\d+).PERCENT/);;\
fhem("set HPLaserOnline Unspent $data", 1);;\
\
($data) = ($hpInfo =~ /PERCENT:(\d+\.?\d+).USED/);;\
fhem("set HPLaserOnline Percent $data", 1);;\
\
($data) = ($hpInfo =~ /USED:(\d+).USEDSTR/);;\
fhem("set HPLaserOnline Used $data", 1);;\
\
($data) = ($hpInfo =~ /USEDSTR:(.*?).DEVTYPE/);;\
fhem("set HPLaserOnline UsedStr $data", 1);;\
}
Dann kannst Du auf HPLaserOnline noch ein Log setzen und schon bekommst Du den täglichen Online-Konsum in Sekunden.
Grüße Jörg
Als Nachtrag da ich auch die tägliche Datenmenge erfassen wollte: habe bei archive.org eine archivierte Version abgerufen (https://web.archive.org/web/20181222100934/https://waschto.eu/traffic/ (https://web.archive.org/web/20181222100934/https://waschto.eu/traffic/)), das hat wunderbar geklappt. Ich hänge zur Sicherheit hier noch eine PDF Kopie an.
Ich habe es so wie in der Anleitung beschrieben umgesetzt und dann für meine Bedürfnisse angepasst. Es funktioniert alles tiptop!
Ah vielleicht noch interessant an dieser Stelle: die aktuellen MBit/s Werte (box_rateDown/box_rateUp) liefern bei mir sehr komische Werte und scheinen auch nur eine Momentaufnahme zu sein. Ich ermittle daher die gemittelten Werte über 60s (bei mir das Ausleseintervall für die Fritzbox), hier der relevante Code falls das jemand auch so einbauen möchte:
attr global showInternalValues 1
attr FritzBox stateFormat {sprintf("Down: %.1f MBitS, %.0f MB today<br />\
Up: %.1f fMBitS, %.0f MB today<br />\
IP: %s<br />\
uptime: %s<br />", ReadingsVal($name, 'DownMBitS', 0), ReadingsVal($name, 'DownMB_Today', 0), ReadingsVal($name, 'UpMBitS', 0), ReadingsVal($name, 'UpMB_Today', 0), ReadingsVal($name, 'box_ipv4_Extern', 0), ReadingsVal($name, 'box_uptimeConnect', 0))}
attr FritzBox userReadings DownMBitS { sprintf("%.1f", (ReadingsVal($name, 'DownMB_Today', 0) - ReadingsVal($name, 'DownMB_Today_OldVal', 0))*8/60)},\
UpMBitS { sprintf("%.1f", (ReadingsVal($name, 'UpMB_Today', 0) - ReadingsVal($name, 'UpMB_Today_OldVal', 0))*8/60)}
attr FritzBox userReadings DownMBitS { sprintf("%.1f", (ReadingsVal($name, 'DownMB_Today', 0) - ReadingsVal($name, 'DownMB_Today_OldVal', 0))*8/60)},\
UpMBitS { sprintf("%.1f", (ReadingsVal($name, 'UpMB_Today', 0) - ReadingsVal($name, 'UpMB_Today_OldVal', 0))*8/60)}
defmod n_FritzBox notify FritzBox:box_dsl_downStream:.* {\
my $fritzbox = 'FritzBox';;\
my $oldVal = ReadingsVal($fritzbox, 'DownMB_Today', 0);;\
my $d = ((ReadingsVal($fritzbox,".box_TodayBytesReceivedLow",0) / (1024 * 1024) ) + ( ReadingsVal($fritzbox,".box_TodayBytesReceivedHigh",0) * 4294967296 / (1024 * 1024) ) );;\
fhem("setreading $fritzbox DownMB_Today $d");;\
fhem("setreading $fritzbox DownMB_Today_OldVal $oldVal");;\
\
$oldVal = ReadingsVal($fritzbox, 'UpMB_Today', 0);;\
my $e= ((ReadingsVal("FritzBox",".box_TodayBytesSentLow",0) / (1024 * 1024) ) + ( ReadingsVal("FritzBox",".box_TodayBytesSentHigh",0) * 4294967296 / (1024 * 1024) ) );;\
fhem("setreading $fritzbox UpMB_Today $e");;\
fhem("setreading $fritzbox UpMB_Today_OldVal $oldVal");;\
}
Hallo,
Du kannst Dir gerne mal die javascript API der FritzBox ansehen.
Grüße Jörg
Hallo,
hier noch eine Aufschlüsselung:
get <name> javaScript [json] monitor/online
gibt die Devices zurück, für die in der FB Weboberfläche unter Internet/Online-Monitor/Einzelne Geräte Devices zur Überwachung ausgewählt worden sind.
[monitor/online/5 ... monitor/online/0] beinhaltet die 10 Minuten Zeitreihen der 5 Sekunden Daten, wobei 5 für die ältesten und 0 für die aktuellsten Werte steht. Es werden also 50 Minuten in fünf 5 Sekunden Zeitreihen zur Verfügung gestellt.
Durch den optionalen Parameter [json] erfolgt die Rückgabe als plain JSON und kann entsprechend in eigenen Verarbeitungen genutzt werden.
Grüße Jörg
PS: Steht allerdings frühestens ab FritzOS 8.00, bei Cable ab 8.04, zur Verfügung. Da ich keine Box mehr habe mit FritzOS < 8.00 kann ich nicht prüfen, ob eine entsprechende Funktion dort vorhanden war.
Oh danke dir, das würde ich gerne ausprobieren. Allerdings liefert bei mir
get FritzBox javaScript [json] monitor/online
ein
Result of data = monitor/online
----------------------------------------------------------------------
ERROR: Bad Request
72_FRITZBOX.pm ist in der neusten Version, Fritbox OS ist VERSION 08.20.00
Gibt es da einen Trick? Habe in der Dokumentation leider nix gefunden.
Hallo,
bitte die [] Klammern weglassen. Die zeigen in der generischen Schreibweise nur an, dass es sich um einen optionalen Parameter handelt.
get FritzBox javaScript json monitor/online
Grüße Jörg
Danke dir für deine rasche Antwort, das mit den Klammern macht voll Sinn .... Leider geht der Befehl immer noch nicht, er liefert
{"Error":"Bad Request","ResetSID":"1"}
Im Log steht nix bei "verbose 5". Ich habe zum Testen unmittelbar vorher ein "set FritzBox update" gemacht, gewartet, bis nach ein paar Sekunden die Readings aktualisiert wurden und dann den javaScript Befehl abgeschickt. Hat leider auch nix bewirkt. Weisst du, wo das Problem sein könnte?
Zitat von: Aurel_B am 25 August 2025, 09:26:26Weisst du, wo das Problem sein könnte?
Hm,
also entweder an der FritzBox, welche hast Du, oder (sorry) vor dem Bildschirm.
Bitte einmal verbose im FritzBox Device auf 4 setzten und dann den Befehl noch einmal ausführen. Den Log-Ausschnitt dann bitte posten.
Grüße Jörg
Kann gut sein, dass da auf meiner Seite her irgendwas nicht so läuft wie es sollte. Log sagt:
2025.08.26 08:52:03.077 3: [FritzBox | 7530 | 164.08.02 | Get.3690] - BASIC:get FritzBox javaScript [2] json monitor/online
2025.08.26 08:52:03.077 4: [FritzBox | 7530 | 164.08.02 | Get.3701] - EXPANDED:get FritzBox javaScript monitor/online
2025.08.26 08:52:03.077 4: [FritzBox | 7530 | 164.08.02 | open_Web_Connection.13993] - EXPANDED:checking HOST -> 192.168.1.254
2025.08.26 08:52:03.079 4: [FritzBox | 7530 | 164.08.02 | open_Web_Connection.14033] - EXPANDED:using old SID from 08:51:47
2025.08.26 08:52:03.080 4: [FritzBox | 7530 | 164.08.02 | call_javaScript.14550] - EXPANDED:Request data via API javaScript.
2025.08.26 08:52:03.080 4: [FritzBox | 7530 | 164.08.02 | call_javaScript.14554] - EXPANDED:URL: http://192.168.1.254/api/v0/monitor/online
2025.08.26 08:52:03.114 4: [FritzBox | 7530 | 164.08.02 | call_javaScript.14567] - EXPANDED:Response: {"errors":[{"message":"bad path: \/online.","code":3002}]}
2025.08.26 08:52:03.114 4: [FritzBox | 7530 | 164.08.02 | call_javaScript.14571] - EXPANDED:
Bad Request
Hallo,
Du hast eine FB 7530 mit FritzOS 8.02. Da funktioniert das nicht. Du könntest die aktuelle Labor aufspielen, dann bist Du dabei.
Leider kann man über das FritzOS nicht sauber abgrenzen, ob die Abfrage funktioniert oder nicht. Ist halt auch FB abhängig.
Grüße Jörg
Ok alles klar, das macht Sinn. Ich kann mit meiner Lösung von https://forum.fhem.de/index.php?msg=1346638 (https://forum.fhem.de/index.php?msg=1346638) gut leben und schaue in ein paar Monaten, ob mit einer neuen FritzBox Version alles klappt. Danke!