NEWS
[How-to] Node.js ioBroker richtig updaten-2021/22 Edition
-
Update im Testsystem lief einwandfrei.
Beim rendern mit echarts via sendTo kam folgender Fehler:
javascript.0 2021-11-25 20:25:26.333 error script.js.TEST.eChartGen: ERROR:Cannot find required modules: looks like it is not possible to generate charts on your Hardware/OS echarts.0 2021-11-25 20:25:26.327 debug sendTo "send" to system.adapter.javascript.0 from system.adapter.echarts.0 echarts.0 2021-11-25 20:25:26.325 error Cannot find required modules: Error: The module '/opt/iobroker/node_modules/canvas/build/Release/canvas.node'was compiled against a different Node.js version usingNODE_MODULE_VERSION 72. This version of Node.js requiresNODE_MODULE_VERSION 83. Please try re-compiling or re-installingthe module (for instance, using `npm rebuild` or `npm install`).
Der vorgeschlagene Rebuild hat es dann gerichtet:
iobroker rebuild echarts --install
-
Hallo @apollon77
Vielen Dank für die gute Anleitung, hat perfekt geklappt.
Es sind keinerlei Probleme aufgetreten.
-
Für Windows hat bei mir so geklappt:
1: Konsole: iobroker stop
2: Sicherung des Ordners: C:\Program Files\iobroker\deinhostname\nodejs auf dem Desktop
3: Download der benötigten Node.js Version unter https://nodejs.org als Archiv nicht als msi Datei (14.7,6 habe ich genommen)
4: Entpacken des Downloads und kopieren den Gesamten Ordners über den vorhandenen C:\Program Files\iobroker\deinhostname\nodejs Ordner.
5: Kopiere aus der Sicherungskopie des Desktops die Datei nodevars.bat in den Ordner C:\Program Files\iobroker\deinhostname\nodejs
6: Konsole: iobroker start
Steht auch bereits in älteren Beiträgen
-
@opossum sagte in [How-to] Node.js für ioBroker richtig updaten - 2021 Edition:
Hallo,
habe das Update durchgeführt, alle Adapter wurden nach Neustart grün, nur ZigBee maulte rum, blieb gelb.
Habe ichnpm install --production
in /opt/iobroker/node_modules/@serialport/bindings ausgeführt. Danach ging auch der ZigBee-Adapter wieder auf grün.
Danke. Hat mich auch im Zusammenhang mit dem Jeelink-Adapter weiter gebracht
-
Vielleicht sollte man hier im Beitrag darauf hinweisen, dass z.B. der Jeelink Adapter nicht unter V14 läuft. Das könnte vielen viel Arbeit ersparen.
https://forum.iobroker.net/topic/49521/jeelink-adapter-startet-nicht-mehr?_=1638106777236
-
@stefande
Nö, weil es dazu ja den passenden Thread gibt und wenn ich recht gesehen habe, auch schon ein Issues dazu für den Adapter.
Muss also im Adapter gefixt werden -
@jan1
Wenn ich auf V14 updaten möchte, werde ich nicht das komplette Forum danach durchsuchen, ob evt. irgendeiner meiner Adapter nicht läuft.
Hier erwarte ich eigentlich, dass Erkenntnisse über zur Zeit (noch) nicht funktionierende Adapter, gesammelt werden, und gut sichtbar angepinnt werden. -
@stefande sagte in [How-to] Node.js für ioBroker richtig updaten - 2021 Edition:
ob evt. irgendeiner meiner Adapter nicht läuft.
@apollon77 sagte in Node.js 10.x ist tot, es lebe Node.js 14 :
Aus diesem Grund heben wir bereits jetzt die empfohlene Node.js Version auf 14.x an. Es sind aktuell keine Adapter bekannt, welche hier Probleme haben und auch der aktuelle js-controller 3.3.x funktioniert Problemlos mit Node.js 14.x.
-
@stefande
Da hast Du schon recht, nur sollte trotzdem der Adapter angepasst werden, sonst wird er früher oder später unbrauchbar. Damit möchte ich nur sagen, dass Du bei einem frühen Wechsel immer mit so was rechnen musst und dann eben zwei Möglichkeiten hast.
Zurück zur alten Version oder nach ner Lösung suchen, auch wenn die derzeit in einem Downgrade besteht. -
@jan1 sagte in [How-to] Node.js für ioBroker richtig updaten - 2021 Edition:
nur sollte trotzdem der Adapter angepasst werden, sonst wird er früher oder später unbrauchbar
da ist seit über zwei Jahren nichts mehr passiert.
github: 0.1.3 latest: 0.1.3 for 27 months stable: 0.1.3 for 27 months
wie in dem verlinkten Thread von @stefande zu lesen ist war auch der Developer hier im Mai zuletzt im Forum.
Wenn ich also die Fakten zusammenfasse:
- Version 0.1.3
- letzte Änderung vor 27 Monaten
- 365 downloads (bei 60000 Installationen)
würde ich da nicht unbedingt von einer aktuell stabilen Version sprechen
-
Das der Adapter angepasst werden sollte ist schon klar.
Trotzdem sind viele hier, auch ich in die Falle gelaufen, dass der Jeelink Adapter unter der empfohlenen V14 nicht läuft, und dass obwohl angeblich alle Adapter funktionieren.Mir hat das viel Zeit gekostet, und meine Bitte darum die Problem anzupinnen, soll verhindern, dass es anderen ähnlich geht.
-
@stefande sagte in [How-to] Node.js für ioBroker richtig updaten - 2021 Edition:
Trotzdem sind viele hier
Dazu schrob ich bereits etwas, aber gut:
@stefande sagte in [How-to] Node.js für ioBroker richtig updaten - 2021 Edition:
meine Bitte darum die Problem anzupinnen,
Wo soll man das anpinnen.
Grundsätzlich würde ich sagen als ISSUE auf Github, aber wenn ich deinen verlinkten Thread richtig verstanden habe geht das nichtHier im Forum geht so etwas sehr schnell unter, zumal ich nicht einmal wüsste wo jemand danach suchen sollte
-
@stefande
max 365 User, aber wie geschrieben. Du hast recht, wenn der Entwickler da nichts mehr dran ändert, kannst DIch aber auch so langsam von dem Adapter verabschieden, wenn er nicht gerade hier ein Community Version gewandelt wird. -
Nur weil ein Adapter lange nicht mehr aktualisiert wurde, bedeutet es ja nicht gleich, dass er nicht ordentlich funktioniert oder schlecht ist.
Im Gegenteil. Der Adapter läuft seit Jahren ohne Probleme und macht genau das was er soll.Die Jeelink Sensoren sind günstig, haben eine deutlich größere Reichweite als z.B. die von Aqara, und vor allen Dingen aktualisieren die deutlich öfters ihren Status.
Es wäre sehr schade, wenn der Adapter nicht mehr aktualisiert würde.
@Homoran
Hier oben könnte man es im ersten Beitrag schreiben und auch hier:
https://forum.iobroker.net/topic/49480/node-js-10-x-ist-tot-es-lebe-node-js-14 -
@stefande sagte in [How-to] Node.js für ioBroker richtig updaten - 2021 Edition:
bedeutet es ja nicht gleich, dass er nicht ordentlich funktioniert oder schlecht ist.
ist aber jetzt so. Er konnte vor 27 Monaten noch nicht an node 14 angepasst werden.
Und wenn das nicht mehr passiert weil der Entwickler da nichts mehr macht und auch hier im Forum bereits ein halbes Jahr nicht mehr auftauchte, muss man damit rechnen, dass der Adapter aufgegeben wird -
Nun habe ich nach dem Update doch ein Problem mit dem echarts-Adapter v1.0.3.
Nach dem Update auf Node.js v14.18.1 konnte ich via echarts/sendTo nicht mehr rendern:javascript.0 2021-11-25 20:25:26.333 error script.js.TEST.eChartGen: ERROR:Cannot find required modules: looks like it is not possible to generate charts on your Hardware/OS echarts.0 2021-11-25 20:25:26.327 debug sendTo "send" to system.adapter.javascript.0 from system.adapter.echarts.0 echarts.0 2021-11-25 20:25:26.325 error Cannot find required modules: Error: The module '/opt/iobroker/node_modules/canvas/build/Release/canvas.node'was compiled against a different Node.js version usingNODE_MODULE_VERSION 72. This version of Node.js requiresNODE_MODULE_VERSION 83. Please try re-compiling or re-installingthe module (for instance, using `npm rebuild` or `npm install`).
Der vorgeschlagene iobroker rebuild echarts --install hat es dann gerichtet.
Nun habe ich (scheinbar nach dem Update des js-controller von 3.3.18 auf 3.3.20) ein Problem welches sich damit nicht mehr beheben lässt:
javascript.0 2021-11-28 15:08:44.070 error script.js.zzz_test.Test-echarts: ERROR:Cannot find required modules: looks like it is not possible to generate charts on your Hardware/OS echarts.0 2021-11-28 15:08:44.053 error Cannot find required modules: Error: The module '/opt/iobroker/node_modules/iobroker.echarts/node_modules/canvas/build/Release/canvas.node' was compiled against a different Node.js version using NODE_MODULE_VERSION 72. This version of Node.js requires NODE_MODULE_VERSION 83. Please try re-compiling or re-installing the module (for instance, using `npm rebuild` or `npm install`).
Der im Log vorgeschlagene npm rebuild und ein Neustart des iobroker hat leider auch nicht geholfen. Auf meinem Testsystem habe ich Adapter entfernt und neu installiert, dann funktioniert das rendern. Allerdings ist damit auch ein Verlust aller angelegten Charts verbunden. Das möchte ich mir im Produktivsystem sparen. Wie kann ich die canvas.node nachkompilieren?
-
Ich habe das jetzt scheinbar mit npm rebuild canvas --build-from-source erfolgreich repariert.
-
-
@apollon77
Hab ich jetzt gemacht:
https://forum.iobroker.net/topic/49480/node-js-10-x-ist-tot-es-lebe-node-js-14/2?_=1638115440783ich dachte @stefande würde da antworten wollen
-
@homoran danke. Ich habe hier oben auch was hinzugefügt.