Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
Logo
  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.1k

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

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

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

Scheduled Pinned Locked Moved ioBroker Allgemein
812 Posts 97 Posters 363.2k Views 83 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M marsmännchen

    @jan1 Und was für Befehle bräuchte ich um auf Bullseye zu komme?

    J Offline
    J Offline
    Jan1
    wrote on last edited by
    #171

    @marsmännchen
    Das ist bisschen mehr und hier im Thread OT.
    Da gabs aber wenn ich nicht irre für den Pi schon ein eigenen Thread.

    M 1 Reply Last reply
    0
    • M marsmännchen

      @jan1 Und was für Befehle bräuchte ich um auf Bullseye zu komme?

      Thomas BraunT Online
      Thomas BraunT Online
      Thomas Braun
      Most Active
      wrote on last edited by
      #172

      @marsmännchen

      Schau hier rein:

      https://forum.iobroker.net/topic/47213/upgrade-von-debian-10-buster-auf-11-bullseye

      Linux-Werkzeugkasten:
      https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
      NodeJS Fixer Skript:
      https://forum.iobroker.net/topic/68035/iob-node-fix-skript
      iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

      1 Reply Last reply
      2
      • J Jan1

        @marsmännchen
        Das ist bisschen mehr und hier im Thread OT.
        Da gabs aber wenn ich nicht irre für den Pi schon ein eigenen Thread.

        M Offline
        M Offline
        marsmännchen
        wrote on last edited by
        #173

        @jan1 ok, werd mich durchsehen. Ich schau mal das ich das Node.js update zum laufen bekomme.
        Danke

        Raspberry Pi 4 8GB, Debian 11, js-controller: 5.0.12, Nodejs: v18.18.2, NPM: 9.8.1 (Multihost),
        Wago PFC200 mit Dali Lichtsteuerung.

        Thomas BraunT 1 Reply Last reply
        0
        • M marsmännchen

          @jan1 ok, werd mich durchsehen. Ich schau mal das ich das Node.js update zum laufen bekomme.
          Danke

          Thomas BraunT Online
          Thomas BraunT Online
          Thomas Braun
          Most Active
          wrote on last edited by
          #174

          @marsmännchen
          Naja, mit

          Holen:3 https://deb.nodesource.com/node_12.x buster InRelease [4.584 B]
          

          kann das nix werden. Da gehört node_14 hin.

          Linux-Werkzeugkasten:
          https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
          NodeJS Fixer Skript:
          https://forum.iobroker.net/topic/68035/iob-node-fix-skript
          iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

          G 1 Reply Last reply
          1
          • Thomas BraunT Thomas Braun

            @marsmännchen
            Naja, mit

            Holen:3 https://deb.nodesource.com/node_12.x buster InRelease [4.584 B]
            

            kann das nix werden. Da gehört node_14 hin.

            G Online
            G Online
            guergen
            wrote on last edited by
            #175

            @apollon77
            Danke! Das war´s

            1 Reply Last reply
            0
            • Thomas BraunT Thomas Braun

              @backfisch88

              Dann mach beim Adapter ein Issue auf, damit der Maintainer sich das ggf. anschauen kann. Wobei sich das sehr nach einem Individual-Problem anhört.

              B Offline
              B Offline
              backfisch88
              wrote on last edited by
              #176

              @thomas-braun
              Hallo!
              Habe bereits ein issue aufgemacht. Der sagte ich soll mich hier melden 🤣

              Thomas BraunT HomoranH 2 Replies Last reply
              0
              • B backfisch88

                @thomas-braun
                Hallo!
                Habe bereits ein issue aufgemacht. Der sagte ich soll mich hier melden 🤣

                Thomas BraunT Online
                Thomas BraunT Online
                Thomas Braun
                Most Active
                wrote on last edited by
                #177

                @backfisch88
                Und um was geht's?

                Linux-Werkzeugkasten:
                https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                NodeJS Fixer Skript:
                https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                1 Reply Last reply
                0
                • B backfisch88

                  @thomas-braun
                  Hallo!
                  Habe bereits ein issue aufgemacht. Der sagte ich soll mich hier melden 🤣

                  HomoranH Do not disturb
                  HomoranH Do not disturb
                  Homoran
                  Global Moderator Administrators
                  wrote on last edited by
                  #178

                  @backfisch88 sagte in [How-to] Node.js für ioBroker richtig updaten - 2021 Edition:

                  Habe bereits ein issue aufgemacht. Der sagte ich soll mich hier melden

                  hast du da mal einen Link?

                  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 Reply Last reply
                  0
                  • H Offline
                    H Offline
                    Hc-Yami
                    wrote on last edited by
                    #179

                    Warum nicht oben direkt das Skript für 14 ausgeben, wenn schon so eine schöne Meldung genannt wird:

                    https://forum.iobroker.net/topic/49480/node-js-10-x-ist-tot-es-lebe-node-js-14

                    Ist es dann nicht doller direkt die 14 anzufügen?

                    HomoranH apollon77A Thomas BraunT 3 Replies Last reply
                    0
                    • H Hc-Yami

                      Warum nicht oben direkt das Skript für 14 ausgeben, wenn schon so eine schöne Meldung genannt wird:

                      https://forum.iobroker.net/topic/49480/node-js-10-x-ist-tot-es-lebe-node-js-14

                      Ist es dann nicht doller direkt die 14 anzufügen?

                      HomoranH Do not disturb
                      HomoranH Do not disturb
                      Homoran
                      Global Moderator Administrators
                      wrote on last edited by Homoran
                      #180

                      @hc-yami sagte in [How-to] Node.js für ioBroker richtig updaten - 2021 Edition:

                      Warum nicht oben direkt das Skript für 14 ausgeben, wenn schon so eine schöne Meldung genannt wird:

                      ???

                      @hc-yami sagte in [How-to] Node.js für ioBroker richtig updaten - 2021 Edition:

                      Ist es dann nicht doller direkt die 14 anzufügen?

                      https://www.iobroker.net/#de/documentation/install/linux.md?installationnodejs

                      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 -

                      H 1 Reply Last reply
                      0
                      • H Hc-Yami

                        Warum nicht oben direkt das Skript für 14 ausgeben, wenn schon so eine schöne Meldung genannt wird:

                        https://forum.iobroker.net/topic/49480/node-js-10-x-ist-tot-es-lebe-node-js-14

                        Ist es dann nicht doller direkt die 14 anzufügen?

                        apollon77A Offline
                        apollon77A Offline
                        apollon77
                        wrote on last edited by
                        #181

                        @hc-yami Danke für den Hinweis, angepasst

                        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
                        1 Reply Last reply
                        0
                        • H Hc-Yami

                          Warum nicht oben direkt das Skript für 14 ausgeben, wenn schon so eine schöne Meldung genannt wird:

                          https://forum.iobroker.net/topic/49480/node-js-10-x-ist-tot-es-lebe-node-js-14

                          Ist es dann nicht doller direkt die 14 anzufügen?

                          Thomas BraunT Online
                          Thomas BraunT Online
                          Thomas Braun
                          Most Active
                          wrote on last edited by
                          #182

                          @hc-yami

                          Du hast schon gesehen, von wann der original Eintrag ist?
                          Wenn nicht:

                          1. Apr. 2021, 00:31

                          Da war node14 noch nicht die empfohlene Version.

                          Linux-Werkzeugkasten:
                          https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                          NodeJS Fixer Skript:
                          https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                          iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                          1 Reply Last reply
                          0
                          • HomoranH Homoran

                            @hc-yami sagte in [How-to] Node.js für ioBroker richtig updaten - 2021 Edition:

                            Warum nicht oben direkt das Skript für 14 ausgeben, wenn schon so eine schöne Meldung genannt wird:

                            ???

                            @hc-yami sagte in [How-to] Node.js für ioBroker richtig updaten - 2021 Edition:

                            Ist es dann nicht doller direkt die 14 anzufügen?

                            https://www.iobroker.net/#de/documentation/install/linux.md?installationnodejs

                            H Offline
                            H Offline
                            Hc-Yami
                            wrote on last edited by
                            #183

                            @homoran ja war ein wenig missverständlich. @apollon77 hat meine Aussage glücklicherweise verstanden. 😄

                            HomoranH 1 Reply Last reply
                            0
                            • H Hc-Yami

                              @homoran ja war ein wenig missverständlich. @apollon77 hat meine Aussage glücklicherweise verstanden. 😄

                              HomoranH Do not disturb
                              HomoranH Do not disturb
                              Homoran
                              Global Moderator Administrators
                              wrote on last edited by
                              #184

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

                              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 -

                              opossumO 1 Reply Last reply
                              0
                              • 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
                                wrote on last edited by 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 Reply Last reply
                                1
                                • RK62R Offline
                                  RK62R Offline
                                  RK62
                                  wrote on last edited by
                                  #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 Reply Last reply
                                  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
                                    wrote on last edited by
                                    #187

                                    @apollon77

                                    Hallo @apollon77

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

                                    Es sind keinerlei Probleme aufgetreten.

                                    C 1 Reply Last reply
                                    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
                                      wrote on last edited by
                                      #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 Reply Last reply
                                      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
                                        wrote on last edited by 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 Reply Last reply
                                        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
                                          wrote on last edited by
                                          #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 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

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

                                          754

                                          Online

                                          32.4k

                                          Users

                                          81.4k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe