Ankündigung

Einklappen
Keine Ankündigung bisher.

LBS 19001115 "FritzBox WAN Status": Vorschlag für Erweiterung | Frage: akt. Bitrate?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    LBS 19001115 "FritzBox WAN Status": Vorschlag für Erweiterung | Frage: akt. Bitrate?

    Hallo royrobson , hallo FB-Nutzer,

    Folgendes zu LBS 19001115:
    • Schöner LBS, hat auf anhieb funktioniert. Danke!
    • Mir fehlte eine Aussage zur Uptime und im Fehlerfall ein Fehlergrund. Ich musste kürzlich des nachts feststellen, dass mir mein ISP für rund 1h einfach mal kein Connect gab und wir ohne Tel/DSL waren. Das möchte ich mal beobachten und ggf. reagieren, wenn das öfter geschieht. Zwangstrennung ist bekannt, aber da erwarte ich unmittelbaren reconnect.
      Mit folgender Ergänzung liefert dert LBS zusätzlich z.B. "connected", "ERROR_NONE" ("NO_CARRIER","ISP_TIME_OUT",... alle Ausprägungen siehe http://<IP_FB>:49000/igdconnSCPD.xml), "18172" (= 5h2m52s)...vielleicht magst Du gelegentlich eine Version 0.2 draus machen?
    PHP-Code:
    ...
    [
    a#20            = ConnectionStatus                        ]
    [a#21            = LastConnectionError                    ]
    [a#22            = Uptime(sec)                            ]
    ...
    // Alle Optionen ermittelt mit http://<IP_FritzBox>:49000/igddesc.xml --> darin Verweis auf weitere XML-Dateien, z.B. /igdconnSCPD.xml
    // soapLocation aus <controlURL> | soapUri aus <serviceType> | soapFunction aus <actionList><action><name> in Ziel-XML, z.B. /igdconnSCPD.xml
    //
    // Get Connection Status and Uptime (e.g. 'Connected','ERROR_NONE','18172' = 5h2m52s)
    $soapLocation    "/igdupnp/control/WANIPConn1";
    $soapUri    "urn:schemas-upnp-org:service:WANIPConnection:1";
    $soapFunction     "GetStatusInfo";
    $wanUpStatInfo fritzbox_GetInfo($ipAdr$port$user$pwd$soapLocation$soapUri$soapFunction);
    ...
    logic_setOutput($id,20,$wanUpStatInfo["NewConnectionStatus"]);
    logic_setOutput($id,21,$wanUpStatInfo["NewLastConnectionError"]);
    logic_setOutput($id,22,$wanUpStatInfo["NewUptime"]);
    ...
    logic_setOutput($id,20,"");
    logic_setOutput($id,21,"");
    logic_setOutput($id,22,"");
    ... 
    • Leider habe ich nur die maximale Bitrate der Leitung (z.B. 100Mbit) in Deinen Ausgaben (A3, A4) gefunden. Viel spannender fände ich die tatsächliche Bitrate (z.B. 55Mbit). Auch bei meinen eigenen Forschungen habe ich den Wert nicht gefunden. Hat schon jemand die tatsächliche Bitrate aus einer FB ausgelesen?
    • Zur Info: Die ausgegebenen DNS-Server (A14 ff) sind nicht die aktuell verwendeten, sondern die, die der ISP zuliefert.
    Zuletzt geändert von saegefisch; 28.04.2019, 19:56. Grund: Nachtrag: Typo. Info zu DNS ergänzt

    #2
    GELÖST!
    Update: So bekommt man auch die aktuell ausgehandelte Up/Down-Bitrate, sowie weitere Diganose-Daten, wenn es zu Abbrüchen kommt.
    Zum zusätzlichen Coding aus Post #1 jeweils das folgende ergänzen...

    PHP-Code:
    ...
    [
    a#23            = Akt Upstream                            ]
    [a#24            = Akt. Downstream                        ]
    [a#25            = AVM-DSL-Diag. State                    ]
    [a#26            = AVM-DSL-Diag. CableNOKDist            ]
    [a#27            = AVM-DSL-Diag. LastDiagTime            ]
    [a#28            = AVM-DSL-Diag. SignalLossTime            ]
    [a#29            = AVM-DSL-Diag. DSL Active                ]
    [a#30            = AVM-DSL-Diag. DSL Sync                ]
    ...
    // Get current Status and BitRates (and "Störabstand, Leitungsdämpfung,...")
    $soapLocation    "/upnp/control/wandslifconfig1";
    $soapUri        "urn:dslforum-org:service:WANDSLInterfaceConfig:1";
    $soapFunction     "GetInfo";
    $wanCurStatInfo fritzbox_GetInfo($ipAdr$port$user$pwd$soapLocation$soapUri$soapFunction);

    // Get Statistic Totals + ErrorCounts --> de-comment if needed...
    //$soapLocation    = "/upnp/control/wandslifconfig1";
    //$soapUri        = "urn:dslforum-org:service:WANDSLInterfaceConfig:1";
    //$soapFunction     = "GetStatisticsTotal";
    //$wanStatTotalInfo = fritzbox_GetInfo($ipAdr, $port, $user, $pwd, $soapLocation, $soapUri, $soapFunction);

    // Get AVM DSL-DiagnoseInfo
    // https://avm.de/fileadmin/user_upload/Global/Service/Schnittstellen/wandslifconfigSCPD.pdf
    $soapLocation    "/upnp/control/wandslifconfig1";
    $soapUri        "urn:dslforum-org:service:WANDSLInterfaceConfig:1";
    $soapFunction     "X_AVM-DE_GetDSLDiagnoseInfo";
    $wanAVMDSLDiag fritzbox_GetInfo($ipAdr$port$user$pwd$soapLocation$soapUri$soapFunction);
    ...
    logic_setOutput($id,23,$wanCurStatInfo["NewUpstreamCurrRate"]);
    logic_setOutput($id,24,$wanCurStatInfo["NewDownstreamCurrRate"]);
    logic_setOutput($id,25,$wanAVMDSLDiag["NewX_AVM-DE_DSLDiagnoseState"]);
    logic_setOutput($id,26,$wanAVMDSLDiag["NewX_AVM-DE_CableNokDistance"]);
    logic_setOutput($id,27,$wanAVMDSLDiag["NewX_AVM-DE_DSLLastDiagnoseTime"]);
    logic_setOutput($id,28,$wanAVMDSLDiag["NewX_AVM-DE_DSLSignalLossTime"]);
    logic_setOutput($id,29,$wanAVMDSLDiag["NewX_AVM-DE_DSLActive"]);
    logic_setOutput($id,30,$wanAVMDSLDiag["NewX_AVM-DE_DSLSync"]);
    ...
    logic_setOutput($id,23,"");
    logic_setOutput($id,24,"");
    logic_setOutput($id,25,"");
    logic_setOutput($id,26,"");
    logic_setOutput($id,27,"");
    logic_setOutput($id,28,"");
    logic_setOutput($id,29,"");
    logic_setOutput($id,30,"");
    ... 
    Viel Spaß damit!

    Kommentar


      #3
      Hey saegefisch , danke noch für die Blumen :-)
      Seit wir Nachwuchs haben komme ich bei edomi nicht mehr zu zeitaufwändigen Sachen.
      Ich wollte den LBS gerade um deine Punkte erweitern.
      Allerdings wirft er mir beim reinkopieren deiner Code Schnipsel nur noch Fehler :-/
      Da ich eine Kabel-Fritzbox habe, kann ich nicht ausschließen, dass die DSL-Diagnose-Abfrage vielleicht ein Grund ist - wobei es die XML dafür zur Abfrage gibt.

      Kannst du mir deinen modifizierten Baustein bitte schicken, damit ich vergleichen kann?

      Merci!

      Kommentar


        #4
        Welche Werte stellen die "Empfangenen" und "Gesendeten" Byte dar? Ich kann keine entsprechenden Werte in meiner FB finden. Die Tages- Wochen und Monatswerte sind vollkommen anders als die vom LBS ausgegebenen.
        Es liegt aber offenbar nicht direkt am LBS, da ich auch schon LBS 19000904 getestet habe und dieser dieselben Werte ausgibt.

        FritzOS ist bei mir 06.85.
        Gruß -mfd-
        KNX-UF-IconSet since 2011

        Kommentar


          #5
          Tja, diese Diskrepanz habe ich bislang auch nicht verstanden oder beheben können. Andererseits war mir die "Surf-Menge" auch irgendwie Wumpe und habe darauf nicht viel Wert gelegt. Mir ging es vor allem um den connect, also zu erkennen, ob ich UP bin und mit einer angemessenen Leitungsqualität nach dem handshake.

          Kommentar


            #6
            Irgendwo müssen die Werte aber doch herkommen.
            Ich könnte mir vorstellen, dass der Wert seit dem letzten Reboot der Fritte einfach aufsummiert wird, oder etwas in diese Richtung...
            Gruß -mfd-
            KNX-UF-IconSet since 2011

            Kommentar


              #7
              vermutlich. Aber ist für mich kein Wert, der mich perönlich interessiert, um darauf Zeit zu investieren. Sorry.
              Vielleicht findest Du ja einen Weg; ich bin mir sicher, es gibt eine Reihe Interessierte hier im Forum...

              Kommentar

              Lädt...
              X