NEWS
WARN bei Javascript Adapter update
-
Hi,
habe gerade mein iobroker Master mal ein paar updates spendiert.
Node auf 12 und anschließend den Javascript Adapter auf 4.9.3
Beim Upgrade erhalte ich diese Warnings im log:
2020-10-15 10:07:08.196 - error: javascript.1 (12378) npm 2020-10-15 10:07:08.197 - error: javascript.1 (12378) WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142 2020-10-15 10:07:08.477 - error: javascript.1 (12378) npm 2020-10-15 10:07:08.478 - error: javascript.1 (12378) WARN deprecated har-validator@5.1.5: this library is no longer supported
und das:
2020-10-15 10:07:16.752 - error: javascript.0 (12371) Error by subscription: empty ID defined. All states matched.
Was kann/soll ich machen?
-
@wendy2702 sagte in WARN bei Javascript Adapter update:
Error by subscription: empty ID defined. All states matched
Vermutlich unsaubere Definitionen in einem skript, die in neuen Versionen im Gegensatz zu vorherigen nun angemeckert werden.
Ähnliches gilt für die beiden als deprecated gekennzeichneten Module. Die sollten in skripten / Adaptern nicht mehr verwendet werden.
-
@Thomas-Braun Gibt es für Javascript ungeübte einen relativ einfachen Weg heraus zu finden welche Scripte das verursachen bzw. die Module verwenden?
-
@wendy2702
Von JS habe ich selber keine Ahnung.
Wenn die Meldungen nur beim Neustart auftauchen würde ich da wohl nichts machen.
Im normalen Betrieb bleibt es da ruhig? -
@Thomas-Braun Habe es bisher nur beim neustart gesehen.
Ich suche irgendwann mal mit Ruhe nach den beiden mit den Modulen.
Das andere zu finden ... fehlt mir die JS Kenntnis.
-
npm list har-validator
im ioBroker-Verzeichnis zeigt dir zumindest das Modul mit der Dependency.
-
@Thomas-Braun Danke.
Aber jetzt wird es noch unklarer da die Meldung von meinem Master ist. Von Version 5.1.5 nichts zu sehen.
iobroker Master:
root@iobroker:/opt/iobroker# npm list har-validator iobroker.inst@2.0.3 /opt/iobroker +-- iobroker.admin@4.1.10 | `-- request@2.88.2 | `-- har-validator@5.1.3 +-- iobroker.node-red@2.0.1 | `-- node-red@1.1.3 | `-- @node-red/nodes@1.1.3 | `-- request@2.88.0 | `-- har-validator@5.1.3 deduped +-- iobroker.sourceanalytix@0.4.8-alpha.2 | `-- npm@6.14.8 | `-- request@2.88.0 | `-- har-validator@5.1.0 `-- iobroker.spotify-premium@1.0.0 `-- request@2.83.0 `-- har-validator@5.0.3
Slave 1:
pi@pi-iobroker:/opt/iobroker $ npm list har-validator iobroker.core@0.1.0 /opt/iobroker ├─┬ iobroker.admin@4.1.10 │ └─┬ request@2.88.2 │ └── har-validator@5.1.5 ├─┬ iobroker.js-controller@3.1.6 │ ├─┬ le-acme-core@2.1.4 │ │ └─┬ request@2.83.0 │ │ └── har-validator@5.0.3 │ └─┬ request@2.88.2 │ └── har-validator@5.1.3 └─┬ iobroker.smartmeter@3.1.5 └─┬ smartmeter-obis@2.1.5 └─┬ request@2.88.2 └── har-validator@5.1.5
Slave 2:
pi@iobroker-garage-gross:/opt/iobroker $ npm list har-validator iobroker.inst@1.0.8 /opt/iobroker └─┬ iobroker.admin@4.1.10 └─┬ request@2.88.2 └── har-validator@5.1.3
-
-
@Thomas-Braun JA.
Ich weiß...hat der aber schon immer und das werde ich aus reiner Faulheit auch nicht ändern.
Ist einfacher ihm den Grundsätzlichen Internetzugang zu sperren.
-
@wendy2702
Aus reiner Faulheit zerschießt man sich damit ganz easy das System und die Rechte.
Dann sei mir nicht böse, aber dann setze ich dich auch aus Faulheit auf meine Ignoreliste. Solche Systeme sind nämlich zu aufwändig zu supporten. -
Mach wie du meinst.
-
@wendy2702
Dito. -
@wendy2702 sagte in WARN bei Javascript Adapter update:
WARN deprecated request@2.88.2
Kannst du ignorieren. request wird weiterhin funktionieren und aus Gründen der Abwärtskompatibilität ein Teil vom JS-Adapter bleiben
har-validator
ist eine Abhängigkeit von
request
und damit wirst du mit der Meldung auch leben müssen.Ähnliches gilt für die beiden als deprecated gekennzeichneten Module. Die sollten in skripten / Adaptern nicht mehr verwendet werden.
Da muss ich dir widersprechen (siehe oben). Die Maintainer sagen selbst:
The most valuable thing request can do for the JavaScript ecosystem is to go into maintenance mode and stop considering new features or major releases.
[...]Here’s the plan.
- request will stop accepting new features.
- request will stop considering breaking changes.
@wendy2702 sagte in WARN bei Javascript Adapter update:
Error by subscription: empty ID defined. All states matched
Ich sehe derzeit nur die Möglichkeit, alle Trigger zu untersuchen, ob du dort jeweils eine oder mehrere IDs nutzt.
-
@AlCalzone
Die Developer sagen aber auch:The best thing for these new modules is for request to slowly fade away, eventually becoming just another memory of that legacy stack.
und
The patterns at the core of request are out of date.
Das das bei so einem zentralen Modul nicht oder nur schwer möglich ist steht auf einem anderen Blatt.
-
@AlCalzone sagte in WARN bei Javascript Adapter update:
Ich sehe derzeit nur die Möglichkeit, alle Trigger zu untersuchen, ob du dort jeweils eine oder mehrere IDs nutzt.
Trigger untersuchen grenzt es ja schon etwas ein.
Danke
-
@Thomas-Braun Da du ja recht hast und es nicht an meiner Faulheit und Bequemlichkeit scheitern soll:
mirko@iobroker:/opt/iobroker$ npm list har-validator iobroker.inst@2.0.3 /opt/iobroker +-- iobroker.admin@4.1.10 | `-- request@2.88.2 | `-- har-validator@5.1.3 +-- iobroker.node-red@2.0.1 | `-- node-red@1.1.3 | `-- @node-red/nodes@1.1.3 | `-- request@2.88.0 | `-- har-validator@5.1.3 deduped +-- iobroker.sourceanalytix@0.4.8-alpha.2 | `-- npm@6.14.8 | `-- request@2.88.0 | `-- har-validator@5.1.0 `-- iobroker.spotify-premium@1.0.0 `-- request@2.83.0 `-- har-validator@5.0.3 mirko@iobroker:/opt/iobroker$
Jetzt bin ich der User.... muss ich nur dran denken.
-
Hier ist 5.1.5 referenziert:
pi@raspberrypi:/opt/iobroker $ npm list har-validator iobroker.inst@2.0.3 /opt/iobroker ├─┬ iobroker.admin@4.1.10 │ └─┬ request@2.88.2 │ └── har-validator@5.1.5 └─┬ iobroker.backitup@1.6.9 └─┬ dropbox-v2-api@2.4.27 └─┬ request@2.88.0 └── har-validator@5.1.5 deduped
-
@Thomas-Braun Ja, das hatte ich gesehen.
Mir ist nur nicht ganz klar warum ich die Meldung bekommen habe wenn ich den Adapter auf dem Master update und die Version 5.1.5 auf einem Slave ist.