NEWS
Pegelwerte Fritzbox 6490 Cable auslesen?
-
@djmarc75
Danke. Trotz Abschaltung und Neustart der Instanz, bleibt die Meldung:javascript.0 2023-08-07 13:16:00.290 error Error in request callback: TypeError: Cannot read properties of undefined (reading 'replace')
-
Man kann sicher hier die Meldungen deaktivieren, aber das Script kann aktuell die Werte nicht auslesen.
Zumindest stehen bei mir keine Werte mehr drinnen.
Also nützt es ja nicht's die Meldungen nur zu deaktivieren -
@sugram
konntest Du etwas herausfinden bei Dir?GGf. hilfreich für @arndl , dass die Fehlermeldung auch auftritt, wenn die zusätzlichen NPM-Module nicht installiert/eingetragen sind. Habe diese Notwendigkeit erst später entdeckt, hat aber keine Änderung gebracht.
Kann auch gerne testen und etwas zur Verfügung stellen mit 7.56
-
@dieter_p
Im Script sollten folgende Zeilen zu finden sein:tableData = JSON.parse(body); if(tableData){ //log(JSON.stringify(tableData), 'info');
Wenn die beiden Schrägstriche vor dem "log" entfernt werden, werden die JSON Daten ins Log geschrieben:
tableData = JSON.parse(body); if(tableData){ log(JSON.stringify(tableData), 'info');
Dann Script neu starten und mir den Inhalt des Logs als persönliche Nachricht zusenden.
-
@arndl
Danke, hab dir den log geschickt. Interessant, dass alle meine Kanäle (DOCSIS 3.0 & 3.1) sowohl im DS als auch im US dort vollständig mit Werten auftauchen. Nur bei den Datenpunkten im IObroker fehlen Kanäle und Werte.
Z.B. es gibt DPs im DS DOCSIS 3.0 von 1-30 im IObroker. In der FB wird aber nur Kanal 1-24 genutzt.
-
@arndl hab dir den Log auch zukommen lassen.
Soweit ich das beurteilen kann, sind bei mir hier auch die Werte vorhanden, werden aber nicht mehr in die Datenpunkte übernommen -
-
@arndl said in Pegelwerte Fritzbox 6490 Cable auslesen?:
Ich guck mal, ob ich das morgen Abend ans Laufen bringen kann.
Wir sind dir ja sehr dankbar das du das machst. Also von daher keinen Stress
-
Ich habe das Script angepasst und mit Euren Daten getestet. Bitte beachten, dass ich für die DOCSIS 3.1 Kanäle die Datenpunkte "Type" jetzt auch "Modulation" genannt habe. "Type" könnt Ihr in Euren Objekten also löschen. Sie werden nicht mehr gefüllt.
Über die Variable "fritzboxJsonVersion" lässt sich einstellen, ob eine Fritzbox mit alter oder neuer Software abgefragt wird (bei mir läuft ja immer noch die alte Fritz OS Version).
-
@arndl
Vielen herzlichen Dank!
Habe gerade mal auf die Schnelle geschaut.
Zu erst bekam ich keine gefüllten DPs und hab nur den Fehler gesehen:
javascript.0 2023-08-13 09:49:09.687 error Request error: Error: getaddrinfo ENOTFOUND fritz.box
Dann wie im alten Script die Adresse der FB nicht per DNS sondern per IP angepasst und ich bekomme aktuelle DPs befüllt.
Das sieht schon super aus! Eine Kleinigkeit scheint aber noch nicht zu stimmen.
Hab die alten DPs jetzt mal gelöscht um sicher nur DPs vom neuen Skript zu haben.
Er legt gemäß meiner Nutzung im DOCSIS 3.0 DS Kanal 1-31 an. Ab Kanal 25 werden die DPs aber nicht befüllt/ da steht nur 0 drin.DOCSIS 3.1 und der komplette US funktioniert 1a
-
@dieter_p
Ich habe gerade nochmal nachgesehen: In Deiner Beispieldatei sind 24 DOSCSIS 3.0 Downstream Kanäle enthalten (Kanal 3 - 17, 1 - 2, 18 - 24).
Und die Fritzbox zeigt Dir mehr an?DNS: Anscheinend nutzt Du einen anderen DNS als den der Fritzbox. Daher kann er den Namen "fritz.box" nicht auflösen. Mit IP Adresse geht's natürlich auch.
Edit: Bei den Vodafone Internet-Anschlüssen, die kein DOCSIS 3.1 Downstream haben, gibt es mehr DOCSIS 3.0 Kanäle. Daher lege ich im Script mehr an. Wenn nicht alle gefüllt werden, ist das normal
-
@arndl
du bist der beste!Hab auch alle Datenpunkte gelöscht und wieder anlegen lassen zur besseren Übersicht.
Vielen Dank, jetzt läuft es wieder. -
@arndl
vielen Dank! Stimmt natürlich und man sollte sowas nicht teils auf dem Smartphone prüfen
Edit: Möchte nicht nörgeln nur fragen ob vielleicht sogar ich hieran etwas ändern kann?
javascript.0 2023-08-13 11:31:00.362 info State value to set for "javascript.0.Internet.Docsis31.US.C00.MultiplexMethod" has to be one of type "string", "number", "boolean" but received type "object"
-
@dieter_p
Wenn Du ganz rechts in der Zeile dieses Objektes auf den Stift klickst, welcher Datentyp ist dort eingestellt? Steht da "gemischt"? -
@sugram
Danke! -
Die Meldungen habe ich auch in meinem Log
javascript.0 2023-08-13 16:32:00.400 info State value to set for "javascript.0.Internet.Docsis31.US.C00.MultiplexMethod" has to be one of type "string", "number", "boolean" but received type "object" javascript.0 2023-08-13 16:31:00.416 info State value to set for "javascript.0.Internet.Docsis31.US.C00.MultiplexMethod" has to be one of type "string", "number", "boolean" but received type "object"
@arndl bei dem Objekt steht "mixed"
{ "common": { "name": "MultiplexMethod", "type": "mixed", "role": "state" }, "native": {}, "type": "state", "from": "system.adapter.javascript.0", "user": "system.user.admin", "ts": 1691922195199, "_id": "javascript.0.Internet.Docsis31.US.C00.MultiplexMethod" }
-
@sugram @arndl
ja bei mir identisch "mixed". -
@dieter_p
Ich habe diese Fehler nicht, eigenartig. Es muss mit der Version einer der installierten Komponenten zu tun haben. Ich habe „mixed“ verwendet, damit ich auch NULL Werte in die Variablen schreiben kann, wenn der Abruf von der Fritzbox nicht klappt. Dann muss ich sehen, ob ich eine andere Lösung finde… -
@arndl
Danke. Ich weiß nicht ob man hier von Fehler sprechen kann. Die Auslesung der Pegelwerte funktioniert. Die Meldung ist ja vom Typ Info und bedeutet für mich dass der gefüllte Inhalt nicht zum Datentyp passt...(so verstehe ich es).Da der DP vom Skript angelegt wird, frag ich mich ob man das ggf ändern kann, oder ich einfach Ruhe hab, wenn ich manuell die DPs in ihren Typen anpasse?
Es gibt Schlimmeres aber so hab ich nun jede Minute diese Meldung im Log für jeden meiner Kanäle.
-
@arndl ich habe diesen "Fehler" nur bei einem Kanal. Da kann er halt aktuell keine Daten lesen bzw, dann schreiben.
Aber das ist auch weiter nicht schlimm.Bei mir müßte es es dieser Kanal sein wo er die Meldung im LOG ausgibt.