Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Pegelwerte Fritzbox 6490 Cable auslesen?

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Pegelwerte Fritzbox 6490 Cable auslesen?

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      sugram @sugram last edited by

      Wollte hier nur berichten, daß ich es nun auch erfolgreich mit Hilfe von arndl umgesetzt bekommen habe.
      Die Box ist eine Mietbox mit der 7.21

      Wal 1 Reply Last reply Reply Quote 0
      • Wal
        Wal Developer @sugram last edited by

        @sugram ,
        die Lösung wäre besser als die Nachricht das es funktioniert.

        S 1 Reply Last reply Reply Quote 0
        • S
          sugram @Wal last edited by

          Das mit der Fehlermeldung ist kann ich nicht erklären.
          Ich habe einfach ein anderes Passwort gewählt und danach ging der Login auch einwandfrei.

          Ob ich nun das crypto Modul benötige, oder nicht, kann ich nicht sagen.
          Ich habe es später wieder installiert.

          Habe dann die MariaDB Datenbank installiert und konfiguriert.
          Danach hatte ich dann auch die Werte in der Tabelle stehen.

          Aktuell verwende ich E-Charts oder Flot zur grafischen Darstellung.
          Das mit Grafana, da steig ich noch nicht ganz durch.

          S 1 Reply Last reply Reply Quote 1
          • S
            sugram @sugram last edited by sugram

            Habe das ganze nun in einem HabPanel dargestellt.
            Die Werte werden alle 60sec aktualisiert
            Zur Darstellung habe ich mir noch ein extra Touch Display gegönnt 🙂

            Aktuell habe ich zum Glück keine Probleme.

            2021-05-01_18h29_41.png

            S 1 Reply Last reply Reply Quote 0
            • S
              sugram @sugram last edited by

              Tja, hat bis heute Nacht super funktioniert.
              Aber seit dem Update auf die 7.27 klappt der Login leider nicht mehr 😞

              Ich bekomme das aktuell auch nicht hin, daß es wieder funktioniert.

              I 1 Reply Last reply Reply Quote 0
              • I
                ichderarnd @sugram last edited by

                @sugram
                Ich kann’s nicht testen. Bis Vodafone meiner Fritzbox die neue Version spendiert, dauert es bestimmt noch ein halbes Jahr…

                S 1 Reply Last reply Reply Quote 0
                • S
                  sugram @ichderarnd last edited by

                  @arndl
                  Nun, daß glaube ich jetzt zwar mal nicht, denn aktuell bekommen alle möglichen das Update, aber selbst wenn es bei dir länger dauern würde, wäre es EXTREM Klasse, wenn du dir das ansehen könntest.
                  Denn mangels Java Script Kenntnisse, kann ich mir da leider selbst nicht helfen.
                  Denn das Monitoring hat wirklich mal bei einer Störung bei der Vodafone Hotline geholfen.
                  Da man hier dann den exakten Zeitpunkt mitteilen kann, seit wann das Problem besteht.
                  Da konnte der Mitarbeiter dann nämlich wirklich was feststellen.

                  I 1 Reply Last reply Reply Quote 0
                  • I
                    ichderarnd @sugram last edited by

                    @sugram
                    In der Login-Funktion war ein blöder Fehler. Warum auch immer das mit der alten fritz.box Version funktioniert hat...
                    Ich hatte das "login_sid.lua?username=" doppelt drin.

                    Die URL im zweiten Request muss wie folgt aussehen:

                                url: loginURL + fritzBenutzer + '&response=' + challenge + '-' + challengeResponse,
                    

                    Die Login Prozedur sieht dann insgesamt so aus:

                    var logging = true;
                    const iconv = require('iconv-lite');
                    const crypto = require('crypto');
                    
                    var sid;
                    var fritzBenutzer = 'ioBroker';
                    var fritzPasswort = '********';
                    var loginURL = 'http://fritz.box/login_sid.lua?username=';
                    
                    function loginAndGetSID(){
                    
                        sid = null;
                    
                        // Challenge holen
                        var options = {
                            url: loginURL + fritzBenutzer,
                            method: 'GET'
                        };
                        request(options, function(error, response, body) {
                        if (!error && response.statusCode == 200) {
                            //log('error: ' + error + ', response: ' + JSON.stringify(response) + ', body: ' + body, 'info');
                            var result = parseXML(body);
                            var challenge = result['SessionInfo.Challenge'];
                            log(challenge);
                    
                            // Einloggen und SID holen
                            var utf16le_encoded = iconv.encode(challenge + '-' + fritzPasswort, 'UTF-16LE', {addBOM: false});
                            var challengeResponse = crypto.createHash('md5').update(utf16le_encoded).digest('hex');
                    
                            options = {
                                url: loginURL + fritzBenutzer + '&response=' + challenge + '-' + challengeResponse,
                                method: 'GET'
                            };
                            request(options, function(error, response, body) {
                                if (!error && response.statusCode == 200) {
                                    var result = parseXML(body);
                                    sid = result['SessionInfo.SID'];
                                    if (logging) log('Logged in. SID = ' + sid, 'info');
                                }
                                else {
                                    log('error: ' + error + ', response: ' + response.statusCode.toString(), 'info');
                                }
                            });
                        }
                        else {
                            log('error: ' + error + ', response: ' + response.statusCode.toString(), 'info');
                        }
                        });
                    }
                    
                    S 1 Reply Last reply Reply Quote 0
                    • S
                      sugram @ichderarnd last edited by

                      @arndl du bist der BESTE!!

                      Klappt nun wieder. VIELEN DANK!!

                      1 Reply Last reply Reply Quote 0
                      • I
                        ichderarnd last edited by

                        @sugram
                        🙂

                        1 Reply Last reply Reply Quote 0
                        • R
                          Rand last edited by Rand

                          @arndl

                          Danke für den Fix - es wäre ggf sinnvoll das oben in den Original Quelltext mit einzubauen;) Hat mich ne gute halbe h gekostet;)
                          Ein Hinweis das die States hinterher unter Javascript [instance] Internet... liegen und nicht unter Internet direkt wäre noch hilfreich (für Anfänger wie mich)
                          Aber danke für das Skript, genau das was ich gesucht habe:) - (Bei mir übrigens mit einer freien 6591 unter 7.29 an Vodafone)

                          Zu guter Letzt - kannst Du die Quellen Deines Grafana Dashboards teilen?:)

                          Edit, vieleicht hilfreich:

                          activateLogging("Internet.Docsis.DS."+ Channel +".CorrectableErrors","FritzBox.DS.30.Down." + Channel + ".CErrors");
                          activateLogging("Internet.Docsis.DS."+ Channel +".UncorrectableErrors","FritzBox.DS.30.Down." + Channel + ".UCErrors");
                          activateLogging("Internet.Docsis.DS."+ Channel +".PowerLevel","FritzBox.DS.30.Down." + Channel + ".PowerLevel");
                          
                          activateLogging("Internet.Docsis.US."+ Channel +".PowerLevel","FritzBox.US.30.Up." + Channel + ".PowerLevel");
                          
                          activateLogging("Internet.Docsis31.DS."+ "C01" +".PowerLevel","FritzBox.DS.31.Down." + "C01" + ".PowerLevel");
                          
                          activateLogging("Internet.Docsis31.US."+ "C00" +".PowerLevel","FritzBox.US.31.Up." + "C00" + ".PowerLevel");
                          
                          function activateLogging(dp,dpalias)
                          {
                              var basepathjs="javascript.0";
                              var influxdpvar = basepathjs + "." +dp;
                              var myalias=dpalias;
                          
                             extendObject(influxdpvar, {common: {custom: {"influxdb.0": {
                                  "enabled": true,
                                  "storageType": "Number",
                                  "aliasId": myalias,
                                  "changesOnly": false,
                                  "debounce": 500,
                                  "changesRelogInterval": "0",
                                  "changesMinDelta": 0,
                                  "retention": 15811200
                                }}}}); // aktivieren 
                              
                          }
                          

                          Wollte jetzt nicht zuviel ändern, sonst hätte ich die Datenpunkte noch in Variablen ausgelagert, aber so ist es einfacher in den existierenden Code (innerhalb der jeweiligen createState Schleifen) einzubauen.

                          S 1 Reply Last reply Reply Quote 0
                          • S
                            sugram @Rand last edited by sugram

                            Hätte da mal ne Frage.

                            Seit kurzer Zeit erhalte ich im Log jede Menge Warnmeldungen.
                            Das Javascript lautet bei mir AVM, also kommt das von dem.
                            Weiß aber aktuell nicht an was das liegt.

                            javascript.0
                            2021-12-17 21:19:00.390	warn	at processTicksAndRejections (internal/process/task_queues.js:84:21)
                            
                            javascript.0
                            2021-12-17 21:19:00.385	warn	at endReadableNT (_stream_readable.js:1241:12)
                            
                            javascript.0
                            2021-12-17 21:19:00.384	warn	at IncomingMessage.EventEmitter.emit (domain.js:483:12)
                            
                            javascript.0
                            2021-12-17 21:19:00.384	warn	at IncomingMessage.emit (events.js:326:22)
                            
                            javascript.0
                            2021-12-17 21:19:00.384	warn	at Object.onceWrapper (events.js:420:28)
                            
                            javascript.0
                            2021-12-17 21:19:00.384	warn	at IncomingMessage.<anonymous> (/opt/iobroker/node_modules/request/request.js:1076:12)
                            
                            javascript.0
                            2021-12-17 21:19:00.384	warn	at Request.EventEmitter.emit (domain.js:483:12)
                            
                            javascript.0
                            2021-12-17 21:19:00.383	warn	at Request.emit (events.js:314:20)
                            
                            javascript.0
                            2021-12-17 21:19:00.383	warn	at Request.<anonymous> (/opt/iobroker/node_modules/request/request.js:1154:10)
                            
                            javascript.0
                            2021-12-17 21:19:00.383	warn	at Request.EventEmitter.emit (domain.js:483:12)
                            
                            javascript.0
                            2021-12-17 21:19:00.382	warn	at Request.emit (events.js:314:20)
                            
                            javascript.0
                            2021-12-17 21:19:00.369	warn	at Request.self.callback (/opt/iobroker/node_modules/request/request.js:185:22)
                            
                            javascript.0
                            2021-12-17 21:19:00.369	warn	at Request._callback (/opt/iobroker/node_modules/iobroker.javascript/lib/request.js:27:17)
                            
                            javascript.0
                            2021-12-17 21:19:00.368	warn	at script.js.AVM:273:25
                            
                            javascript.0
                            2021-12-17 21:19:00.368	warn	at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1439:20)
                            
                            javascript.0
                            2021-12-17 21:19:00.365	warn	State "Internet.Docsis.DS.C32.UncorrectableErrorsPerMinute" not found
                            
                            javascript.0
                            2021-12-17 21:19:00.365	warn	at processTicksAndRejections (internal/process/task_queues.js:84:21)
                            
                            javascript.0
                            2021-12-17 21:19:00.365	warn	at endReadableNT (_stream_readable.js:1241:12)
                            
                            javascript.0
                            2021-12-17 21:19:00.364	warn	at IncomingMessage.EventEmitter.emit (domain.js:483:12)
                            
                            javascript.0
                            2021-12-17 21:19:00.364	warn	at IncomingMessage.emit (events.js:326:22)
                            
                            javascript.0
                            2021-12-17 21:19:00.364	warn	at Object.onceWrapper (events.js:420:28)
                            
                            javascript.0
                            2021-12-17 21:19:00.364	warn	at IncomingMessage.<anonymous> (/opt/iobroker/node_modules/request/request.js:1076:12)
                            
                            javascript.0
                            2021-12-17 21:19:00.364	warn	at Request.EventEmitter.emit (domain.js:483:12)
                            
                            javascript.0
                            2021-12-17 21:19:00.363	warn	at Request.emit (events.js:314:20)
                            
                            javascript.0
                            2021-12-17 21:19:00.363	warn	at Request.<anonymous> (/opt/iobroker/node_modules/request/request.js:1154:10)
                            
                            javascript.0
                            2021-12-17 21:19:00.363	warn	at Request.EventEmitter.emit (domain.js:483:12)
                            
                            javascript.0
                            2021-12-17 21:19:00.363	warn	at Request.emit (events.js:314:20)
                            
                            javascript.0
                            2021-12-17 21:19:00.362	warn	at Request.self.callback (/opt/iobroker/node_modules/request/request.js:185:22)
                            
                            javascript.0
                            2021-12-17 21:19:00.362	warn	at Request._callback (/opt/iobroker/node_modules/iobroker.javascript/lib/request.js:27:17)
                            
                            javascript.0
                            2021-12-17 21:19:00.362	warn	at script.js.AVM:265:21
                            
                            javascript.0
                            2021-12-17 21:19:00.362	warn	at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1439:20)
                            
                            javascript.0
                            2021-12-17 21:19:00.359	warn	State "Internet.Docsis.DS.C32.UncorrectableErrors" not found
                            
                            javascript.0
                            2021-12-17 21:19:00.359	warn	at processTicksAndRejections (internal/process/task_queues.js:84:21)
                            
                            javascript.0
                            2021-12-17 21:19:00.358	warn	at endReadableNT (_stream_readable.js:1241:12)
                            
                            javascript.0
                            2021-12-17 21:19:00.358	warn	at IncomingMessage.EventEmitter.emit (domain.js:483:12)
                            
                            javascript.0
                            2021-12-17 21:19:00.358	warn	at IncomingMessage.emit (events.js:326:22)
                            
                            javascript.0
                            2021-12-17 21:19:00.358	warn	at Object.onceWrapper (events.js:420:28)
                            
                            javascript.0
                            2021-12-17 21:19:00.357	warn	at IncomingMessage.<anonymous> (/opt/iobroker/node_modules/request/request.js:1076:12)
                            
                            javascript.0
                            2021-12-17 21:19:00.357	warn	at Request.EventEmitter.emit (domain.js:483:12)
                            
                            javascript.0
                            2021-12-17 21:19:00.357	warn	at Request.emit (events.js:314:20)
                            
                            javascript.0
                            2021-12-17 21:19:00.357	warn	at Request.<anonymous> (/opt/iobroker/node_modules/request/request.js:1154:10)
                            
                            javascript.0
                            2021-12-17 21:19:00.357	warn	at Request.EventEmitter.emit (domain.js:483:12)
                            
                            javascript.0
                            2021-12-17 21:19:00.356	warn	at Request.emit (events.js:314:20)
                            
                            javascript.0
                            2021-12-17 21:19:00.356	warn	at Request.self.callback (/opt/iobroker/node_modules/request/request.js:185:22)
                            
                            javascript.0
                            2021-12-17 21:19:00.356	warn	at Request._callback (/opt/iobroker/node_modules/iobroker.javascript/lib/request.js:27:17)
                            
                            javascript.0
                            2021-12-17 21:19:00.355	warn	at script.js.AVM:261:47
                            
                            javascript.0
                            2021-12-17 21:19:00.353	warn	getState "Internet.Docsis.DS.C32.UncorrectableErrors" not found (3)
                            
                            javascript.0
                            2021-12-17 21:19:00.353	warn	at processTicksAndRejections (internal/process/task_queues.js:84:21)
                            
                            javascript.0
                            2021-12-17 21:19:00.352	warn	at endReadableNT (_stream_readable.js:1241:12)
                            
                            javascript.0
                            2021-12-17 21:19:00.352	warn	at IncomingMessage.EventEmitter.emit (domain.js:483:12)
                            
                            javascript.0
                            2021-12-17 21:19:00.347	warn	at IncomingMessage.emit (events.js:326:22)
                            
                            javascript.0
                            2021-12-17 21:19:00.347	warn	at Object.onceWrapper (events.js:420:28)
                            
                            javascript.0
                            2021-12-17 21:19:00.346	warn	at IncomingMessage.<anonymous> (/opt/iobroker/node_modules/request/request.js:1076:12)
                            
                            javascript.0
                            2021-12-17 21:19:00.346	warn	at Request.EventEmitter.emit (domain.js:483:12)
                            
                            javascript.0
                            2021-12-17 21:19:00.346	warn	at Request.emit (events.js:314:20)
                            
                            javascript.0
                            2021-12-17 21:19:00.346	warn	at Request.<anonymous> (/opt/iobroker/node_modules/request/request.js:1154:10)
                            
                            javascript.0
                            2021-12-17 21:19:00.346	warn	at Request.EventEmitter.emit (domain.js:483:12)
                            
                            javascript.0
                            2021-12-17 21:19:00.345	warn	at Request.emit (events.js:314:20)
                            
                            javascript.0
                            2021-12-17 21:19:00.345	warn	at Request.self.callback (/opt/iobroker/node_modules/request/request.js:185:22)
                            
                            javascript.0
                            2021-12-17 21:19:00.345	warn	at Request._callback (/opt/iobroker/node_modules/iobroker.javascript/lib/request.js:27:17)
                            
                            javascript.0
                            2021-12-17 21:19:00.345	warn	at script.js.AVM:258:25
                            
                            javascript.0
                            2021-12-17 21:19:00.345	warn	at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1439:20)
                            
                            javascript.0
                            2021-12-17 21:19:00.342	warn	State "Internet.Docsis.DS.C32.CorrectableErrorsPerMinute" not found
                            
                            javascript.0
                            2021-12-17 21:19:00.342	warn	at processTicksAndRejections (internal/process/task_queues.js:84:21)
                            
                            javascript.0
                            2021-12-17 21:19:00.342	warn	at endReadableNT (_stream_readable.js:1241:12)
                            
                            javascript.0
                            2021-12-17 21:19:00.341	warn	at IncomingMessage.EventEmitter.emit (domain.js:483:12)
                            
                            javascript.0
                            2021-12-17 21:19:00.341	warn	at IncomingMessage.emit (events.js:326:22)
                            
                            javascript.0
                            2021-12-17 21:19:00.341	warn	at Object.onceWrapper (events.js:420:28)
                            
                            javascript.0
                            2021-12-17 21:19:00.341	warn	at IncomingMessage.<anonymous> (/opt/iobroker/node_modules/request/request.js:1076:12)
                            
                            javascript.0
                            2021-12-17 21:19:00.341	warn	at Request.EventEmitter.emit (domain.js:483:12)
                            
                            javascript.0
                            2021-12-17 21:19:00.340	warn	at Request.emit (events.js:314:20)
                            
                            javascript.0
                            2021-12-17 21:19:00.340	warn	at Request.<anonymous> (/opt/iobroker/node_modules/request/request.js:1154:10)
                            
                            javascript.0
                            2021-12-17 21:19:00.340	warn	at Request.EventEmitter.emit (domain.js:483:12)
                            
                            javascript.0
                            2021-12-17 21:19:00.340	warn	at Request.emit (events.js:314:20)
                            
                            javascript.0
                            2021-12-17 21:19:00.340	warn	at Request.self.callback (/opt/iobroker/node_modules/request/request.js:185:22)
                            
                            javascript.0
                            2021-12-17 21:19:00.339	warn	at Request._callback (/opt/iobroker/node_modules/iobroker.javascript/lib/request.js:27:17)
                            
                            javascript.0
                            2021-12-17 21:19:00.339	warn	at script.js.AVM:250:21
                            
                            javascript.0
                            2021-12-17 21:19:00.339	warn	at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1439:20)
                            
                            javascript.0
                            2021-12-17 21:19:00.336	warn	State "Internet.Docsis.DS.C32.CorrectableErrors" not found
                            
                            javascript.0
                            2021-12-17 21:19:00.336	warn	at processTicksAndRejections (internal/process/task_queues.js:84:21)
                            
                            javascript.0
                            2021-12-17 21:19:00.336	warn	at endReadableNT (_stream_readable.js:1241:12)
                            
                            javascript.0
                            2021-12-17 21:19:00.336	warn	at IncomingMessage.EventEmitter.emit (domain.js:483:12)
                            
                            javascript.0
                            2021-12-17 21:19:00.336	warn	at IncomingMessage.emit (events.js:326:22)
                            
                            javascript.0
                            2021-12-17 21:19:00.335	warn	at Object.onceWrapper (events.js:420:28)
                            
                            javascript.0
                            2021-12-17 21:19:00.335	warn	at IncomingMessage.<anonymous> (/opt/iobroker/node_modules/request/request.js:1076:12)
                            
                            javascript.0
                            2021-12-17 21:19:00.335	warn	at Request.EventEmitter.emit (domain.js:483:12)
                            
                            javascript.0
                            2021-12-17 21:19:00.335	warn	at Request.emit (events.js:314:20)
                            
                            javascript.0
                            2021-12-17 21:19:00.335	warn	at Request.<anonymous> (/opt/iobroker/node_modules/request/request.js:1154:10)
                            
                            javascript.0
                            2021-12-17 21:19:00.334	warn	at Request.EventEmitter.emit (domain.js:483:12)
                            
                            javascript.0
                            2021-12-17 21:19:00.334	warn	at Request.emit (events.js:314:20)
                            
                            javascript.0
                            2021-12-17 21:19:00.334	warn	at Request.self.callback (/opt/iobroker/node_modules/request/request.js:185:22)
                            
                            javascript.0
                            2021-12-17 21:19:00.334	warn	at Request._callback (/opt/iobroker/node_modules/iobroker.javascript/lib/request.js:27:17)
                            
                            javascript.0
                            2021-12-17 21:19:00.333	warn	at script.js.AVM:246:45
                            
                            javascript.0
                            2021-12-17 21:19:00.331	warn	getState "Internet.Docsis.DS.C32.CorrectableErrors" not found (3)
                            
                            javascript.0
                            2021-12-17 21:19:00.331	warn	at processTicksAndRejections (internal/process/task_queues.js:84:21)
                            
                            javascript.0
                            2021-12-17 21:19:00.331	warn	at endReadableNT (_stream_readable.js:1241:12)
                            
                            javascript.0
                            2021-12-17 21:19:00.330	warn	at IncomingMessage.EventEmitter.emit (domain.js:483:12)
                            
                            javascript.0
                            2021-12-17 21:19:00.330	warn	at IncomingMessage.emit (events.js:326:22)
                            
                            javascript.0
                            2021-12-17 21:19:00.330	warn	at Object.onceWrapper (events.js:420:28)
                            
                            javascript.0
                            2021-12-17 21:19:00.330	warn	at IncomingMessage.<anonymous> (/opt/iobroker/node_modules/request/request.js:1076:12)
                            
                            javascript.0
                            2021-12-17 21:19:00.329	warn	at Request.EventEmitter.emit (domain.js:483:12)
                            
                            javascript.0
                            2021-12-17 21:19:00.329	warn	at Request.emit (events.js:314:20)
                            
                            javascript.0
                            2021-12-17 21:19:00.329	warn	at Request.<anonymous> (/opt/iobroker/node_modules/request/request.js:1154:10)
                            
                            javascript.0
                            2021-12-17 21:19:00.329	warn	at Request.EventEmitter.emit (domain.js:483:12)
                            
                            javascript.0
                            2021-12-17 21:19:00.329	warn	at Request.emit (events.js:314:20)
                            
                            javascript.0
                            2021-12-17 21:19:00.328	warn	at Request.self.callback (/opt/iobroker/node_modules/request/request.js:185:22)
                            
                            javascript.0
                            2021-12-17 21:19:00.328	warn	at Request._callback (/opt/iobroker/node_modules/iobroker.javascript/lib/request.js:27:17)
                            
                            javascript.0
                            2021-12-17 21:19:00.328	warn	at script.js.AVM:244:21
                            
                            javascript.0
                            2021-12-17 21:19:00.328	warn	at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1439:20)
                            
                            javascript.0
                            2021-12-17 21:19:00.325	warn	State "Internet.Docsis.DS.C32.Latency" not found
                            
                            javascript.0
                            2021-12-17 21:19:00.325	warn	at processTicksAndRejections (internal/process/task_queues.js:84:21)
                            
                            javascript.0
                            2021-12-17 21:19:00.325	warn	at endReadableNT (_stream_readable.js:1241:12)
                            
                            javascript.0
                            2021-12-17 21:19:00.325	warn	at IncomingMessage.EventEmitter.emit (domain.js:483:12)
                            
                            javascript.0
                            2021-12-17 21:19:00.324	warn	at IncomingMessage.emit (events.js:326:22)
                            
                            javascript.0
                            2021-12-17 21:19:00.324	warn	at Object.onceWrapper (events.js:420:28)
                            
                            javascript.0
                            2021-12-17 21:19:00.324	warn	at IncomingMessage.<anonymous> (/opt/iobroker/node_modules/request/request.js:1076:12)
                            
                            javascript.0
                            2021-12-17 21:19:00.324	warn	at Request.EventEmitter.emit (domain.js:483:12)
                            
                            javascript.0
                            2021-12-17 21:19:00.323	warn	at Request.emit (events.js:314:20)
                            
                            javascript.0
                            2021-12-17 21:19:00.323	warn	at Request.<anonymous> (/opt/iobroker/node_modules/request/request.js:1154:10)
                            
                            javascript.0
                            2021-12-17 21:19:00.323	warn	at Request.EventEmitter.emit (domain.js:483:12)
                            
                            javascript.0
                            2021-12-17 21:19:00.323	warn	at Request.emit (events.js:314:20)
                            
                            javascript.0
                            2021-12-17 21:19:00.322	warn	at Request.self.callback (/opt/iobroker/node_modules/request/request.js:185:22)
                            
                            javascript.0
                            2021-12-17 21:19:00.318	warn	at Request._callback (/opt/iobroker/node_modules/iobroker.javascript/lib/request.js:27:17)
                            
                            javascript.0
                            2021-12-17 21:19:00.318	warn	at script.js.AVM:243:21
                            
                            javascript.0
                            2021-12-17 21:19:00.317	warn	at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1439:20)
                            
                            javascript.0
                            2021-12-17 21:19:00.314	warn	State "Internet.Docsis.DS.C32.MSE" not found
                            
                            javascript.0
                            2021-12-17 21:19:00.314	warn	at processTicksAndRejections (internal/process/task_queues.js:84:21)
                            
                            javascript.0
                            2021-12-17 21:19:00.314	warn	at endReadableNT (_stream_readable.js:1241:12)
                            
                            javascript.0
                            2021-12-17 21:19:00.313	warn	at IncomingMessage.EventEmitter.emit (domain.js:483:12)
                            
                            javascript.0
                            2021-12-17 21:19:00.313	warn	at IncomingMessage.emit (events.js:326:22)
                            
                            javascript.0
                            2021-12-17 21:19:00.312	warn	at Object.onceWrapper (events.js:420:28)
                            
                            javascript.0
                            2021-12-17 21:19:00.312	warn	at IncomingMessage.<anonymous> (/opt/iobroker/node_modules/request/request.js:1076:12)
                            
                            javascript.0
                            2021-12-17 21:19:00.311	warn	at Request.EventEmitter.emit (domain.js:483:12)
                            
                            javascript.0
                            2021-12-17 21:19:00.311	warn	at Request.emit (events.js:314:20)
                            
                            javascript.0
                            2021-12-17 21:19:00.311	warn	at Request.<anonymous> (/opt/iobroker/node_modules/request/request.js:1154:10)
                            
                            javascript.0
                            2021-12-17 21:19:00.310	warn	at Request.EventEmitter.emit (domain.js:483:12)
                            
                            javascript.0
                            2021-12-17 21:19:00.310	warn	at Request.emit (events.js:314:20)
                            
                            javascript.0
                            2021-12-17 21:19:00.310	warn	at Request.self.callback (/opt/iobroker/node_modules/request/request.js:185:22)
                            
                            javascript.0
                            2021-12-17 21:19:00.310	warn	at Request._callback (/opt/iobroker/node_modules/iobroker.javascript/lib/request.js:27:17)
                            
                            javascript.0
                            2021-12-17 21:19:00.309	warn	at script.js.AVM:242:21
                            
                            javascript.0
                            2021-12-17 21:19:00.308	warn	at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1439:20)
                            
                            javascript.0
                            2021-12-17 21:19:00.305	warn	State "Internet.Docsis.DS.C32.PowerLevel" not found
                            
                            javascript.0
                            2021-12-17 21:19:00.305	warn	at processTicksAndRejections (internal/process/task_queues.js:84:21)
                            
                            javascript.0
                            2021-12-17 21:19:00.304	warn	at endReadableNT (_stream_readable.js:1241:12)
                            
                            javascript.0
                            2021-12-17 21:19:00.304	warn	at IncomingMessage.EventEmitter.emit (domain.js:483:12)
                            
                            javascript.0
                            2021-12-17 21:19:00.304	warn	at IncomingMessage.emit (events.js:326:22)
                            
                            javascript.0
                            2021-12-17 21:19:00.303	warn	at Object.onceWrapper (events.js:420:28)
                            
                            javascript.0
                            2021-12-17 21:19:00.303	warn	at IncomingMessage.<anonymous> (/opt/iobroker/node_modules/request/request.js:1076:12)
                            
                            javascript.0
                            2021-12-17 21:19:00.303	warn	at Request.EventEmitter.emit (domain.js:483:12)
                            
                            javascript.0
                            2021-12-17 21:19:00.302	warn	at Request.emit (events.js:314:20)
                            
                            javascript.0
                            2021-12-17 21:19:00.287	warn	at Request.<anonymous> (/opt/iobroker/node_modules/request/request.js:1154:10)
                            
                            javascript.0
                            2021-12-17 21:19:00.287	warn	at Request.EventEmitter.emit (domain.js:483:12)
                            
                            javascript.0
                            2021-12-17 21:19:00.287	warn	at Request.emit (events.js:314:20)
                            
                            javascript.0
                            2021-12-17 21:19:00.286	warn	at Request.self.callback (/opt/iobroker/node_modules/request/request.js:185:22)
                            
                            javascript.0
                            2021-12-17 21:19:00.286	warn	at Request._callback (/opt/iobroker/node_modules/iobroker.javascript/lib/request.js:27:17)
                            
                            javascript.0
                            2021-12-17 21:19:00.285	warn	at script.js.AVM:241:21
                            
                            javascript.0
                            2021-12-17 21:19:00.284	warn	at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1439:20)
                            
                            javascript.0
                            2021-12-17 21:19:00.281	warn	State "Internet.Docsis.DS.C32.Modulation" not found
                            
                            javascript.0
                            2021-12-17 21:19:00.281	warn	at processTicksAndRejections (internal/process/task_queues.js:84:21)
                            
                            javascript.0
                            2021-12-17 21:19:00.281	warn	at endReadableNT (_stream_readable.js:1241:12)
                            
                            javascript.0
                            2021-12-17 21:19:00.281	warn	at IncomingMessage.EventEmitter.emit (domain.js:483:12)
                            
                            javascript.0
                            2021-12-17 21:19:00.280	warn	at IncomingMessage.emit (events.js:326:22)
                            
                            javascript.0
                            2021-12-17 21:19:00.280	warn	at Object.onceWrapper (events.js:420:28)
                            
                            javascript.0
                            2021-12-17 21:19:00.280	warn	at IncomingMessage.<anonymous> (/opt/iobroker/node_modules/request/request.js:1076:12)
                            
                            javascript.0
                            2021-12-17 21:19:00.280	warn	at Request.EventEmitter.emit (domain.js:483:12)
                            
                            javascript.0
                            2021-12-17 21:19:00.279	warn	at Request.emit (events.js:314:20)
                            
                            javascript.0
                            2021-12-17 21:19:00.279	warn	at Request.<anonymous> (/opt/iobroker/node_modules/request/request.js:1154:10)
                            
                            javascript.0
                            2021-12-17 21:19:00.279	warn	at Request.EventEmitter.emit (domain.js:483:12)
                            
                            javascript.0
                            2021-12-17 21:19:00.279	warn	at Request.emit (events.js:314:20)
                            
                            javascript.0
                            2021-12-17 21:19:00.278	warn	at Request.self.callback (/opt/iobroker/node_modules/request/request.js:185:22)
                            
                            javascript.0
                            2021-12-17 21:19:00.278	warn	at Request._callback (/opt/iobroker/node_modules/iobroker.javascript/lib/request.js:27:17)
                            
                            javascript.0
                            2021-12-17 21:19:00.278	warn	at script.js.AVM:240:21
                            
                            javascript.0
                            2021-12-17 21:19:00.277	warn	at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1439:20)
                            
                            javascript.0
                            2021-12-17 21:19:00.273	warn	State "Internet.Docsis.DS.C32.Frequency" not found
                            

                            Das scheint hier ein Problem zu sein

                            State "Internet.Docsis.DS.C32.UncorrectableErrors" not found
                            

                            Denn den Kanal finde ich als Datenpunkt nicht (mehr)
                            Weiß nicht ob es den vorher gegeben hat.

                            Bild_2021-12-17_213854.png

                            R 1 Reply Last reply Reply Quote 0
                            • R
                              Rand @sugram last edited by

                              @sugram

                              Gibt es den Kanal auf der FB noch?
                              Bei mir fehlen die ersten 4 DS Kanäle seit ein paar Wochen... da hat Vodafone mal wieder umgebaut

                              S 1 Reply Last reply Reply Quote 0
                              • S
                                sugram @Rand last edited by

                                @rand
                                Nein, bei mir ist bei Kanal 28 in der FB Schluß.
                                Allerdings hat sich die FB heute aufgehängt und nach einem reboot sind jetzt keine warnings mehr vorhanden.
                                Keine Ahnung warum, denn die Kanäle sind immer noch die Selben.

                                S 1 Reply Last reply Reply Quote 0
                                • S
                                  sugram @sugram last edited by

                                  zu früh gefreut.
                                  Seit heute sind die Meldungen wieder da.

                                  R 1 Reply Last reply Reply Quote 0
                                  • R
                                    Rand @sugram last edited by

                                    @sugram

                                    Irgendwie ist das seltsam - meine Version des Skriptes geht nur bis Kanal 31 im loop? Da würde er gar kein 32er state anlegen oder versuchen zu befüllen.

                                    Hmm,

                                    wenn ich im Code schaue, dann steht da aber

                                    DOCSIS30DSChannels = Object.entries(tableData.data.channelDs.docsis30).length;
                                    

                                    D.h. wenn aus irgendwelchen Gründen bei Dir ein Kanal 32 in der FB existiert dann würde er versuchen da drauf zu schreiben, und wenn es den State nicht gibt dann mag es zu dem gezeigten Fehler kommen.
                                    Du müsstest also prüfen ob es in dem Augenblick den Kanal in der FB gibt, oder ob das Skript sich irgendwie verschluckt...

                                    S 1 Reply Last reply Reply Quote 0
                                    • S
                                      sugram @Rand last edited by sugram

                                      @rand
                                      Hallo

                                      Hier mal meine aktuellen Modemwerte.
                                      Das geht wie gesagt nur bis 28

                                      1.png

                                      2.png

                                      3.png

                                      R 1 Reply Last reply Reply Quote 0
                                      • R
                                        Rand @sugram last edited by

                                        @sugram

                                        Und du hast aktuell den Fehler?

                                        Schau mal was bei Dir im Skript die Zeile 240 ist

                                        2021-12-17 21:19:00.278	warn	at script.js.AVM:240:21
                                        

                                        Bei mir ist das im Loop über

                                        DOCSIS30DSChannels = Object.entries(tableData.data.channelDs.docsis30).length;
                                        

                                        aber das sollte eigentlich dynamisch aus den Rückgaben kommen... Du könntest mal die Länge ausgeben oder die ganze Tabelle
                                        (etwas obendrüber die Zeile einkommentieren)

                                        log(JSON.stringify(tableData), 'info');
                                        
                                        S 1 Reply Last reply Reply Quote 0
                                        • S
                                          sugram @Rand last edited by

                                          @rand

                                          Ja, ich habe aktuell den Fehler.
                                          Aber ist dennoch seltsam, da ich diesen Fehler bisher noch nie hatte.
                                          Seltsam ist, daß ich jetzt im Javascript auch Meldungen erhalte.
                                          Hab es mal gestoppt und wieder gestartet.
                                          Meldungen:

                                          21.12.2021, 15:29:00.262	[warn ]: javascript.0 (1211)     at script.js.AVM:240:21
                                          21.12.2021, 15:29:00.266	[warn ]: javascript.0 (1211)     at script.js.AVM:241:21
                                          21.12.2021, 15:29:00.280	[warn ]: javascript.0 (1211)     at script.js.AVM:242:21
                                          21.12.2021, 15:29:00.283	[warn ]: javascript.0 (1211)     at script.js.AVM:243:21
                                          21.12.2021, 15:29:00.285	[warn ]: javascript.0 (1211)     at script.js.AVM:244:21
                                          21.12.2021, 15:29:00.296	[warn ]: javascript.0 (1211)     at script.js.AVM:246:45
                                          21.12.2021, 15:29:00.302	[warn ]: javascript.0 (1211)     at script.js.AVM:250:21
                                          21.12.2021, 15:29:00.305	[warn ]: javascript.0 (1211)     at script.js.AVM:258:25
                                          21.12.2021, 15:29:00.307	[warn ]: javascript.0 (1211)     at script.js.AVM:261:47
                                          21.12.2021, 15:29:00.313	[warn ]: javascript.0 (1211)     at script.js.AVM:265:21
                                          21.12.2021, 15:29:00.316	[warn ]: javascript.0 (1211)     at script.js.AVM:273:25
                                          21.12.2021, 15:29:13.077	[info ]: javascript.0 (1211) Stop script script.js.AVM
                                          21.12.2021, 15:29:20.339	[info ]: javascript.0 (1211) Start javascript script.js.AVM
                                          21.12.2021, 15:29:20.391	[info ]: javascript.0 (1211) script.js.AVM: DocsisInfo starting
                                          21.12.2021, 15:29:20.401	[info ]: javascript.0 (1211) script.js.AVM: registered 0 subscriptions and 1 schedule
                                          21.12.2021, 15:29:20.569	[info ]: javascript.0 (1211) script.js.AVM: Logged in. SID = 85503109cd2490b7
                                          21.12.2021, 15:30:00.289	[warn ]: javascript.0 (1211)     at script.js.AVM:240:21
                                          21.12.2021, 15:30:00.292	[warn ]: javascript.0 (1211)     at script.js.AVM:241:21
                                          21.12.2021, 15:30:00.294	[warn ]: javascript.0 (1211)     at script.js.AVM:242:21
                                          21.12.2021, 15:30:00.297	[warn ]: javascript.0 (1211)     at script.js.AVM:243:21
                                          21.12.2021, 15:30:00.299	[warn ]: javascript.0 (1211)     at script.js.AVM:244:21
                                          21.12.2021, 15:30:00.302	[warn ]: javascript.0 (1211)     at script.js.AVM:246:45
                                          21.12.2021, 15:30:00.304	[warn ]: javascript.0 (1211)     at script.js.AVM:250:21
                                          21.12.2021, 15:30:00.307	[warn ]: javascript.0 (1211)     at script.js.AVM:258:25
                                          21.12.2021, 15:30:00.312	[warn ]: javascript.0 (1211)     at script.js.AVM:261:47
                                          21.12.2021, 15:30:00.315	[warn ]: javascript.0 (1211)     at script.js.AVM:265:21
                                          21.12.2021, 15:30:00.318	[warn ]: javascript.0 (1211)     at script.js.AVM:273:25
                                          

                                          Ich poste hier mal das JavaScript

                                          var logging = true;
                                          const iconv = require('iconv-lite');
                                          const crypto = require('crypto');
                                           
                                          var DOCSIS30DSChannels = 0;
                                          var DOCSIS31DSChannels = 0;
                                          var DOCSIS30USChannels = 0;
                                          var DOCSIS31USChannels = 0;
                                           
                                          var sid;
                                          var fritzBenutzer = 'ioBroker';
                                          var fritzPasswort = 'athlonk7';
                                          // var loginURL = 'http://192.168.0.6/login_sid.lua?username=';
                                          var loginURL = 'http://192.168.0.6/login_sid.lua?username=';
                                          var docsisURL = 'http://192.168.0.6/data.lua';
                                           
                                          // Downstream DOCSIS 3.0
                                          for (var i = 1; i <= 31; i++){
                                              var Channel = 'C' + (i < 10 ? '0' + i.toString() : i.toString());
                                              createState('Internet.Docsis.DS.' + Channel + '.Frequency',                    0, false, {name: 'Frequency',  unit: 'MHz',      type: 'mixed', role: 'state'});
                                              createState('Internet.Docsis.DS.' + Channel + '.Modulation',                   0, false, {name: 'Modulation', unit: 'QAM',      type: 'mixed', role: 'state'});
                                              createState('Internet.Docsis.DS.' + Channel + '.PowerLevel',                   0, false, {name: 'PowerLevel', unit: 'dBmV',     type: 'mixed', role: 'state'});
                                              createState('Internet.Docsis.DS.' + Channel + '.MSE',                          0, false, {name: 'MSE',        unit: 'dB',       type: 'mixed', role: 'state'});
                                              createState('Internet.Docsis.DS.' + Channel + '.Latency',                      0, false, {name: 'Latency',    unit: 'ms',       type: 'mixed', role: 'state'});
                                              createState('Internet.Docsis.DS.' + Channel + '.CorrectableErrors',            0, false, {name: 'CorrectableErrors',            type: 'mixed', role: 'state'});
                                              createState('Internet.Docsis.DS.' + Channel + '.CorrectableErrorsPerMinute',   0, false, {name: 'CorrectableErrorsPerMinute',   type: 'mixed', role: 'state'});
                                              createState('Internet.Docsis.DS.' + Channel + '.UncorrectableErrors',          0, false, {name: 'UncorrectableErrors',          type: 'mixed', role: 'state'});
                                              createState('Internet.Docsis.DS.' + Channel + '.UncorrectableErrorsPerMinute', 0, false, {name: 'UncorrectableErrorsPerMinute', type: 'mixed', role: 'state'});
                                          }
                                           
                                          // Upstream DOCSIS 3.0
                                          for (var i = 0; i <= 5; i++){
                                              var Channel = 'C0' + i.toString();
                                              createState('Internet.Docsis.US.' + Channel + '.Frequency',       0, false, {name: 'Frequency',  unit: 'MHz',  type: 'mixed', role: 'state'});
                                              createState('Internet.Docsis.US.' + Channel + '.Modulation',      0, false, {name: 'Modulation', unit: 'QAM',  type: 'mixed', role: 'state'});
                                              createState('Internet.Docsis.US.' + Channel + '.MultiplexMethod', 0, false, {name: 'MultiplexMethod',          type: 'mixed', role: 'state'});
                                              createState('Internet.Docsis.US.' + Channel + '.PowerLevel',      0, false, {name: 'PowerLevel', unit: 'dBmV', type: 'mixed', role: 'state'});
                                          }
                                           
                                          // Downstream DOCSIS 3.1
                                          createState('Internet.Docsis31.DS.C01.Frequency',      0, false, {name: 'Frequency',  unit: 'MHz',    type: 'mixed', role: 'state'});
                                          createState('Internet.Docsis31.DS.C01.Type',           0, false, {name: 'Modulation', unit: 'K',      type: 'mixed', role: 'state'});
                                          createState('Internet.Docsis31.DS.C01.PowerLevel',     0, false, {name: 'PowerLevel', unit: 'dBmV',   type: 'mixed', role: 'state'});
                                           
                                          // Upstream DOCSIS 3.1
                                          createState('Internet.Docsis31.US.C00.Frequency',      0, false, {name: 'Frequency',  unit: 'MHz',    type: 'mixed', role: 'state'});
                                          createState('Internet.Docsis31.US.C00.Type',           0, false, {name: 'Modulation', unit: 'K',      type: 'mixed', role: 'state'});
                                          createState('Internet.Docsis31.US.C00.MultiplexMethod',0, false, {name: 'MultiplexMethod',            type: 'mixed', role: 'state'});
                                          createState('Internet.Docsis31.US.C00.PowerLevel',     0, false, {name: 'PowerLevel', unit: 'dBmV',   type: 'mixed', role: 'state'});
                                           
                                          /**
                                           * Simple XML parser
                                           * @param {String} xml
                                           * @return {Object}
                                           */
                                          function parseXML(xml) {
                                           
                                              var beg = -1;
                                              var end = 0;
                                              var tmp = 0;
                                              var current = [];
                                              var obj = {};
                                              var from = -1;
                                           
                                              while (true) {
                                           
                                                  beg = xml.indexOf('<', beg + 1);
                                                  if (beg === -1)
                                                      break;
                                           
                                                  end = xml.indexOf('>', beg + 1);
                                                  if (end === -1)
                                                      break;
                                           
                                                  var el = xml.substring(beg, end + 1);
                                                  var c = el[1];
                                           
                                                  if (c === '?' || c === '/') {
                                           
                                                      var o = current.pop();
                                           
                                                      if (from === -1 || o !== el.substring(2, el.length - 1))
                                                          continue;
                                           
                                                      var path = current.join('.') + '.' + o;
                                                      var value = xml.substring(from, beg);
                                           
                                                      if (typeof(obj[path]) === 'undefined')
                                                          obj[path] = value;
                                                      else if (obj[path] instanceof Array)
                                                          obj[path].push(value);
                                                      else
                                                          obj[path] = [obj[path], value];
                                           
                                                      from = -1;
                                                      continue;
                                                  }
                                           
                                                  tmp = el.indexOf(' ');
                                                  var hasAttributes = true;
                                           
                                                  if (tmp === -1) {
                                                      tmp = el.length - 1;
                                                      hasAttributes = false;
                                                  }
                                           
                                                  from = beg + el.length;
                                           
                                                  var isSingle = el[el.length - 2] === '/';
                                                  var name = el.substring(1, tmp);
                                           
                                                  if (!isSingle)
                                                      current.push(name);
                                           
                                                  if (!hasAttributes)
                                                      continue;
                                           
                                                  var match = el.match(/\w+\=\".*?\"/g);
                                                  if (match === null)
                                                      continue;
                                           
                                                  var attr = {};
                                                  var length = match.length;
                                           
                                                  for (var i = 0; i < length; i++) {
                                                      var index = match[i].indexOf('"');
                                                      attr[match[i].substring(0, index - 1)] = match[i].substring(index + 1, match[i].length - 1);
                                                  }
                                           
                                                  obj[current.join('.') + (isSingle ? '.' + name : '') + '[]'] = attr;
                                              }
                                           
                                              return obj;
                                          };
                                           
                                          function loginAndGetSID(){
                                           
                                              sid = null;
                                           
                                              // Challenge holen
                                              var options = {
                                                  url: loginURL + fritzBenutzer,
                                                  method: 'GET'
                                              };
                                              request(options, function(error, response, body) {
                                              if (!error && response.statusCode == 200) {
                                                  //if (logging) log('error: ' + error + ', response: ' + JSON.stringify(response) + ', body: ' + body, 'info');
                                                  var result = parseXML(body);
                                                  var challenge = result['SessionInfo.Challenge'];
                                           
                                                  // Einloggen und SID holen
                                                  var utf16le_encoded = iconv.encode(challenge + '-' + fritzPasswort, 'UTF-16LE', {addBOM: false});
                                                  var challengeResponse = crypto.createHash('md5').update(utf16le_encoded).digest('hex');
                                           
                                                  options = {
                                                      url: loginURL + fritzBenutzer + '&response=' + challenge + '-' + challengeResponse,
                                                      method: 'GET'
                                                  };
                                                  request(options, function(error, response, body) {
                                                      if (!error && response.statusCode == 200) {
                                                          var result = parseXML(body);
                                                          sid = result['SessionInfo.SID'];
                                                          if (logging) log('Logged in. SID = ' + sid, 'info');
                                                      }
                                                      else {
                                                          log('error: ' + error + ', response: ' + response.statusCode.toString(), 'info');
                                                      }
                                                  });
                                              }
                                              else {
                                                  log('error: ' + error + ', response: ' + response.statusCode.toString(), 'info');
                                              }
                                              });
                                          }
                                           
                                          // Wenn keine Daten abgerufen werden konnten, werden die States auf NULL gesetzt
                                          function setStates2NullValues(){
                                           
                                              var NullValue = null;
                                           
                                              // DOCSIS 3.0 Downstream Channels
                                              for (i = 0; i < DOCSIS30DSChannels; i++) {
                                                  setState('Internet.Docsis.DS.C' + (i < 10 ? '0' : '') + i.toString() + '.Frequency', NullValue, true);
                                                  setState('Internet.Docsis.DS.C' + (i < 10 ? '0' : '') + i.toString() + '.Modulation', NullValue, true);
                                                  setState('Internet.Docsis.DS.C' + (i < 10 ? '0' : '') + i.toString() + '.PowerLevel', NullValue, true);
                                                  setState('Internet.Docsis.DS.C' + (i < 10 ? '0' : '') + i.toString() + '.MSE', NullValue, true);
                                                  setState('Internet.Docsis.DS.C' + (i < 10 ? '0' : '') + i.toString() + '.Latency', NullValue, true);
                                                  setState('Internet.Docsis.DS.C' + (i < 10 ? '0' : '') + i.toString() + '.CorrectableErrors', NullValue, true);
                                                  setState('Internet.Docsis.DS.C' + (i < 10 ? '0' : '') + i.toString() + '.CorrectableErrorsPerMinute', NullValue, true);
                                                  setState('Internet.Docsis.DS.C' + (i < 10 ? '0' : '') + i.toString() + '.UncorrectableErrors', NullValue, true);
                                                  setState('Internet.Docsis.DS.C' + (i < 10 ? '0' : '') + i.toString() + '.UncorrectableErrorsPerMinute', NullValue, true);
                                              }
                                           
                                              // DOCSIS 3.1 Downstream Channel
                                              setState('Internet.Docsis31.DS.C01.PowerLevel', NullValue, true);
                                              setState('Internet.Docsis31.DS.C01.Type', NullValue, true);
                                              setState('Internet.Docsis31.DS.C01.Frequency', NullValue, true);
                                           
                                              // DOCSIS 3.0 Upstream Channels
                                              for (i = 0; i < DOCSIS30USChannels; i++) {
                                                  setState('Internet.Docsis.US.C' + (i < 10 ? '0' : '') + i.toString() + '.Frequency', NullValue, true);
                                                  setState('Internet.Docsis.US.C' + (i < 10 ? '0' : '') + i.toString() + '.Modulation', NullValue, true);
                                                  setState('Internet.Docsis.US.C' + (i < 10 ? '0' : '') + i.toString() + '.MultiplexMethod', NullValue, true);
                                                  setState('Internet.Docsis.US.C' + (i < 10 ? '0' : '') + i.toString() + '.PowerLevel', NullValue, true);
                                              }
                                           
                                              // DOCSIS 3.1 Upstream Channel
                                              setState('Internet.Docsis31.US.C00.PowerLevel', NullValue, true);
                                              setState('Internet.Docsis31.US.C00.Type', NullValue, true);
                                              setState('Internet.Docsis31.US.C00.MultiplexMethod', NullValue, true);
                                              setState('Internet.Docsis31.US.C00.Frequency', NullValue, true);
                                          }
                                           
                                          // Holt die Informationen von der Fritzbox Benutzeroberfläche. Ab fritz.OS Version 7.2x werden die Informationen als JSON-String übermittelt (getCableModemChannelInfos Version 2)
                                          function getCableModemChannelInfosV2(){
                                           
                                              var NullValue = null;
                                              var tableData;
                                           
                                              var options = {
                                                  url: docsisURL,
                                                  method: 'POST',
                                                  headers: {
                                                      'Content-Type': 'application/x-www-form-urlencoded'
                                                  },
                                                  body: 'xhr=1&sid=' + sid + '&lang=de&page=docInfo&xhrId=all&no_sidrenew='
                                              };
                                              request(options, function(error, response, body) {
                                                  if (!error && response.statusCode == 200) {
                                                      tableData = JSON.parse(body);
                                                      if(tableData){
                                                          //log(JSON.stringify(tableData), 'info');
                                                          
                                                          // DOCSIS 3.0 Downstream Channels
                                                          DOCSIS30DSChannels = Object.entries(tableData.data.channelDs.docsis30).length;
                                                          for (i = 0; i < DOCSIS30DSChannels; i++) {
                                           
                                                              var channelID = parseInt(tableData.data.channelDs.docsis30[i].channelID);
                                           
                                                              setState('Internet.Docsis.DS.C' + (channelID < 10 ? '0' : '') + tableData.data.channelDs.docsis30[i].channelID + '.Frequency', parseInt(tableData.data.channelDs.docsis30[i].frequency), true);
                                                              setState('Internet.Docsis.DS.C' + (channelID < 10 ? '0' : '') + tableData.data.channelDs.docsis30[i].channelID + '.Modulation', parseInt(tableData.data.channelDs.docsis30[i].type.replace('QAM', '')), true);
                                                              setState('Internet.Docsis.DS.C' + (channelID < 10 ? '0' : '') + tableData.data.channelDs.docsis30[i].channelID + '.PowerLevel', parseFloat(tableData.data.channelDs.docsis30[i].powerLevel), true);
                                                              setState('Internet.Docsis.DS.C' + (channelID < 10 ? '0' : '') + tableData.data.channelDs.docsis30[i].channelID + '.MSE', parseFloat(tableData.data.channelDs.docsis30[i].mse), true);
                                                              setState('Internet.Docsis.DS.C' + (channelID < 10 ? '0' : '') + tableData.data.channelDs.docsis30[i].channelID + '.Latency', parseFloat(tableData.data.channelDs.docsis30[i].latency), true);
                                           
                                                              var correctableErrors = getState('Internet.Docsis.DS.C' + (channelID < 10 ? '0' : '') + tableData.data.channelDs.docsis30[i].channelID + '.CorrectableErrors');
                                                              var lastValue = correctableErrors.val;
                                                              var ts_diff = new Date().getTime() - correctableErrors.ts;
                                                              var newValue = parseInt(tableData.data.channelDs.docsis30[i].corrErrors);
                                                              setState('Internet.Docsis.DS.C' + (channelID < 10 ? '0' : '') + tableData.data.channelDs.docsis30[i].channelID + '.CorrectableErrors', newValue, true);
                                                              // Die Differenz zum letzten Wert nur dann speichern, wenn dieser ca. 1 Min. alt ist
                                                              if (ts_diff > 50000 && ts_diff < 70000){
                                                                  if (newValue > lastValue){
                                                                      setState('Internet.Docsis.DS.C' + (channelID < 10 ? '0' : '') + tableData.data.channelDs.docsis30[i].channelID + '.CorrectableErrorsPerMinute', newValue - lastValue, true);
                                                                  }
                                                              }
                                                              else {
                                                                  setState('Internet.Docsis.DS.C' + (channelID < 10 ? '0' : '') + tableData.data.channelDs.docsis30[i].channelID + '.CorrectableErrorsPerMinute', NullValue, true);
                                                              }
                                           
                                                              var uncorrectableErrors = getState('Internet.Docsis.DS.C' + (channelID < 10 ? '0' : '') + tableData.data.channelDs.docsis30[i].channelID + '.UncorrectableErrors');
                                                              var lastValue = uncorrectableErrors.val;
                                                              var ts_diff = new Date().getTime() - uncorrectableErrors.ts;
                                                              var newValue = parseInt(tableData.data.channelDs.docsis30[i].nonCorrErrors);
                                                              setState('Internet.Docsis.DS.C' + (channelID < 10 ? '0' : '') + tableData.data.channelDs.docsis30[i].channelID + '.UncorrectableErrors', newValue, true);
                                                              // Die Differenz zum letzten Wert nur dann speichern, wenn dieser ca. 1 Min. alt ist
                                                              if (ts_diff > 50000 && ts_diff < 70000){
                                                                  if (newValue > lastValue){
                                                                      setState('Internet.Docsis.DS.C' + (channelID < 10 ? '0' : '') + tableData.data.channelDs.docsis30[i].channelID + '.UncorrectableErrorsPerMinute', newValue - lastValue, true);
                                                                  }
                                                              }
                                                              else {
                                                                  setState('Internet.Docsis.DS.C' + (channelID < 10 ? '0' : '') + tableData.data.channelDs.docsis30[i].channelID + '.UncorrectableErrorsPerMinute', NullValue, true);
                                                              }
                                                          }
                                           
                                                          // DOCSIS 3.1 Downstream Channel
                                                          if (tableData.data.channelDs.docsis31 != null){
                                                              DOCSIS31DSChannels = 1;
                                                              setState('Internet.Docsis31.DS.C01.PowerLevel', parseFloat(tableData.data.channelDs.docsis31[0].powerLevel), true);
                                                              setState('Internet.Docsis31.DS.C01.Type', parseInt(tableData.data.channelDs.docsis31[0].type.replace('K', '')), true);
                                                              setState('Internet.Docsis31.DS.C01.Frequency', tableData.data.channelDs.docsis31[0].frequency, true);
                                                          }
                                           
                                                          // DOCSIS 3.0 Upstream Channels
                                                          DOCSIS30USChannels = Object.entries(tableData.data.channelUs.docsis30).length;
                                                          for (i = 0; i < DOCSIS30USChannels; i++) {
                                                              var channelID = parseInt(tableData.data.channelUs.docsis30[i].channelID);
                                                              setState('Internet.Docsis.US.C' + (channelID < 10 ? '0' : '') + tableData.data.channelUs.docsis30[i].channelID + '.Frequency', parseInt(tableData.data.channelUs.docsis30[i].frequency), true);
                                                              setState('Internet.Docsis.US.C' + (channelID < 10 ? '0' : '') + tableData.data.channelUs.docsis30[i].channelID + '.Modulation', parseInt(tableData.data.channelUs.docsis30[i].type.replace('QAM', '')), true);
                                                              setState('Internet.Docsis.US.C' + (channelID < 10 ? '0' : '') + tableData.data.channelUs.docsis30[i].channelID + '.MultiplexMethod', tableData.data.channelUs.docsis30[i].multiplex, true);
                                                              setState('Internet.Docsis.US.C' + (channelID < 10 ? '0' : '') + tableData.data.channelUs.docsis30[i].channelID + '.PowerLevel', parseFloat(tableData.data.channelUs.docsis30[i].powerLevel), true);
                                                          }
                                           
                                                          // DOCSIS 3.1 Upstream Channel
                                                          if (tableData.data.channelUs.docsis31 != null){
                                                              DOCSIS31USChannels = 1;
                                                              setState('Internet.Docsis31.US.C00.PowerLevel', parseFloat(tableData.data.channelUs.docsis31[0].powerLevel), true);
                                                              setState('Internet.Docsis31.US.C00.Type', parseInt(tableData.data.channelUs.docsis31[0].type.replace('K', '')), true);
                                                              setState('Internet.Docsis31.US.C00.MultiplexMethod', tableData.data.channelUs.docsis31[0].multiplex, true);
                                                              setState('Internet.Docsis31.US.C00.Frequency', parseInt(tableData.data.channelUs.docsis31[0].frequency), true);
                                                          }
                                           
                                                      }
                                                      else{
                                                          log('Empty response', 'error');
                                                          setStates2NullValues();
                                                          loginAndGetSID();
                                                      }
                                                  }
                                                  else {
                                                      log('error: ' + error + ', response: ' + response.statusCode.toString(), 'error');
                                                      setStates2NullValues();
                                                      loginAndGetSID();
                                                  }
                                              });
                                           
                                          }
                                           
                                          if (logging) log('DocsisInfo starting', 'info');
                                           
                                          // SID holen und merken (User Token)
                                          loginAndGetSID();
                                          var getSIDinterval = setInterval(loginAndGetSID, 900000);   // Alle 15 Minuten neue SID holen
                                           
                                          schedule("* * * * *", function() {                          // Zu jeder vollen Minute die Fritzbox DOCSIS-Daten abfragen
                                              getCableModemChannelInfosV2();
                                          });
                                          
                                          
                                          S 1 Reply Last reply Reply Quote 0
                                          • S
                                            sugram @sugram last edited by

                                            Also langsam glaube ich, daß es an der Fritte liegt.
                                            Gerade eben wieder das gleiche, komme nicht per WLAN auf die FB.
                                            Mußte dann wieder FB vom Strom nehmen, damit wieder alles geht.
                                            Habe danach auch den Raspberry neu booten müssen, da er die Verbindung nicht mehr aufbauen konnte. (war beim letzten mal auch so)
                                            Habe nun das Script mal gestoppt und gestartet, und aktuell sind keinerlei Fehlermeldung im Log.
                                            Alles irgendwie seltsam.
                                            Wenn ich das Problem wieder habe, dann schaue ich mal ob ich per LAN auf die Fritte komme und evtl. steht dann da was im Log file der Fritte drin.

                                            I 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            695
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            20
                                            199
                                            27441
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo