Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. [How-to] Node.js ioBroker richtig updaten-2021/22 Edition

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.2k

[How-to] Node.js ioBroker richtig updaten-2021/22 Edition

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
812 Beiträge 97 Kommentatoren 363.7k Aufrufe 83 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • HomoranH Homoran

    @hc-yami OK!
    Also nicht das (Installer-)Skript.

    Aber ich hätte es auch nicht angepasst ;-)
    schließlich sollte auch der Zustand zum Zeitpunkt des Posts dokumentiert bleiben.
    (dazu passt der Post von @Thomas-Braun )

    opossumO Offline
    opossumO Offline
    opossum
    schrieb am zuletzt editiert von opossum
    #185

    Hallo,

    habe das Update durchgeführt, alle Adapter wurden nach Neustart grün, nur ZigBee maulte rum, blieb gelb.
    Habe ich

    npm install --production 
    

    in /opt/iobroker/node_modules/@serialport/bindings ausgeführt. Danach ging auch der ZigBee-Adapter wieder auf grün.

    https://schlepper-petersdorf.jimdofree.com/

    B 1 Antwort Letzte Antwort
    1
    • RK62R Offline
      RK62R Offline
      RK62
      schrieb am zuletzt editiert von
      #186

      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
      
      1 Antwort Letzte Antwort
      1
      • apollon77A apollon77

        MOD-EDIT: Diese Anleitung ist veraltet. Update und Fix der nodejs Installation ist mittlerweile in dem Befehl iob nodejs-update enthalten

        Hi,

        in diesem Artikel möchte ich einen Überblick geben, wie inzwischen (meint anno 2021 mit einem js-controller 3.x bzw 4.x) Node.js Updates bei ioBroker ausgeführt werden sollten bzw können.

        Was ist Node.js und warum muss man es updaten?

        Node.js ist die Laufzeitumgebung der Programmiersprache JavaScript, in der ioBroker geschrieben ist. Ohne Node.js funktioniert ioBroker nicht. Node.js hast Du initial selbst installiert oder der ioBroker-Installer hat dies für dich getan.

        Wie bei vielen Open-Source-Technologien üblich, entwickelt sich Node.js schnell weiter. Kleinere Updates, die die Stabilität und Sicherheit steigern oder gar neue Funktionen hinzufügen, erscheinen regelmäßig.

        Node.js-Versionen mit gerader Hauptversionsnummer werden als LTS-Versionen (Long Term Support) bezeichnet und einige Jahre gepflegt (z.B. 12.x). Jedes Jahr kommt eine neue Version ins LTS - in diesem Jahr (2021) ist das Node.js 16, welche im April veröffentlicht wurde und ab Oktober 2021 eine LTS Version wird.

        Im gleichem Zug erreichen frühere LTS-Versionen ihr Lebensende (EOL, End of Life). So hat Node.js 8 im April 2020 den EOL-Status erhalten und bekommt damit keine Updates mehr, Nodejs 10.x wird Ende April 2021 Ihr Lebensende erreichen. Es wird also keine Sicherheits-Updates mehr geben! Node.js 12.x wird im April 2022 eol geben.

        Alle Node.js-Versionen mit ungeraden Versionsnummern sind Entwicklungsversionen und sollten nicht produktiv genutzt werden.

        ioBroker nutzt viele Module und Erweiterungen aus der JavaScript Open-Source Szene, und dort kommt es regelmäßig vor, dass Versionen die EOL gehen zeitnah danach auch nicht weiter unterstützt werden. Das hat im ersten Schritt keine echte Auswirkung, aber mittelfristig wird es also Adapter, und später auch den js-controller geben, der EOL Versionen von Node.js nicht mehr unterstützt.

        Node.js 10 wird mit dem js-controller 3.x voll unterstützt. Ab dem js-controller 4.0 (Februar 2022) ist Node.js 10.x nicht mehr untertsützt.

        Auf welche Node.js Version updaten?

        Aktuell empfiehlt ioBroker die Nutzung von Node.js 16.x.

        Folgende Adapter haben momentan Probleme mit Node.js 14:

        • jeelink

        Folgende Adapter haben momentan Probleme mit Node.js 16:

        • jeelink?

        *Node.js 16.x wird auch vom js-controller 3.3 grundsätzlich unterstützt, aber nur mit npm 6! npm 7 bzw 8 sind mit dem js-controller 4.0 nutzbar.

        Update vorbereiten

        Node.js Version prüfen

        Bevor man beginnt, sollte man in der Befehlszeile mit dem Befehl

        node -v
        

        überprüfen, welche Version von Node.js gerade installiert ist. Eine gute Idee ist es, diese Versionsangabe auch mit der Node.js-Version im Übersichts-Fenster des ioBroker-Admins für diesen Host zu vergleichen. Sollten sich die Versionen unterscheiden, sind mehrere Node.js-Varianten installiert, was zu Problemen führen kann. Diese Probleme müssen VOR dem Update dann behoben werden! Anleitung zB unter https://forum.iobroker.net/topic/35090/howto-nodejs-installation-und-upgrades-unter-debian/2

        Betriebssystem prüfen

        Dann auch prüfen was man für ein Betriebssystem hat. Vor allem im Raspi Umfeld sind gern auch älterer Systeme auf basis von "Debian jessie" oder "Debian wheezy" im Einsatz. Für die gibt es nichts was höher ist als Nodejs 10, da steht dann ggf auch ein Betriebssystemupdate an, was wir hier aber nicht behandeln können.
        Unterstützte Linux Distributionen sind unter https://github.com/nodesource/distributions#debian-and-ubuntu-based-distributions aufgelistet.
        Unter Debian und Ubuntu gibt es mit lsb_release -a eine Ausgabe was man aktuell nutzt.

        js-controller Version prüfen

        Weiterhin bitte prüfen welche js-controller Version Installiert ist (ebenfalls auf dem Host-Tab im Admin einsehbar).
        Bei Versionen VOR js-controller 3.x, wenn möglich bitte zuerst den js-controller aktualisieren. Am besten auf mindestens die 3.2! Hierzu gibt es extra Threads im Forum wie z.B. https://forum.iobroker.net/topic/42385/js-controller-3-2-jetzt-im-stable bzw https://forum.iobroker.net/topic/52886/js-controller-4-0-x-jetzt-für-alle-user-im-stable

        Adapter aktualisieren

        Damit es nach dem Update zu keinen Inkompatibilitäten oder Probleme kommt, sollte man alle Adapter prüfen und aktualisieren. Vor allem Adapter mit nativen Bestandteilen, wie alles mit Serialport oder Bluetooth können Probleme bereiten. Hier am besten die Adapter-Readme's per Admin oder im GitHub prüfen, ob neue Versionen zur Verfügung stehen die die geplante Node.js Version explizit erst unterstützen.

        Bei Updates wo es größere Versionssprünge bei npm gibt (zb Node.js 14->16 updated npm von 6.x auf 8.x) kann es sehr hilfreich sein wenn man schaut ob Adapter die von GitHub installiert wurden inzwischen in der gleichen version auf auf npm liegen und dann ggf von dort nochmals installieren oder updaten. Im Admin werden Adapter die per GitHub installiert wurden gesondert mit einem GitHub Symbol angezeigt. Das hilft auch im Vorfeld Probleme zu vermeiden.

        Wenn man diesen Schritt nicht durchführt kann es zu unnötigen Problemen beim update der Adapter kommen!

        Backup erstellen

        Zuerst muss natürlich unbedingt ein Backup erstellt werden. Dazu kann z.B. der BackItUp-Adapter genutzt oder der Kommandozeilenbefehl

        cd /opt/iobroker
        iobroker backup
        

        ausgeführt werden. Das Backup sollte aktuell sein, damit möglichst keine Daten verloren gehen.

        Node.js updaten

        Für Windows-Systeme kann ich leider gerade nichts genaues sagen, wir schauen das wir das noch ergänzen. Aufruf an die Community: Wer Schritte hat gern als eigener Post oder hier einbringen :-) Danke
        Einen Post aus der Community gab es dazu: https://forum.iobroker.net/post/624003

        Linux-Systeme

        ioBroker stoppen
        Zuerst ioBroker stoppen, damit Updates keine Nebeneffekte oder Abstürze verursachen.

        iobroker stop
        

        Bitte anschließend im Webbrowser prüfen, dass der ioBroker-Admin danach wirklich nicht mehr läuft. Sollte er weiterhin aufrufbar sein, dann den Rechner neu starten und nochmals „iobroker stop“ ausführen und erneut testen. Für die Techniker unter uns: Man kann auch mit einem Tool wie "top" prüfen, ob noch Prozesse existieren, die mit "io." beginnen. Die dann am besten mit einem beherzten "sudo kill -9 <ProzessID>" zwangsbeenden.

        Node.js updaten
        Jetzt aktualisiert man Node.js auf die gewünschte neue Version.

        Unter Linux reicht es, dazu den Nodesource-Installationsbefehl für das jeweilige Betriebssystem auszuführen. Verschiedene Varianten (auch Root und Nicht-Root) sind unter https://github.com/nodesource/distributions#debinstall gelistet.

        Zum Beispiel lauten die Befehle für einen Raspberry Pi der ein Debian bzw. Raspbian-Image verwendet wie folgt, wenn man nicht als root-User (z.B. richtig mit dem User "pi") angemeldet ist:

        curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
        sudo apt install -y nodejs
        

        Für Node.js 16 einfach in der URL oben anstelle der 14 eine 16 reinschreiben.

        Für macOS gibt einen Installer auf https://nodejs.org/en/download/ , den man einfach ausführt.

        Ob die Aktualisierung geklappt hat, kann man wieder mit dem Befehl

        node -v
        

        überprüfen.

        Auch die npm Version sollte mit

        npm -v
        

        geprüft werden. Mit einem js-controller <4 sicherstellen das idealerweise keine 7.x/8.x von npm installiert ist!

        ioBroker fixer ausführen
        Da die Installation von Node.js einige Einstellungen am System verändert haben kann, ist es jetzt ratsam, den ioBroker-Installationsfixer aufzurufen. Das geschieht mit dem Befehl

        iobroker fix
        

        Er stellt unter anderem die für den Betrieb von ioBroker notwendigen Sicherheitseinstellungen wieder her und prüft und korrigiert alle Berechtigungen. Das kann einen Augenblick dauern, bitte Geduld haben.

        Erster ioBroker Neustart NACH Update

        Einige genutzte JavaScript Module haben binäre Teile, welche bei einem Node.js Update nicht mehr kompatibel sind und neu erstellt werden müssen.

        Automatische Rebuilds

        ioBroker versucht seit dem js-controller 3.0 automatisch die Adapter zu erkennen die nicht starten weil Sie aktualisiert werden müssen. Dies funktioniert so das die typischen Fehlermeldungen erkannt werden und ioBroker dann die Aktualisierung versucht.

        js-controller 3.x
        Zuerst wird ein "rebuild" des betroffenen Adapters ausgeführt, falls das nicht hilft werden die Adapter-Abhängigkeiten aktualisiert.

        js-controller 4.0
        Zuerst wird versucht alle Adapter zu rebuilden, falls das nicht hilft wird versucht zielgerichtet die relevanten Module neu zu bauen.

        Daher kann es sein das der Adapter mehrfach ersucht wird neu zu starten. Hier bitte UNBEDINGT Geduld haben! Erst wenn der Adapter dauerhaft rot bleibt und auch im Log steht das der Rebuild nicht geklappt hat aktiv werden!

        Bei einigen Adaptern (zB iot die optionale native Abhängigkeiten haben) funktioniert die automatische Erkennung nicht und das rebuild muss manuell angestoßen werden. Dies kann dadurch erkannt werden das der Adapter "Rot" bleibt und nicht startet oder einzelne Funktionen nicht gehen und das als Fehler im Log steht. Dann sollte das Log geprüft werden (neben Admin stehen Logfiles auch unter /opt/iobroker/log/... zur Verfügung.

        Manuelle Rebuilds

        Hier zu gibt es iobroker rebuild, bzw die Kommandos die im Log angezeigt werden falls der Automatische Rebuild nicht funktioniert.

        Sonderfälle (z.B. Serialport)

        Leider gibt es Sonderfälle, wo auch die obigen Optionen das Rebuild nicht erledigen, einer davon ist Serialport.

        Dort kann ein Log zB (auch nach allen Rebuild Versuchen) wie folgt aussehen

        host.SmartHomeCenter | 2020-05-10 09:28:01.788 | error | Caught by controller[0]: }
        host.SmartHomeCenter | 2020-05-10 09:28:01.788 | error | Caught by controller[0]: ]
        host.SmartHomeCenter | 2020-05-10 09:28:01.788 | error | Caught by controller[0]: '/opt/iobroker/node_modules/serialport/compiled/12.16.3/linux/arm/serialport.node'
        host.SmartHomeCenter | 2020-05-10 09:28:01.787 | error | Caught by controller[0]: '/opt/iobroker/node_modules/serialport/build/default/serialport.node',
        host.SmartHomeCenter | 2020-05-10 09:28:01.787 | error | Caught by controller[0]: '/opt/iobroker/node_modules/serialport/Release/serialport.node',
        host.SmartHomeCenter | 2020-05-10 09:28:01.787 | error | Caught by controller[0]: '/opt/iobroker/node_modules/serialport/out/Release/serialport.node',
        host.SmartHomeCenter | 2020-05-10 09:28:01.787 | error | Caught by controller[0]: '/opt/iobroker/node_modules/serialport/Debug/serialport.node',
        host.SmartHomeCenter | 2020-05-10 09:28:01.787 | error | Caught by controller[0]: '/opt/iobroker/node_modules/serialport/out/Debug/serialport.node',
        host.SmartHomeCenter | 2020-05-10 09:28:01.786 | error | Caught by controller[0]: '/opt/iobroker/node_modules/serialport/build/Release/serialport.node',
        host.SmartHomeCenter | 2020-05-10 09:28:01.786 | error | Caught by controller[0]: '/opt/iobroker/node_modules/serialport/build/Debug/serialport.node',
        host.SmartHomeCenter | 2020-05-10 09:28:01.786 | error | Caught by controller[0]: '/opt/iobroker/node_modules/serialport/build/serialport.node',
        host.SmartHomeCenter | 2020-05-10 09:28:01.786 | error | Caught by controller[0]: tries: [
        host.SmartHomeCenter | 2020-05-10 09:28:01.786 | error | Caught by controller[0]: at Module._compile (internal/modules/cjs/loader.js:1133:30) {
        host.SmartHomeCenter | 2020-05-10 09:28:01.785 | error | Caught by controller[0]: at Object. (/opt/iobroker/node_modules/serialport/lib/bindings/auto-detect.js:16:22)
        host.SmartHomeCenter | 2020-05-10 09:28:01.785 | error | Caught by controller[0]: at require (internal/modules/cjs/helpers.js:77:18)
        host.SmartHomeCenter | 2020-05-10 09:28:01.785 | error | Caught by controller[0]: at Module.require (internal/modules/cjs/loader.js:1019:19)
        host.SmartHomeCenter | 2020-05-10 09:28:01.785 | error | Caught by controller[0]: at Function.Module._load (internal/modules/cjs/loader.js:877:14)
        host.SmartHomeCenter | 2020-05-10 09:28:01.785 | error | Caught by controller[0]: at Module.load (internal/modules/cjs/loader.js:977:32)
        host.SmartHomeCenter | 2020-05-10 09:28:01.784 | error | Caught by controller[0]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:1153:10)
        host.SmartHomeCenter | 2020-05-10 09:28:01.784 | error | Caught by controller[0]: at Module._compile (internal/modules/cjs/loader.js:1133:30)
        host.SmartHomeCenter | 2020-05-10 09:28:01.784 | error | Caught by controller[0]: at Object. (/opt/iobroker/node_modules/serialport/lib/bindings/linux.js:2:36)
        host.SmartHomeCenter | 2020-05-10 09:28:01.784 | error | Caught by controller[0]: at bindings (/opt/iobroker/node_modules/serialport/node_modules/bindings/bindings.js:93:9)
        host.SmartHomeCenter | 2020-05-10 09:28:01.783 | error | Caught by controller[0]: → /opt/iobroker/node_modules/serialport/compiled/12.16.3/linux/arm/serialport.node
        host.SmartHomeCenter | 2020-05-10 09:28:01.783 | error | Caught by controller[0]: → /opt/iobroker/node_modules/serialport/build/default/serialport.node
        host.SmartHomeCenter | 2020-05-10 09:28:01.783 | error | Caught by controller[0]: → /opt/iobroker/node_modules/serialport/Release/serialport.node
        host.SmartHomeCenter | 2020-05-10 09:28:01.783 | error | Caught by controller[0]: → /opt/iobroker/node_modules/serialport/out/Release/serialport.node
        host.SmartHomeCenter | 2020-05-10 09:28:01.782 | error | Caught by controller[0]: → /opt/iobroker/node_modules/serialport/Debug/serialport.node
        host.SmartHomeCenter | 2020-05-10 09:28:01.782 | error | Caught by controller[0]: → /opt/iobroker/node_modules/serialport/out/Debug/serialport.node
        host.SmartHomeCenter | 2020-05-10 09:28:01.782 | error | Caught by controller[0]: → /opt/iobroker/node_modules/serialport/build/Release/serialport.node
        host.SmartHomeCenter | 2020-05-10 09:28:01.782 | error | Caught by controller[0]: → /opt/iobroker/node_modules/serialport/build/Debug/serialport.node
        host.SmartHomeCenter | 2020-05-10 09:28:01.781 | error | Caught by controller[0]: → /opt/iobroker/node_modules/serialport/build/serialport.node
        host.SmartHomeCenter | 2020-05-10 09:28:01.781 | error | Caught by controller[0]: Error: Could not locate the bindings file. Tried:
        host.SmartHomeCenter | 2020-05-10 09:28:01.781 | error | Caught by controller[0]: ^
        host.SmartHomeCenter | 2020-05-10 09:28:01.780 | error | Caught by controller[0]: throw err
        host.SmartHomeCenter | 2020-05-10 09:28:01.780 | error | Caught by controller[0]: /opt/iobroker/node_modules/serialport/node_modules/bindings/bindings.js:96
        

        Es gibt auch andere Fehlermeldungen die aber alle auf das gleiche hinauslaufen.
        Die einfachste Option ist es dann manuell im richtigen Verzeichnis neu zu bauen.
        In dem Fall das Verzeichenis mit "bindings" suchen - oben ist das /opt/iobroker/node_modules/serialport/node_modules/bindings ... bei neueren Versionen kann es auch etwas wie /opt/iobroker/node_modules/serialport/node_modules/@serialport/bindings sein.
        Dann in dieses Verzeichnis wechseln und npm install --production ausführen. Danach den Adapter nochmal sneu starten, das sollte dann tun.

        Ein weiterer Fall sind Adapter mit canvas Modul (ggf echarts oder Mihome-vacuum) wo es Probleme gebe kann.

        Andere Sonderfälle muss man sich im Detail ansehen. Bitte unten Posten und wir unterstützen.

        Weitere Notfall Optionen

        Im früheren Artikel unter https://forum.iobroker.net/topic/22867/how-to-node-js-für-iobroker-richtig-updaten sind noch weitere manuelle Möglichkeiten beschrieben ioBroker wieder zum laufen zu bekommen, aber diese sollten an sich nicht mehr nötig sein, gehen aber natürlich auch noch!
        Dieser Artikel gilt also auch weiterhin.

        Jetzt viel Erfolg und gebt bitte Feedback wie git es geklappt hat oder welche Probleme Ihr habt.

        Ingo

        M Offline
        M Offline
        Magnus 0
        schrieb am zuletzt editiert von
        #187

        @apollon77

        Hallo @apollon77

        Vielen Dank für die gute Anleitung, hat perfekt geklappt.

        Es sind keinerlei Probleme aufgetreten.

        C 1 Antwort Letzte Antwort
        0
        • M Magnus 0

          @apollon77

          Hallo @apollon77

          Vielen Dank für die gute Anleitung, hat perfekt geklappt.

          Es sind keinerlei Probleme aufgetreten.

          C Offline
          C Offline
          charakterkopf
          schrieb am zuletzt editiert von
          #188

          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

          1 Antwort Letzte Antwort
          0
          • opossumO opossum

            Hallo,

            habe das Update durchgeführt, alle Adapter wurden nach Neustart grün, nur ZigBee maulte rum, blieb gelb.
            Habe ich

            npm install --production 
            

            in /opt/iobroker/node_modules/@serialport/bindings ausgeführt. Danach ging auch der ZigBee-Adapter wieder auf grün.

            B Offline
            B Offline
            Berchemer
            schrieb am zuletzt editiert von Berchemer
            #189

            @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 ich

            npm 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 :-)

            1 Antwort Letzte Antwort
            0
            • apollon77A apollon77

              MOD-EDIT: Diese Anleitung ist veraltet. Update und Fix der nodejs Installation ist mittlerweile in dem Befehl iob nodejs-update enthalten

              Hi,

              in diesem Artikel möchte ich einen Überblick geben, wie inzwischen (meint anno 2021 mit einem js-controller 3.x bzw 4.x) Node.js Updates bei ioBroker ausgeführt werden sollten bzw können.

              Was ist Node.js und warum muss man es updaten?

              Node.js ist die Laufzeitumgebung der Programmiersprache JavaScript, in der ioBroker geschrieben ist. Ohne Node.js funktioniert ioBroker nicht. Node.js hast Du initial selbst installiert oder der ioBroker-Installer hat dies für dich getan.

              Wie bei vielen Open-Source-Technologien üblich, entwickelt sich Node.js schnell weiter. Kleinere Updates, die die Stabilität und Sicherheit steigern oder gar neue Funktionen hinzufügen, erscheinen regelmäßig.

              Node.js-Versionen mit gerader Hauptversionsnummer werden als LTS-Versionen (Long Term Support) bezeichnet und einige Jahre gepflegt (z.B. 12.x). Jedes Jahr kommt eine neue Version ins LTS - in diesem Jahr (2021) ist das Node.js 16, welche im April veröffentlicht wurde und ab Oktober 2021 eine LTS Version wird.

              Im gleichem Zug erreichen frühere LTS-Versionen ihr Lebensende (EOL, End of Life). So hat Node.js 8 im April 2020 den EOL-Status erhalten und bekommt damit keine Updates mehr, Nodejs 10.x wird Ende April 2021 Ihr Lebensende erreichen. Es wird also keine Sicherheits-Updates mehr geben! Node.js 12.x wird im April 2022 eol geben.

              Alle Node.js-Versionen mit ungeraden Versionsnummern sind Entwicklungsversionen und sollten nicht produktiv genutzt werden.

              ioBroker nutzt viele Module und Erweiterungen aus der JavaScript Open-Source Szene, und dort kommt es regelmäßig vor, dass Versionen die EOL gehen zeitnah danach auch nicht weiter unterstützt werden. Das hat im ersten Schritt keine echte Auswirkung, aber mittelfristig wird es also Adapter, und später auch den js-controller geben, der EOL Versionen von Node.js nicht mehr unterstützt.

              Node.js 10 wird mit dem js-controller 3.x voll unterstützt. Ab dem js-controller 4.0 (Februar 2022) ist Node.js 10.x nicht mehr untertsützt.

              Auf welche Node.js Version updaten?

              Aktuell empfiehlt ioBroker die Nutzung von Node.js 16.x.

              Folgende Adapter haben momentan Probleme mit Node.js 14:

              • jeelink

              Folgende Adapter haben momentan Probleme mit Node.js 16:

              • jeelink?

              *Node.js 16.x wird auch vom js-controller 3.3 grundsätzlich unterstützt, aber nur mit npm 6! npm 7 bzw 8 sind mit dem js-controller 4.0 nutzbar.

              Update vorbereiten

              Node.js Version prüfen

              Bevor man beginnt, sollte man in der Befehlszeile mit dem Befehl

              node -v
              

              überprüfen, welche Version von Node.js gerade installiert ist. Eine gute Idee ist es, diese Versionsangabe auch mit der Node.js-Version im Übersichts-Fenster des ioBroker-Admins für diesen Host zu vergleichen. Sollten sich die Versionen unterscheiden, sind mehrere Node.js-Varianten installiert, was zu Problemen führen kann. Diese Probleme müssen VOR dem Update dann behoben werden! Anleitung zB unter https://forum.iobroker.net/topic/35090/howto-nodejs-installation-und-upgrades-unter-debian/2

              Betriebssystem prüfen

              Dann auch prüfen was man für ein Betriebssystem hat. Vor allem im Raspi Umfeld sind gern auch älterer Systeme auf basis von "Debian jessie" oder "Debian wheezy" im Einsatz. Für die gibt es nichts was höher ist als Nodejs 10, da steht dann ggf auch ein Betriebssystemupdate an, was wir hier aber nicht behandeln können.
              Unterstützte Linux Distributionen sind unter https://github.com/nodesource/distributions#debian-and-ubuntu-based-distributions aufgelistet.
              Unter Debian und Ubuntu gibt es mit lsb_release -a eine Ausgabe was man aktuell nutzt.

              js-controller Version prüfen

              Weiterhin bitte prüfen welche js-controller Version Installiert ist (ebenfalls auf dem Host-Tab im Admin einsehbar).
              Bei Versionen VOR js-controller 3.x, wenn möglich bitte zuerst den js-controller aktualisieren. Am besten auf mindestens die 3.2! Hierzu gibt es extra Threads im Forum wie z.B. https://forum.iobroker.net/topic/42385/js-controller-3-2-jetzt-im-stable bzw https://forum.iobroker.net/topic/52886/js-controller-4-0-x-jetzt-für-alle-user-im-stable

              Adapter aktualisieren

              Damit es nach dem Update zu keinen Inkompatibilitäten oder Probleme kommt, sollte man alle Adapter prüfen und aktualisieren. Vor allem Adapter mit nativen Bestandteilen, wie alles mit Serialport oder Bluetooth können Probleme bereiten. Hier am besten die Adapter-Readme's per Admin oder im GitHub prüfen, ob neue Versionen zur Verfügung stehen die die geplante Node.js Version explizit erst unterstützen.

              Bei Updates wo es größere Versionssprünge bei npm gibt (zb Node.js 14->16 updated npm von 6.x auf 8.x) kann es sehr hilfreich sein wenn man schaut ob Adapter die von GitHub installiert wurden inzwischen in der gleichen version auf auf npm liegen und dann ggf von dort nochmals installieren oder updaten. Im Admin werden Adapter die per GitHub installiert wurden gesondert mit einem GitHub Symbol angezeigt. Das hilft auch im Vorfeld Probleme zu vermeiden.

              Wenn man diesen Schritt nicht durchführt kann es zu unnötigen Problemen beim update der Adapter kommen!

              Backup erstellen

              Zuerst muss natürlich unbedingt ein Backup erstellt werden. Dazu kann z.B. der BackItUp-Adapter genutzt oder der Kommandozeilenbefehl

              cd /opt/iobroker
              iobroker backup
              

              ausgeführt werden. Das Backup sollte aktuell sein, damit möglichst keine Daten verloren gehen.

              Node.js updaten

              Für Windows-Systeme kann ich leider gerade nichts genaues sagen, wir schauen das wir das noch ergänzen. Aufruf an die Community: Wer Schritte hat gern als eigener Post oder hier einbringen :-) Danke
              Einen Post aus der Community gab es dazu: https://forum.iobroker.net/post/624003

              Linux-Systeme

              ioBroker stoppen
              Zuerst ioBroker stoppen, damit Updates keine Nebeneffekte oder Abstürze verursachen.

              iobroker stop
              

              Bitte anschließend im Webbrowser prüfen, dass der ioBroker-Admin danach wirklich nicht mehr läuft. Sollte er weiterhin aufrufbar sein, dann den Rechner neu starten und nochmals „iobroker stop“ ausführen und erneut testen. Für die Techniker unter uns: Man kann auch mit einem Tool wie "top" prüfen, ob noch Prozesse existieren, die mit "io." beginnen. Die dann am besten mit einem beherzten "sudo kill -9 <ProzessID>" zwangsbeenden.

              Node.js updaten
              Jetzt aktualisiert man Node.js auf die gewünschte neue Version.

              Unter Linux reicht es, dazu den Nodesource-Installationsbefehl für das jeweilige Betriebssystem auszuführen. Verschiedene Varianten (auch Root und Nicht-Root) sind unter https://github.com/nodesource/distributions#debinstall gelistet.

              Zum Beispiel lauten die Befehle für einen Raspberry Pi der ein Debian bzw. Raspbian-Image verwendet wie folgt, wenn man nicht als root-User (z.B. richtig mit dem User "pi") angemeldet ist:

              curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
              sudo apt install -y nodejs
              

              Für Node.js 16 einfach in der URL oben anstelle der 14 eine 16 reinschreiben.

              Für macOS gibt einen Installer auf https://nodejs.org/en/download/ , den man einfach ausführt.

              Ob die Aktualisierung geklappt hat, kann man wieder mit dem Befehl

              node -v
              

              überprüfen.

              Auch die npm Version sollte mit

              npm -v
              

              geprüft werden. Mit einem js-controller <4 sicherstellen das idealerweise keine 7.x/8.x von npm installiert ist!

              ioBroker fixer ausführen
              Da die Installation von Node.js einige Einstellungen am System verändert haben kann, ist es jetzt ratsam, den ioBroker-Installationsfixer aufzurufen. Das geschieht mit dem Befehl

              iobroker fix
              

              Er stellt unter anderem die für den Betrieb von ioBroker notwendigen Sicherheitseinstellungen wieder her und prüft und korrigiert alle Berechtigungen. Das kann einen Augenblick dauern, bitte Geduld haben.

              Erster ioBroker Neustart NACH Update

              Einige genutzte JavaScript Module haben binäre Teile, welche bei einem Node.js Update nicht mehr kompatibel sind und neu erstellt werden müssen.

              Automatische Rebuilds

              ioBroker versucht seit dem js-controller 3.0 automatisch die Adapter zu erkennen die nicht starten weil Sie aktualisiert werden müssen. Dies funktioniert so das die typischen Fehlermeldungen erkannt werden und ioBroker dann die Aktualisierung versucht.

              js-controller 3.x
              Zuerst wird ein "rebuild" des betroffenen Adapters ausgeführt, falls das nicht hilft werden die Adapter-Abhängigkeiten aktualisiert.

              js-controller 4.0
              Zuerst wird versucht alle Adapter zu rebuilden, falls das nicht hilft wird versucht zielgerichtet die relevanten Module neu zu bauen.

              Daher kann es sein das der Adapter mehrfach ersucht wird neu zu starten. Hier bitte UNBEDINGT Geduld haben! Erst wenn der Adapter dauerhaft rot bleibt und auch im Log steht das der Rebuild nicht geklappt hat aktiv werden!

              Bei einigen Adaptern (zB iot die optionale native Abhängigkeiten haben) funktioniert die automatische Erkennung nicht und das rebuild muss manuell angestoßen werden. Dies kann dadurch erkannt werden das der Adapter "Rot" bleibt und nicht startet oder einzelne Funktionen nicht gehen und das als Fehler im Log steht. Dann sollte das Log geprüft werden (neben Admin stehen Logfiles auch unter /opt/iobroker/log/... zur Verfügung.

              Manuelle Rebuilds

              Hier zu gibt es iobroker rebuild, bzw die Kommandos die im Log angezeigt werden falls der Automatische Rebuild nicht funktioniert.

              Sonderfälle (z.B. Serialport)

              Leider gibt es Sonderfälle, wo auch die obigen Optionen das Rebuild nicht erledigen, einer davon ist Serialport.

              Dort kann ein Log zB (auch nach allen Rebuild Versuchen) wie folgt aussehen

              host.SmartHomeCenter | 2020-05-10 09:28:01.788 | error | Caught by controller[0]: }
              host.SmartHomeCenter | 2020-05-10 09:28:01.788 | error | Caught by controller[0]: ]
              host.SmartHomeCenter | 2020-05-10 09:28:01.788 | error | Caught by controller[0]: '/opt/iobroker/node_modules/serialport/compiled/12.16.3/linux/arm/serialport.node'
              host.SmartHomeCenter | 2020-05-10 09:28:01.787 | error | Caught by controller[0]: '/opt/iobroker/node_modules/serialport/build/default/serialport.node',
              host.SmartHomeCenter | 2020-05-10 09:28:01.787 | error | Caught by controller[0]: '/opt/iobroker/node_modules/serialport/Release/serialport.node',
              host.SmartHomeCenter | 2020-05-10 09:28:01.787 | error | Caught by controller[0]: '/opt/iobroker/node_modules/serialport/out/Release/serialport.node',
              host.SmartHomeCenter | 2020-05-10 09:28:01.787 | error | Caught by controller[0]: '/opt/iobroker/node_modules/serialport/Debug/serialport.node',
              host.SmartHomeCenter | 2020-05-10 09:28:01.787 | error | Caught by controller[0]: '/opt/iobroker/node_modules/serialport/out/Debug/serialport.node',
              host.SmartHomeCenter | 2020-05-10 09:28:01.786 | error | Caught by controller[0]: '/opt/iobroker/node_modules/serialport/build/Release/serialport.node',
              host.SmartHomeCenter | 2020-05-10 09:28:01.786 | error | Caught by controller[0]: '/opt/iobroker/node_modules/serialport/build/Debug/serialport.node',
              host.SmartHomeCenter | 2020-05-10 09:28:01.786 | error | Caught by controller[0]: '/opt/iobroker/node_modules/serialport/build/serialport.node',
              host.SmartHomeCenter | 2020-05-10 09:28:01.786 | error | Caught by controller[0]: tries: [
              host.SmartHomeCenter | 2020-05-10 09:28:01.786 | error | Caught by controller[0]: at Module._compile (internal/modules/cjs/loader.js:1133:30) {
              host.SmartHomeCenter | 2020-05-10 09:28:01.785 | error | Caught by controller[0]: at Object. (/opt/iobroker/node_modules/serialport/lib/bindings/auto-detect.js:16:22)
              host.SmartHomeCenter | 2020-05-10 09:28:01.785 | error | Caught by controller[0]: at require (internal/modules/cjs/helpers.js:77:18)
              host.SmartHomeCenter | 2020-05-10 09:28:01.785 | error | Caught by controller[0]: at Module.require (internal/modules/cjs/loader.js:1019:19)
              host.SmartHomeCenter | 2020-05-10 09:28:01.785 | error | Caught by controller[0]: at Function.Module._load (internal/modules/cjs/loader.js:877:14)
              host.SmartHomeCenter | 2020-05-10 09:28:01.785 | error | Caught by controller[0]: at Module.load (internal/modules/cjs/loader.js:977:32)
              host.SmartHomeCenter | 2020-05-10 09:28:01.784 | error | Caught by controller[0]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:1153:10)
              host.SmartHomeCenter | 2020-05-10 09:28:01.784 | error | Caught by controller[0]: at Module._compile (internal/modules/cjs/loader.js:1133:30)
              host.SmartHomeCenter | 2020-05-10 09:28:01.784 | error | Caught by controller[0]: at Object. (/opt/iobroker/node_modules/serialport/lib/bindings/linux.js:2:36)
              host.SmartHomeCenter | 2020-05-10 09:28:01.784 | error | Caught by controller[0]: at bindings (/opt/iobroker/node_modules/serialport/node_modules/bindings/bindings.js:93:9)
              host.SmartHomeCenter | 2020-05-10 09:28:01.783 | error | Caught by controller[0]: → /opt/iobroker/node_modules/serialport/compiled/12.16.3/linux/arm/serialport.node
              host.SmartHomeCenter | 2020-05-10 09:28:01.783 | error | Caught by controller[0]: → /opt/iobroker/node_modules/serialport/build/default/serialport.node
              host.SmartHomeCenter | 2020-05-10 09:28:01.783 | error | Caught by controller[0]: → /opt/iobroker/node_modules/serialport/Release/serialport.node
              host.SmartHomeCenter | 2020-05-10 09:28:01.783 | error | Caught by controller[0]: → /opt/iobroker/node_modules/serialport/out/Release/serialport.node
              host.SmartHomeCenter | 2020-05-10 09:28:01.782 | error | Caught by controller[0]: → /opt/iobroker/node_modules/serialport/Debug/serialport.node
              host.SmartHomeCenter | 2020-05-10 09:28:01.782 | error | Caught by controller[0]: → /opt/iobroker/node_modules/serialport/out/Debug/serialport.node
              host.SmartHomeCenter | 2020-05-10 09:28:01.782 | error | Caught by controller[0]: → /opt/iobroker/node_modules/serialport/build/Release/serialport.node
              host.SmartHomeCenter | 2020-05-10 09:28:01.782 | error | Caught by controller[0]: → /opt/iobroker/node_modules/serialport/build/Debug/serialport.node
              host.SmartHomeCenter | 2020-05-10 09:28:01.781 | error | Caught by controller[0]: → /opt/iobroker/node_modules/serialport/build/serialport.node
              host.SmartHomeCenter | 2020-05-10 09:28:01.781 | error | Caught by controller[0]: Error: Could not locate the bindings file. Tried:
              host.SmartHomeCenter | 2020-05-10 09:28:01.781 | error | Caught by controller[0]: ^
              host.SmartHomeCenter | 2020-05-10 09:28:01.780 | error | Caught by controller[0]: throw err
              host.SmartHomeCenter | 2020-05-10 09:28:01.780 | error | Caught by controller[0]: /opt/iobroker/node_modules/serialport/node_modules/bindings/bindings.js:96
              

              Es gibt auch andere Fehlermeldungen die aber alle auf das gleiche hinauslaufen.
              Die einfachste Option ist es dann manuell im richtigen Verzeichnis neu zu bauen.
              In dem Fall das Verzeichenis mit "bindings" suchen - oben ist das /opt/iobroker/node_modules/serialport/node_modules/bindings ... bei neueren Versionen kann es auch etwas wie /opt/iobroker/node_modules/serialport/node_modules/@serialport/bindings sein.
              Dann in dieses Verzeichnis wechseln und npm install --production ausführen. Danach den Adapter nochmal sneu starten, das sollte dann tun.

              Ein weiterer Fall sind Adapter mit canvas Modul (ggf echarts oder Mihome-vacuum) wo es Probleme gebe kann.

              Andere Sonderfälle muss man sich im Detail ansehen. Bitte unten Posten und wir unterstützen.

              Weitere Notfall Optionen

              Im früheren Artikel unter https://forum.iobroker.net/topic/22867/how-to-node-js-für-iobroker-richtig-updaten sind noch weitere manuelle Möglichkeiten beschrieben ioBroker wieder zum laufen zu bekommen, aber diese sollten an sich nicht mehr nötig sein, gehen aber natürlich auch noch!
              Dieser Artikel gilt also auch weiterhin.

              Jetzt viel Erfolg und gebt bitte Feedback wie git es geklappt hat oder welche Probleme Ihr habt.

              Ingo

              S Offline
              S Offline
              stefande
              schrieb am zuletzt editiert von
              #190

              @apollon77

              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

              J 1 Antwort Letzte Antwort
              0
              • S stefande

                @apollon77

                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

                J Offline
                J Offline
                Jan1
                schrieb am zuletzt editiert von
                #191

                @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 ;)

                S 1 Antwort Letzte Antwort
                1
                • J Jan1

                  @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 ;)

                  S Offline
                  S Offline
                  stefande
                  schrieb am zuletzt editiert von
                  #192

                  @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.

                  HomoranH J 2 Antworten Letzte Antwort
                  0
                  • S stefande

                    @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.

                    HomoranH Nicht stören
                    HomoranH Nicht stören
                    Homoran
                    Global Moderator Administrators
                    schrieb am zuletzt editiert von
                    #193

                    @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.

                    kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                    1 Antwort Letzte Antwort
                    0
                    • S stefande

                      @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.

                      J Offline
                      J Offline
                      Jan1
                      schrieb am zuletzt editiert von
                      #194

                      @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.

                      HomoranH S 2 Antworten Letzte Antwort
                      0
                      • J Jan1

                        @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.

                        HomoranH Nicht stören
                        HomoranH Nicht stören
                        Homoran
                        Global Moderator Administrators
                        schrieb am zuletzt editiert von
                        #195

                        @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

                        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                        1 Antwort Letzte Antwort
                        0
                        • J Jan1

                          @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.

                          S Offline
                          S Offline
                          stefande
                          schrieb am zuletzt editiert von
                          #196

                          @jan1

                          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.

                          HomoranH J 2 Antworten Letzte Antwort
                          0
                          • S stefande

                            @jan1

                            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.

                            HomoranH Nicht stören
                            HomoranH Nicht stören
                            Homoran
                            Global Moderator Administrators
                            schrieb am zuletzt editiert von
                            #197

                            @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 nicht

                            Hier im Forum geht so etwas sehr schnell unter, zumal ich nicht einmal wüsste wo jemand danach suchen sollte

                            kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                            1 Antwort Letzte Antwort
                            0
                            • S stefande

                              @jan1

                              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.

                              J Offline
                              J Offline
                              Jan1
                              schrieb am zuletzt editiert von
                              #198

                              @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.

                              S 1 Antwort Letzte Antwort
                              0
                              • J Jan1

                                @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.

                                S Offline
                                S Offline
                                stefande
                                schrieb am zuletzt editiert von
                                #199

                                @jan1 @Homoran

                                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

                                HomoranH apollon77A 2 Antworten Letzte Antwort
                                1
                                • S stefande

                                  @jan1 @Homoran

                                  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

                                  HomoranH Nicht stören
                                  HomoranH Nicht stören
                                  Homoran
                                  Global Moderator Administrators
                                  schrieb am zuletzt editiert von
                                  #200

                                  @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

                                  kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                  der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                  1 Antwort Letzte Antwort
                                  0
                                  • RK62R Offline
                                    RK62R Offline
                                    RK62
                                    schrieb am zuletzt editiert von RK62
                                    #201

                                    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?

                                    RK62R 1 Antwort Letzte Antwort
                                    0
                                    • RK62R RK62

                                      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?

                                      RK62R Offline
                                      RK62R Offline
                                      RK62
                                      schrieb am zuletzt editiert von
                                      #202

                                      Ich habe das jetzt scheinbar mit npm rebuild canvas --build-from-source erfolgreich repariert.

                                      1 Antwort Letzte Antwort
                                      0
                                      • S stefande

                                        @jan1 @Homoran

                                        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

                                        apollon77A Online
                                        apollon77A Online
                                        apollon77
                                        schrieb am zuletzt editiert von
                                        #203

                                        @stefande ja kann man oben reinschreiben.

                                        @homoran ist ne Mini textanpassung. Die Diskussion dauert schon länger als es da zu adden ;-))

                                        Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                                        • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                                        • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                                        HomoranH 1 Antwort Letzte Antwort
                                        1
                                        • apollon77A apollon77

                                          @stefande ja kann man oben reinschreiben.

                                          @homoran ist ne Mini textanpassung. Die Diskussion dauert schon länger als es da zu adden ;-))

                                          HomoranH Nicht stören
                                          HomoranH Nicht stören
                                          Homoran
                                          Global Moderator Administrators
                                          schrieb am zuletzt editiert von
                                          #204

                                          @apollon77
                                          Hab ich jetzt gemacht:
                                          https://forum.iobroker.net/topic/49480/node-js-10-x-ist-tot-es-lebe-node-js-14/2?_=1638115440783

                                          ich dachte @stefande würde da antworten wollen

                                          kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                          apollon77A S 2 Antworten Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

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

                                          452

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe