MarcusRoeckrath / fbtr64toolbox

Command line tool (bash script) for the TR-064 interface of fritzboxes
GNU General Public License v2.0
37 stars 4 forks source link

[QUESTION] Wie kann ich mir die AUslastung der DSL-Verbindung anzeigen lassen? #3

Closed dcoredump closed 1 year ago

dcoredump commented 1 year ago

Hallo Marcus,

ich spiele jetzt erfolgreich mit fbtr64toolbox herum - super! Was ich noch nicht gefunden habe: Wie kann ich mir die DSL-Anbindungs-Auslastung und ggf. Fehlerparameter anzeigen lassen? Ich wuerde diese Daten gerne in eine InfluxDB schreiben.

Danke && Gruss, Holger

MarcusRoeckrath commented 1 year ago

Hallo Holger,

Am Freitag, 18. August 2023 08:38 schrieb Holger:

ich spiele jetzt erfolgreich mit fbtr64toolbox herum - super!

Fein, freut mich zu hören.

Was ich noch nicht gefunden habe: Wie kann ich mir die DSL-Anbindungs-Auslastung und ggf. Fehlerparameter anzeigen lassen? Ich wuerde diese Daten gerne in eine InfluxDB schreiben.

Direkt verdrahtet habe ich keine statistischen Daten im Skript.

Bitte bedenken, dass eine Fritzbox rund 500 TR-06-Funktionen hat - meine 7490 mit der aktuellen Firmware 7.59 sind es 524 (dabei tauchen die WLan-Funktionen allerdings dreimal auf, da es ja drei Wlans gibt, 2,4GHz, 5 GHz und Guest).

Damit dürfte klar sein, dass nicht alles per "Kommando" zur Verfügung gestellt werden kann, die Hilfeseite (Kommandos und Optionen) hätte Romanlänge.

Ich habe aber eine Möglichkeit geschaffen, jede beliebige Funktion ausführen zu können - Stichworte mysoaprequest und createsoapfiles.

In Kürze, genaueres steht in der Doku bzw. dem mittels writesoapfile erzeugten Beispieldatei:

mysoaprequest führt einen auf der Kommandozeile mittels Kommandozeilenoptionen definierten SOAP-Request aus:

Explanations for these parameters could be found in the SOAP sample file. --SOAPtype <https|http> mysoaprequest --SOAPdescfile mysoaprequest --SOAPcontrolURL mysoaprequest --SOAPserviceType mysoaprequest --SOAPaction mysoaprequest --SOAPdata "" mysoaprequest --SOAPsearch "|all" mysoaprequest --SOAPtitle "" mysoaprequest

Nach Studium der AVM-Doku kann man sich also nun jeden beliebigen Request basteln und mit Standardtools auswerten.

Das Studium der AVM-Doku kann ich niemandem ersparen, aber das basteln vereinfachen, den mysoaprequest kann auch in Steuerdateien, wie dem oben durch writesoapfile erzeugten, definierten Request ausführen.

Das Kommando createsoapfiles liest die TR-064-Dokumente aus der Fritzbox aus und erzeugt im Zielpfad für jede einzelne TR64-Funktion eine Vorlage/Steuerdatei.

Diese Steuerdateien kann man nun auch an mysoaprequest verfüttern:

fbtr64toolbox.sh mysoaprequest <pfad/name der steuerdatei>

Manche Funktionen brauchen natürlich auch Input (z. B. Auswahl des Anrufbeantworters, ...), was in der Vorlagedatei daran erkennbar ist, dass dort ein Block

data=" ................. "

ist (statt data="").

Dieser Block wäre dann mit den korrekten/gewünschten Werten vorzubelegen.

Naja, für jeden möglichen Input eine Vorlagedatei anzulegenen, ist auch viel Arbeit, deshalb gibt es die Möglichkeit, die Platzhalter in der Steuerdatei über eine Option automatsich füllen zu lassen:

Useable for special prepared SOAP files as created by the createsoapfiles command. --SOAPparameterlist ".." mysoaprequest

womit

fbtr64toolbox.sh mysoaprequest <pfad/name der steuerdatei> --SOAPparamterlist "....."

zum Aufruf der Wahl wird.

Lesestoff gibt es in der Skriptdoku aber auch in den automatisch erzeugten Steuerdateien.

Nun zu statistischen Daten, hier könnte folgendes AVM-Dokument/TR64-Funktionsgruppe interessant sein:

https://avm.de/fileadmin/user_upload/Global/Service/Schnittstellen/wancommonifconfigSCPD.pdf

Nutzt du das createsoapfiles Kommando, findest du die Steuerdateien/Vorlagen nach folgendem Namensschema:

tr64desc.xml.wancommonifconfigSCPD.xml.*

Weitere Dokumente:

https://avm.de/fileadmin/user_upload/Global/Service/Schnittstellen/IGD1.pdf https://avm.de/fileadmin/user_upload/Global/Service/Schnittstellen/IGD2.pdf

Vorlagen:

igddesc.xml.igdicfgSCPD.xml. igd2desc.xml.igdicfgSCPD.xml.

Übrigens überschneiden sich teilweise die Funktionen in den verschiedenen AVM-Dokumneten, können also mehrfach auftreten.

mysoaprequest liefert zunächst den originalen Output der Fritz im xml-Format, mit der --SOAPsearch-Option kann man auf bestimmte Felder filtern, wass diese dann auch leichter weiter verarbeitbar in der Form

Variable|Value

ausgibt.

Schau mal in die Doku oder die erzeugten Vorlagedateien rein, das wird viele Fragen klären.

Und spielen, spielen, ... das gibt dann ein Gespür für die Funktionsweise.

Danke && Gruss, Holger

Bitte.

-- Gruß Marcus

MarcusRoeckrath commented 1 year ago

Hier gibt es auch technisch statistische Infos:

https://avm.de/fileadmin/user_upload/Global/Service/Schnittstellen/wandslifconfigSCPD.pdf

Vorlagedateien:

tr64desc.xml.wandslifconfigSCPD.xml.GetInfo_1 tr64desc.xml.wandslifconfigSCPD.xml.GetStatisticsTotal_1 tr64desc.xml.wandslifconfigSCPD.xml.X_AVM-DE_GetDSLDiagnoseInfo_1 tr64desc.xml.wandslifconfigSCPD.xml.X_AVM-DE_GetDSLInfo_1

MarcusRoeckrath commented 1 year ago

Hier auch: https://avm.de/fileadmin/user_upload/Global/Service/Schnittstellen/lanifconfigSCPD.pdf

Vorlagedatei: tr64desc.xml.ethifconfigSCPD.xml.GetStatistics_1

dcoredump commented 1 year ago

Hallo Marcus,

vielen Dank fuer die vielen Infos! Ich werde die naechsten Tage damit verbringen zu lernen :)

Ich schliesse die Anfrage erstmal und wuerde sie wieder oeffnen, wenn ich Ergebnisse habe.

Gruss, Holger