NEWS
Javascript Adapter - sonderbare Funktionsweise
-
Hallo Community,
ich habe ein sonderbares Problem mit dem Javascript-Adapter.
Angefangen hat es mit der folgenden Fehlermeldung, die im Zusammenhang mit dem ShellyVerbrauchs-Script entstand. Die Werte wurden zwar immer geschrieben, aber die Fehlermeldung ist dennoch sehr störend.Mit dem Script-Hersteller haben wir bereits versucht, das Problem zu lösen, jedoch nicht final gelöst.
Bei der Lösungsfindung wurde u.a. folgendes beobachtet:
ich lösche die Instanz Javascript, deinstalliere den Adapter, installiere ihn dann neu und alle Scripte sind nach wie vor da. Das ist doch nicht normal, oder?Iobroker wurde bereits gefixt , Raspi rebootet und der JS-Adapter mehrfach de-und installiert. Leider komme ich nun nicht mehr weiter und möchte hier um Unterstützung bitten. Es läuft der Adapter in der Version 5.2.13.
Grundsätzlich gibt der Adapter ständig sehr viele Fehlermeldungen aus, u.a. solche:
javascript.0 2021-11-03 20:48:20.043 warn at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/Invocation.js:268:28 javascript.0 2021-11-03 20:48:20.043 warn at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/Job.js:168:15) javascript.0 2021-11-03 20:48:20.042 warn at Job.job (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1313:34) javascript.0 2021-11-03 20:48:20.042 warn at Object.<anonymous> (script.js.fenster:6:4) javascript.0 2021-11-03 20:48:20.041 warn at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1439:20) javascript.0 2021-11-03 20:48:20.038 warn State "upnp.0.WANDevice_-_FRITZ!Box_6591_Cable_(lgi).WANDevice.WANConnectionDevice.WANIPConnection.GetStatusInfo" not found javascript.0 2021-11-03 20:48:20.038 warn at processTimers (internal/timers.js:497:7) javascript.0 2021-11-03 20:48:20.037 warn at listOnTimeout (internal/timers.js:554:17)
Bin für jede Hilfestellung oder Fehleranalyse dankbar.
Systemdata Bitte Ausfüllen Hardwaresystem: Pi4 Arbeitsspeicher: 4GB Festplattenart: SD-Karte Betriebssystem: raspian Node-Version: V12.22.7 Nodejs-Version: V12.22.7 NPM-Version: 6.14.15 Installationsart: Manuell -
@pahan sagte in [Javascript Adapter - sonderbare Funktionsweise]
Du versuchst den State
upnp.0.WANDevice_-_FRITZ!Box_6591_Cable_(lgi).WANDevice.WANConnectionDevice.WANIPConnection.GetStatusInfo
zu setzen - den findet er nicht. Ich gehe von einem Tippfehler aus.A.
-
@pahan sagte in Javascript Adapter - sonderbare Funktionsweise:
Grundsätzlich gibt der Adapter ständig sehr viele Fehlermeldungen aus
Vielleicht solltest du die dann mal genau lesen. Üblicherweise weisen Fehlermeldungen nämlich auf Fehler hin.
-
@pahan sagte in Javascript Adapter - sonderbare Funktionsweise:
Grundsätzlich gibt der Adapter ständig sehr viele Fehlermeldungen aus, u.a. solche:
Das ist nur eine einzige Fehlermeldung. Die Ausgabe über mehrere Zeilen stellt den sogenannten Stack-Trace dar. D.h. Funktion ruft Funktion auf welche wiederum eine Funktion aufruft.
Die folgenden 2 Zeilen hätten dich auf die richtige Fährte gesetzt.
Ein Datenpunktname und der Schlüsseltext "Not found". Wie auch schon geschrieben.javascript.0 2021-11-03 20:48:20.041 warn at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1439:20) javascript.0 2021-11-03 20:48:20.038 warn State "upnp.0.WANDevice_-_FRITZ!Box_6591_Cable_(lgi).WANDevice.WANConnectionDevice.WANIPConnection.GetStatusInfo" not found
-
@oliverio sagte in Javascript Adapter - sonderbare Funktionsweise:
@pahan sagte in Javascript Adapter - sonderbare Funktionsweise:
Grundsätzlich gibt der Adapter ständig sehr viele Fehlermeldungen aus, u.a. solche:
Das ist nur eine einzige Fehlermeldung. Die Ausgabe über mehrere Zeilen stellt den sogenannten Stack-Trace dar. D.h. Funktion ruft Funktion auf welche wiederum eine Funktion aufruft.
Die folgenden 2 Zeilen hätten dich auf die richtige Fährte gesetzt.
Ein Datenpunktname und der Schlüsseltext "Not found". Wie auch schon geschrieben.Nun ja, um diesen Datenpunkt ging es mir eher nicht, sondern viel mehr um die Fehlermeldungen in Verbindung mit dem Shelly-Verbrauchsrechner (Bild oben).
Aber gut, ich habe noch ein paar Tests durchgeführt und denke, dass ich einigermaßen klarkomme.
Zwei Fragen nur noch:
-
ist das normal, dass wenn ich JS komplett deinstalliert habe und dann neu installiert, dass die alten Scripte wieder da waren, ohne das ich sie eingefügt hatte.
-
ich bekomme sehr viele "info" Meldungen im Protokoll. Wie sind diese zu handhaben? Reine Empfehlung: die Adapter auf Error stellen, damit das Protokoll nicht überläuft oder diese "info" Meldungen einfach nicht beachten? zB:
host.raspberrypi 2021-11-04 00:49:09.382 info instance system.adapter.ical.1 terminated with code 0 (NO_ERROR) ical.1 2021-11-04 00:49:08.837 info Terminated (NO_ERROR): Without reason
daswetter.0 2021-11-04 00:45:36.158 info Terminated (ADAPTER_REQUESTED_TERMINATION): All data handled, adapter stopped until next scheduled moment daswetter.0 2021-11-04 00:45:30.278 info still wrong data structure from server received! repaired... daswetter.0 2021-11-04 00:45:10.558 info starting. Version 3.0.8 in /opt/iobroker/node_modules/iobroker.daswetter, node: v12.22.7, js-controller: 3.3.18
wobei ich die Meldung vom Wetter Adapter nicht verstehe, es werden alle Wetterdaten richtig abgeholt. Bei mir haben alle drei Wetteradapter (DWD, daswetter, weatherunderground) eine gelbe Uhr vorne dran und funktionieren dennoch alle uneingeschränkt.
-
-
@pahan
Es wäre sehr schlecht, wenn eine Deinstallation des Adapter auch alle Scripte löschtWenn Du am PC Word (falls vorhanden) deinstallierst, sind ja auch noch alle Dokument die Du damit erstellt hast noch da und hier ist es exakt genau so.
Noch bildlicher ausgedrückt, wenn Du den Hammer wegwirfst, bleibt der Nagel trotzdem in der Wand
-
@pahan sagte in Javascript Adapter - sonderbare Funktionsweise:
still wrong data structure from server received! repaired
das kannst du ignorieren.
https://github.com/rg-engineering/ioBroker.daswetter/blob/5f571c554b484228b7d641a6a69902b6290d58cf/main.js#L1009
es scheint so, das vom server von das wetter manchmal daten kommen, welche nicht vollständig sind. das sollte natürlich nicht so sein, warum das so ist weiß nur der entwickler oder der die daten bereitstellt.generell kannst du alle info zeilen ignorieren.
wenn keine besonderen Vorkommnisse sind, kannst du den debug-level bei allen adaptern auf "warn" oder gar "error" stellen. dann wirst du mit infos nicht zugeschüttet. -
@jan1 sagte in Javascript Adapter - sonderbare Funktionsweise:
@pahan
Es wäre sehr schlecht, wenn eine Deinstallation des Adapter auch alle Scripte löschtWenn Du am PC Word (falls vorhanden) deinstallierst, sind ja auch noch alle Dokument die Du damit erstellt hast noch da und hier ist es exakt genau so.
Noch bildlicher ausgedrückt, wenn Du den Hammer wegwirfst, bleibt der Nagel trotzdem in der Wand
sehr klar ausgedrückt, danke!
-
@oliverio sagte in [Javascript Adapter - sonderbare Funktionsweise]
generell kannst du alle info zeilen ignorieren.
wenn keine besonderen Vorkommnisse sind, kannst du den debug-level bei allen adaptern auf "warn" oder gar "error" stellen. dann wirst du mit infos nicht zugeschüttet.Vielen Dank, ich beobachte das mal ein paar Tage und setze das Level dann hoch