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 für ioBroker richtig updaten

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 für ioBroker richtig updaten

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
installationlinuxnodenode.jsnodejswindows
1.1k Beiträge 106 Kommentatoren 738.5k Aufrufe 112 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.
  • W Wing.Stefan

    Hallo, leider immer das selbe spiel.
    NODE.JS Updaten und Synology Docker. Jedesmal stunden damits klappt, jetzt wo der sprung von 10 auf 12 geht, gehts leider überhaupt nicht.
    gibt es eine anleitung die 100% immer unter synology und docker iobroker funktionionert

    @andre @haselchen
    DANKE

    von mir aus nimm ich auch eine neuinstall direkt auf der synology in kauf, diese docker sachen sind sowieso nur umständlich und funktionieren die halbe zeit nicht. warum leute davon schwärmen verstehe ich bis heute nicht

    Thomas BraunT Online
    Thomas BraunT Online
    Thomas Braun
    Most Active
    schrieb am zuletzt editiert von
    #523

    @maestro Da läuft ein Debian im Docker?
    Dann müsste das wohl auch per 'apt' ruckzuck gehen.

    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 Antwort Letzte Antwort
    1
    • W Wing.Stefan

      Hallo, leider immer das selbe spiel.
      NODE.JS Updaten und Synology Docker. Jedesmal stunden damits klappt, jetzt wo der sprung von 10 auf 12 geht, gehts leider überhaupt nicht.
      gibt es eine anleitung die 100% immer unter synology und docker iobroker funktionionert

      @andre @haselchen
      DANKE

      von mir aus nimm ich auch eine neuinstall direkt auf der synology in kauf, diese docker sachen sind sowieso nur umständlich und funktionieren die halbe zeit nicht. warum leute davon schwärmen verstehe ich bis heute nicht

      GlasfaserG Offline
      GlasfaserG Offline
      Glasfaser
      schrieb am zuletzt editiert von Glasfaser
      #524

      @maestro
      @Thomas-Braun sagte in [How-to] Node.js für ioBroker richtig updaten:

      Dann müsste das wohl auch per 'apt' ruckzuck gehen.

      Richtig ruckzuck :)

      Update immer so

      apt-get update
      
      apt-get dist-upgrade
      

      Wenn nur 10 vorhanden dann :

      curl -sL https://deb.nodesource.com/setup_12.x | bash -
      apt install -y nodejs
      npm rebuild
      

      Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

      1 Antwort Letzte Antwort
      0
      • W Offline
        W Offline
        Wing.Stefan
        schrieb am zuletzt editiert von
        #525

        ISTSituation: Node.js v10.20.1 (Empfohlene Version v12.16.3)
        ca04f9e2-2e15-471d-b5bc-cee6113b8500-image.png
        c17d87de-e154-4a69-a4de-6250c5a3d942-image.png
        fcbe0565-3cbc-435c-a4cd-ea050cb49317-image.png
        Danach läuft einiges runter zuviel für hier.
        wobei das hier neu für mich war:
        curl -sL https://deb.nodesource.com/setup_12.x | bash -
        apt install -y nodejs
        npm rebuild

        Hatte bis jetzt diese Befehle erhalten:
        e5502130-b810-408e-8e65-8c49bb288355-image.png Du bist im Iobroker Terminal (bash)?
        Install Node.js
        apt-get update
        apt-get upgrade
        apt-get install curl build-essential
        curl -sL https://deb.nodesource.com/setup_10.x | sudo bash -
        apt-get install -y nodejs

        wobei ich eben das mit dem setup_10 und 12 als unterschied sehe....

        Aber es hat funktioniert
        BIG THX @Glasfaser @Thomas-Braun

        Thomas BraunT 1 Antwort Letzte Antwort
        0
        • W Wing.Stefan

          ISTSituation: Node.js v10.20.1 (Empfohlene Version v12.16.3)
          ca04f9e2-2e15-471d-b5bc-cee6113b8500-image.png
          c17d87de-e154-4a69-a4de-6250c5a3d942-image.png
          fcbe0565-3cbc-435c-a4cd-ea050cb49317-image.png
          Danach läuft einiges runter zuviel für hier.
          wobei das hier neu für mich war:
          curl -sL https://deb.nodesource.com/setup_12.x | bash -
          apt install -y nodejs
          npm rebuild

          Hatte bis jetzt diese Befehle erhalten:
          e5502130-b810-408e-8e65-8c49bb288355-image.png Du bist im Iobroker Terminal (bash)?
          Install Node.js
          apt-get update
          apt-get upgrade
          apt-get install curl build-essential
          curl -sL https://deb.nodesource.com/setup_10.x | sudo bash -
          apt-get install -y nodejs

          wobei ich eben das mit dem setup_10 und 12 als unterschied sehe....

          Aber es hat funktioniert
          BIG THX @Glasfaser @Thomas-Braun

          Thomas BraunT Online
          Thomas BraunT Online
          Thomas Braun
          Most Active
          schrieb am zuletzt editiert von Thomas Braun
          #526

          @maestro said in [How-to] Node.js für ioBroker richtig updaten:

          wobei ich eben das mit dem setup_10 und 12 als unterschied sehe

          :-) Das ist die ganze Magie. 2 statt 0 und schon wird aus node 10 eine node 12. :-)

          Man kann es auch noch einfacher haben. In der Datei nodesource.list einfach die 10 gegen eine 12 austauschen:

          nano /etc/apt/sources.list.d/nodesource.list
          apt update
          apt upgrade
          

          Fertig bist du.

          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 Antwort Letzte Antwort
          0
          • StabilostickS Stabilostick

            MOD-EDIT: Dieser Thread und insbesondere diese Anleitung ist von 2019 und somit veraltet

            aktuell ist
            https://forum.iobroker.net/topic/35090/howto-nodejs-installation-und-upgrades-unter-debian


            Update März 2023: Die aktuelle Anleitung findet ihr hier : https://forum.iobroker.net/topic/64032/update-nodejs-best-practise-supported-14-16-und-18

            1. Einleitung

            Node.js ist die Laufzeitumgebung der Programmiersprache JavaScript, in der ioBroker geschrieben ist. Ohne Node.js funktioniert ioBroker nicht.

            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 fast wöchentlich.

            Node.js-Versionen mit gerader Hauptversionsnummer werden als LTS-Versionen (Long Term Support) bezeichnet und einige Jahre gepflegt (z.B. 8.x). In 2017 war das Node.js 8, 2018 kam Node.js 10, dann 12.x hinzu und im Oktober 2021 wird Node.js 14 den LTS-Status erhalten.

            Im gleichem Zug erreichen frühere LTS-Versionen ihr Lebensende (EOL, End of Life). So hat Node.js 6 im April 2019 den EOL-Status erhalten und bekommt damit keine Updates mehr, Nodejs 8.x ist seit November 2019 raus.

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

            Auch ioBroker wird stetig weiterentwickelt und nutzt die neuen Funktionen aktueller Node.js-Versionen. Obwohl der ioBroker js-controller mit Versionen 1.4.x bzw. 1.5.x noch Node.js 4 unterstützt, fordern neue Adapter immer häufiger mindestens Node.js 8 als Grundvoraussetzung.

            Ab der Version 2.0 des js-controllers (das Freigabedatum ist noch nicht bekannt) sind die Anpassungen so tiefgreifend, dass die Node.js-Versionen 4 und 6 nicht mehr unterstützt werden können.

            Ab Version 3.0/3.1 vom Controller, der gerade (Stand 24.4.2020) im Latest Repository ist, wird Nodejs 10.x Minimum sein.

            Alle paar Jahre steht also für eine ioBroker-Installation ein Update von Node.js an. Dieser Artikel soll zusammenfassen wir man dazu am besten vorgeht.

            2. Wer sollte updaten?

            Aktuell empfehlen wir, bei ioBroker-Neuinstallationen mindestens Node.js 10, besser noch 12.x. zu verwenden. Es sind wenige Adapter bekannt, die nicht mit Node 10/12 funktionieren: Details dazu in https://forum.iobroker.net/topic/30561/status-iobroker-und-node-js-12-x

            Windows-Anwendern empfehlen wir, auf jeden Fall am Test des neuen Windows-Installers teilzunehmen: https://forum.iobroker.net/post/266623
            Der zukünftige Windows-Installer für ioBroker wird eine Funktion erhalten, bestehende Installationen automatisch auf aktuelle js-controller- und Node.js-Versionen zu migrieren, ohne dass man die Kommandozeile bemühen muss.

            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.

            Grundsätzlich gilt: Sollte das ioBroker-System stabil laufen, muss Node.js auch nicht auf Gedeih und Verderb upgedated werden. Wenn aber die Installation bestimmter Adapter fehlschlägt (wohlmöglich sogar mit entsprechender Fehlermeldung) oder eine Node-Version < 4 für einen js-controller > Version 1.4.x eingesetzt wird, sollte über ein Node.js-Update nachgedacht werden. Es sind auch Probleme für die Node.js-Versionen 8.0 - 8.12 mit volllaufendem RAM bekannt, so dass wir auch hier ein Update empfehlen.

            Wie bereits gesagt: Sollte das ioBroker-System stabil laufen und ist die Installation technisch nicht gefordert, muss Node.js auch nicht auf Gedeih und Verderb upgedated werden.

            3. Was sollte ich vor dem Update tun?

            Hinweis: Falls die Version des js-controllers <= 1.5.12 ist, muss VOR dem Update in den Einstellungen der Admin-Instanz "Verschlüsselung (https) benutzen" ausgeschaltet werden. Das in ioBroker bis dahin integrierte Zertifikat kann zu Problemen beim Starten des Admin bei Node.js-Versionen >= 10 führen.

            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. Auch wenn diese Versionen ggf. noch im "Latest" Repository sind muss man diese vorher aktualisieren. Alternativ wartet man mit der ganzen Update-Aktion bis die neuen Versionen im "Stable" Repository sind, schreibt den Entwickler dazu an oder fragt im Forum nach.

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

            4. Step-by-step-Anleitung für Unix-Systeme

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

            • Anschließend 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 startet. 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 mit einem beherzten "sudo kill -9 <ProzessID>" zwangsbeenden.

            • 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 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_10.x | sudo -E bash -
              sudo apt-get install -y nodejs
              

            Für nodejs 12 einfach in der URL oben anstelle der 10 eine 12 reinpacken.

            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.

            • 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

              curl -sL https://iobroker.net/fix.sh | bash -
              

              Er stellt unter anderem die für den Betrieb von ioBroker notwendigen Sicherheitseinstellungen wieder her.

            • Bei einer Aktualisierung von Node.js müssen bereits installierte JavaScript- Module im ioBroker-Ordner aktualisiert werden, da sonst Fehler bei deren Ausführung auftreten.

              Um diese zu aktualisieren gibt es mehrere Möglichkeiten:

              a) ab js-controller 3.0: Automatischer Rebuild
              ioBroker versucht seit dem js-controller 3.0 automatisch 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. Zuerst wird ein "rebuild" des betroffenen Adapters ausgeführt, falls das nicht hilft werden die Adapter-Abhängigkeiten aktualisiert. Daher kann es sein das der Adapter mehrfach ersucht wird neu zu starten. Hier bitte Geduld haben!
              Bei einigen Adaptern (zB iot die optionale native Abhängigkeiten haben) funktioniert die automatische Erkennung nicht und das rebuild muss manuell angestoßen werden. Hier zu gibt es iobroker rebuild adaptername und falls das nicht reicht iobroker rebuild adaptername --install. Das einfach manuell ausführen. Damit sollte alles idealerweise automatisiert erledigt sein. Falls hie rirgendetwas gar nicht geht dann helfen die weiteren Optionen.

              b) npm rebuild
              Der erste Versuch sollte immer mit dem Befehl "npm rebuild" im ioBroker Verzeichnis stattfinden, weil dies am saubersten funktioniert und direkt von der Paketverwaltung ausgeführt wird. Im Idealfall dauert das ein paar Minuten und es könnten ein paar Warnungen gelistet werden.
              Falls es aber Fehler gibt, werden wir zusammen versuchen im nächsten Post alle bekannten Fälle mit Ihren Lösungsansätzen zu sammeln. Wenn das funktioniert ist dies der schnellste und sauberste Weg.

              c) reinstall-Skript
              Sollte das nicht klappen, beinhaltet der js-Controller ein reinstall-Skript ("reinstall.sh" bzw. ab js-controller 1.5.x "reinstall.js"). Dieses Skript erkennt alle installierten ioBroker-Adapter, löscht diese dann aus dem node_modules-Verzeichnis und installiert sie neu. Dieser Ansatz ist etwas aufwändiger als "npm rebuild", erfüllt aber den gleichen Zweck. Das funktioniert generell gut, man sollte den Prozess aber nicht abbrechen. Falls es doch passiert oder es Probleme beim Starten nach dieser Prozedur gibt, dann am besten den Weg im nächsten Punkt wählen.
              Das reinstall.sh-Skript welches im js-controller 1.4 mitgeliefert wurde hat ein Formatierungsproblem und muss vorher noch für Linux mit den Befehlen

              cd /opt/iobroker
              sudo mv reinstall.sh reinstall.dos
              sudo tr -d '\r' < reinstall.dos > reinstall.sh
              sudo chmod +x reinstall.sh
              

              korrigiert werden, damit es funktioniert.

              d) Reset aller Module in node_modules
              Eine weitere Variante, die gründlich ist, aber etwas Zeit kostet, ist der Ansatz einfach alles Alte unter Beibehaltung der Daten und Einstellungen neu zu installieren. Wichtig ist, das iobroker-data Verzeichnis nicht zu verändern. Häufig können mit dieser Vorgehensweise auch andere (verborgene) Installationsfehler repariert werden.

              Dazu löscht man zuerst das gesamte node_modules Verzeichnis im ioBroker-Verzeichnis.

              cd /opt/iobroker
              sudo rm -r node_modules/ 
              

              Nachdem der Befehl abgesetzt wurde, fragt das Programm, ob in den Ordner "hinabgestiegen" werden soll (sofern es ein tieferer Unterordner ist) und ob der (schreibgeschützte) Ordner wirklich gelöscht werden soll - beides bestätigt man mit "Ja" (j) oder "Yes" (y).

              Danach installiert man den Controller in der relevanten Version (hier z.B. 2.2.8 der zum Zeitpunkt des Schreibens die aktuelle "Stable"-Version ist):

              npm install iobroker.js-controller@2.2.8 --production
              

              Anschließend startet man ioBroker.

              iobroker start
              

              ioBroker wird korrekterweise feststellen, dass die Adapter, die er starten will, nicht installiert sind - und diese einfach automatisch nachinstallieren. Je nach System kann dies einige Zeit dauern - gern auch ein paar Stunden (oder bei langsamen SD-Karten die ganze Nacht). Aber danach ist alles aktualisiert. Der Installationsfortschritt ist im Admin im Log-Fenster zu sehen.

              Zu beachten ist, dass Adapter, die man manuell von GitHub installiert hat, den Fehler Can not parse null/io-package.json:Error: ENOENT: no suche file or directory ... im ioBroker-Log erzeugen.
              Diese Adapter nach Abschluss der automatischen Installationssequenz wie gehabt über das Adapterfenster manuell von GitHub nachinstallieren und nach der Installation die bestehende diesbezügliche Instanz von Hand starten.

              Ratsam ist es auch, im Log nach der Installation nach dem Wort yourself zu suchen. Hier werden ggf. npm-Module angezeigt, die nicht automatisch installiert wurden. Sie können/sollten manuell über die Kommandozeile mit npm i <Packetname>@<version>, ausgeführt im iobroker-Ordner, nachinstalliert werden. Dazu zuerst den ioBroker stoppen, npm ausführen und dann den ioBroker wieder starten.

              Wenn man dabei npm als root-User per Hand in der Kommandozeile ausgeführt hat, schlage ich zur Korrektur eventueller Berechtigungsfehler vor, vor dem Start von ioBroker das Fixerscript laufen zu lassen.

              cd /opt/iobroker
              iobroker stop
              npm i <Packetname>@<version>
              curl -sL https://iobroker.net/fix.sh | bash -
              iobroker start
              

              e) Neuinstallation mit Restore
              Eine kleine Abwandlung der letzten Variante ist eine Neuinstallation. Hierbei sichert man das "iobroker-data" Verzeichnis (oder nutzt das Backup von oben). Dann löscht man das gesamte ioBroker-Verzeichnis und nutzt den Installer.

              cp -r /opt/iobroker/iobroker-data <Pfad_zum_sicheren_Ort> 
              sudo rm -r /opt/iobroker/ 
              sudo mkdir /opt/iobroker
              cd /opt/iobroker
              curl -sL https://iobroker.net/install.sh | bash -
              

              Direkt danach stoppt man ioBroker wieder (der ja nach der Installation automatisch gestartet wird).

              iobroker stop
              

              Dann löscht man den neu erstellen „iobroker-data“- Ordner und kopiert anschließend das gesicherte alte „iobroker-data“-Verzeichnis mit den darin enthaltenen Datenbanken und Dateien dorthin zurück.

              rm -r /opt/iobroker/iobroker-data
              cp -r <Pfad_zum_sicheren_Ort> /opt/iobroker/iobroker-data  
              

              Anschließend wieder ioBroker starten. Der Rest läuft dann wie bei c) und dauert seine Zeit.

            5. Zu guter Letzt

            Bitte gebt euer Feedback, was bei euch wie gut funktioniert, was ihr immer nutzt und was die Probleme und eure Lösungen sind.

            Viele Grüße,
            apollon77
            stabilostick

            S Offline
            S Offline
            Stefan_1969
            schrieb am zuletzt editiert von Stefan_1969
            #527

            @Stabilostick
            Hat bei mir nicht funktioniert ...
            Mit dem curl ... aus dem Link für Version 12 wird die Version herunter geladen.
            ed313f0a-c1c6-45c7-999e-beda21636b2b-image.png
            Mit der zweiten Anweisung erhalte ich die Meldung, dass mit 8.16.1 die neueste Version installiert ist.
            46eba477-ea1c-4d6d-8e73-e617cb73767c-image.png
            Ein sudo apt-get dist-upgrade habe ich durchgeführt.

            Mit den Anweisungen von Stabilostick (01. Juni 2019) lief nichts mehr. Eine Installation Version 12 wurde in der zweiten Anweisung damit quitiert, dass eine Version 4.xxx installiert wurde.

            Ich habe jetzt ein Backup der VM zurück gespielt damit wenigstens das System wieder läuft.

            526 Beiträge durchzueiern ist mir ein bisschen viel ...
            Vielleicht kann mich jemand an die Hand nehmen und helfen?

            Vielen Dank - Stefan

            ps: das ganze läuft in einer Proxmox-VM 4GB speicher 32 GB HD default-CPU (KVM64)
            Proxmox-Version 6.0-4

            System: Deban-Version 9 (Stretch)

            Adapter sind alle aktuell


            ioBroker, grafana, influx, mariaDB, pihole, MotionEye auf proxmox
            Geräte: Homematic, Shelly, Sonoff, Gosund, WEMOS

            J Thomas BraunT 2 Antworten Letzte Antwort
            0
            • S Stefan_1969

              @Stabilostick
              Hat bei mir nicht funktioniert ...
              Mit dem curl ... aus dem Link für Version 12 wird die Version herunter geladen.
              ed313f0a-c1c6-45c7-999e-beda21636b2b-image.png
              Mit der zweiten Anweisung erhalte ich die Meldung, dass mit 8.16.1 die neueste Version installiert ist.
              46eba477-ea1c-4d6d-8e73-e617cb73767c-image.png
              Ein sudo apt-get dist-upgrade habe ich durchgeführt.

              Mit den Anweisungen von Stabilostick (01. Juni 2019) lief nichts mehr. Eine Installation Version 12 wurde in der zweiten Anweisung damit quitiert, dass eine Version 4.xxx installiert wurde.

              Ich habe jetzt ein Backup der VM zurück gespielt damit wenigstens das System wieder läuft.

              526 Beiträge durchzueiern ist mir ein bisschen viel ...
              Vielleicht kann mich jemand an die Hand nehmen und helfen?

              Vielen Dank - Stefan

              ps: das ganze läuft in einer Proxmox-VM 4GB speicher 32 GB HD default-CPU (KVM64)
              Proxmox-Version 6.0-4

              System: Deban-Version 9 (Stretch)

              Adapter sind alle aktuell

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

              @Stefan_1969
              Geht doch mal auf Buster hoch, da ist in der Sourcelist eh Node 10 drin. Dann hast gleich 2 Fliegen mit ein Klappe erschlagen.

              S 1 Antwort Letzte Antwort
              0
              • S Stefan_1969

                @Stabilostick
                Hat bei mir nicht funktioniert ...
                Mit dem curl ... aus dem Link für Version 12 wird die Version herunter geladen.
                ed313f0a-c1c6-45c7-999e-beda21636b2b-image.png
                Mit der zweiten Anweisung erhalte ich die Meldung, dass mit 8.16.1 die neueste Version installiert ist.
                46eba477-ea1c-4d6d-8e73-e617cb73767c-image.png
                Ein sudo apt-get dist-upgrade habe ich durchgeführt.

                Mit den Anweisungen von Stabilostick (01. Juni 2019) lief nichts mehr. Eine Installation Version 12 wurde in der zweiten Anweisung damit quitiert, dass eine Version 4.xxx installiert wurde.

                Ich habe jetzt ein Backup der VM zurück gespielt damit wenigstens das System wieder läuft.

                526 Beiträge durchzueiern ist mir ein bisschen viel ...
                Vielleicht kann mich jemand an die Hand nehmen und helfen?

                Vielen Dank - Stefan

                ps: das ganze läuft in einer Proxmox-VM 4GB speicher 32 GB HD default-CPU (KVM64)
                Proxmox-Version 6.0-4

                System: Deban-Version 9 (Stretch)

                Adapter sind alle aktuell

                Thomas BraunT Online
                Thomas BraunT Online
                Thomas Braun
                Most Active
                schrieb am zuletzt editiert von Thomas Braun
                #529

                @Stefan_1969

                lsb_release -a
                apt policy nodejs
                which node
                

                Und das ganze NICHT als root, sonder als normaler User.

                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 Antwort Letzte Antwort
                0
                • J Jan1

                  @Stefan_1969
                  Geht doch mal auf Buster hoch, da ist in der Sourcelist eh Node 10 drin. Dann hast gleich 2 Fliegen mit ein Klappe erschlagen.

                  S Offline
                  S Offline
                  Stefan_1969
                  schrieb am zuletzt editiert von
                  #530

                  @Jan1 : Vielen Dank für den Tipp! Hat geklappt, läuft wieder! Installiert ist jetzt 10.19.0 auf Buster.
                  Ein paar Nacharbeiten sind notwendig gewesen, npm musste ich neu installieren.

                  Möchte ich auf 12.x habe ich jedoch wieder den gleichen Effekt: sudo apt-get install -y nodejs sagt:
                  2888f6a2-3cf8-4e63-9750-a0ce962adfea-image.png

                  :confounded:

                  Viele Grüsse und nochmals Danke
                  Stefan


                  ioBroker, grafana, influx, mariaDB, pihole, MotionEye auf proxmox
                  Geräte: Homematic, Shelly, Sonoff, Gosund, WEMOS

                  Thomas BraunT 1 Antwort Letzte Antwort
                  0
                  • S Stefan_1969

                    @Jan1 : Vielen Dank für den Tipp! Hat geklappt, läuft wieder! Installiert ist jetzt 10.19.0 auf Buster.
                    Ein paar Nacharbeiten sind notwendig gewesen, npm musste ich neu installieren.

                    Möchte ich auf 12.x habe ich jedoch wieder den gleichen Effekt: sudo apt-get install -y nodejs sagt:
                    2888f6a2-3cf8-4e63-9750-a0ce962adfea-image.png

                    :confounded:

                    Viele Grüsse und nochmals Danke
                    Stefan

                    Thomas BraunT Online
                    Thomas BraunT Online
                    Thomas Braun
                    Most Active
                    schrieb am zuletzt editiert von Thomas Braun
                    #531

                    @Stefan_1969
                    Nicht als root anmelden...

                    Installiert ist jetzt 10.19.0 auf Buster.

                    Aber die Version von Debian, nicht das Paket von nodesource. Und das wollen wir.

                    Als user:

                    iobroker stop
                    sudo apt remove node
                    curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
                    sudo apt update
                    sudo apt dist-upgrade
                    iobroker start
                    

                    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

                    S 1 Antwort Letzte Antwort
                    0
                    • MathiasJM Offline
                      MathiasJM Offline
                      MathiasJ
                      schrieb am zuletzt editiert von MathiasJ
                      #532

                      Entschuldigt vielmals, wenn ich wieder darauf rumreiten muß:
                      Wenn man Radar2 sein eigen nennt, müssen unbedingt diese Befehle ausgeführt werden:

                      sudo apt-get install libcap2-bin arp-scan bluetooth bluez libbluetooth-dev libudev-dev
                      sudo setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which arp-scan`)
                      sudo setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which node`)
                      sudo setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which arp`)
                      sudo setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which hcitool`)
                      sudo setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which hciconfig`)
                      sudo setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which l2ping`)
                      

                      Wenn man das nicht tut, erscheinen im Log folgende Fehlermelungen:

                      photo_2020-05-11_07-54-56.jpg
                      photo_2020-05-11_07-55-13.jpg
                      Danach kann man ja ein

                      sudo iobroker stop
                      curl -sL https://raw.githubusercontent.com/ioBroker/ioBroker/stable-installer/fix_installation.sh | bash -
                      sudo reboot
                      

                      ausführen. Ich habe es extra hier aufgeführt, weil es doch mit dem Update auf Node 12.x zusammen hängt.
                      Gruß,
                      Mathias

                      IObroker auf dem NUC als VM.
                      Da ich noch keine Aktoren habe, wird momentan via Radar nur der AB der Fritzbox ein- und ausgeschaltet.
                      Welches Smarthome-System es letztendlich wird, weiß ich noch nicht. Vielleicht kommen auch nur Zigbee-Geräte ins Haus.

                      DiginixD 1 Antwort Letzte Antwort
                      0
                      • MathiasJM MathiasJ

                        Entschuldigt vielmals, wenn ich wieder darauf rumreiten muß:
                        Wenn man Radar2 sein eigen nennt, müssen unbedingt diese Befehle ausgeführt werden:

                        sudo apt-get install libcap2-bin arp-scan bluetooth bluez libbluetooth-dev libudev-dev
                        sudo setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which arp-scan`)
                        sudo setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which node`)
                        sudo setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which arp`)
                        sudo setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which hcitool`)
                        sudo setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which hciconfig`)
                        sudo setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which l2ping`)
                        

                        Wenn man das nicht tut, erscheinen im Log folgende Fehlermelungen:

                        photo_2020-05-11_07-54-56.jpg
                        photo_2020-05-11_07-55-13.jpg
                        Danach kann man ja ein

                        sudo iobroker stop
                        curl -sL https://raw.githubusercontent.com/ioBroker/ioBroker/stable-installer/fix_installation.sh | bash -
                        sudo reboot
                        

                        ausführen. Ich habe es extra hier aufgeführt, weil es doch mit dem Update auf Node 12.x zusammen hängt.
                        Gruß,
                        Mathias

                        DiginixD Offline
                        DiginixD Offline
                        Diginix
                        schrieb am zuletzt editiert von Diginix
                        #533

                        @MathiasJ Funktioniert radar2 bei dir mit node 12?
                        Bisher weiß ich immer noch nicht ob alle meine genutzten Adapter node 12 kompatibel sind, was mich vom Update von 10 auf 12 abhält.

                        @all: Gibt es hier vllt irgendwo eine Übersicht dazu?

                        ..:: So long! Tom ::..

                        NUC7i3 (Ubuntu Proxmox VM) | Echo Dots 2+3. Gen | Xiaomi Sensoren | Mi Robot 1S | Yeelight | Sonoff | Shelly | H801 RGB | Gosund SP1 | NodeMCU+ESP32 | Kostal Plenticore PV+BYD | openWB

                        MathiasJM 1 Antwort Letzte Antwort
                        0
                        • S Offline
                          S Offline
                          steimi
                          schrieb am zuletzt editiert von steimi
                          #534

                          @Diginix Bei mir läuft radar2 (1.2.5 mit dem Workaround stephan1827) mit Node12 wesentlich stabiler als mit Node10.

                          apollon77A 1 Antwort Letzte Antwort
                          0
                          • S steimi

                            @Diginix Bei mir läuft radar2 (1.2.5 mit dem Workaround stephan1827) mit Node12 wesentlich stabiler als mit Node10.

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

                            @steimi Und der "workaround" war bei der 1.2.5 nötig? An sich sollte da die aktuelle Lib schon dabei sein

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

                              @steimi Und der "workaround" war bei der 1.2.5 nötig? An sich sollte da die aktuelle Lib schon dabei sein

                              S Offline
                              S Offline
                              steimi
                              schrieb am zuletzt editiert von
                              #536

                              @apollon77 mit dem Workaround meine ich die Anpassung des radar2-Adapter. Gibt es ein Issue dazu.

                              DiginixD 1 Antwort Letzte Antwort
                              1
                              • S steimi

                                @apollon77 mit dem Workaround meine ich die Anpassung des radar2-Adapter. Gibt es ein Issue dazu.

                                DiginixD Offline
                                DiginixD Offline
                                Diginix
                                schrieb am zuletzt editiert von
                                #537

                                @steimi Das Issue ist ja sogar von mir ;-)
                                Dafür habe ich schon lange meinen eigenen Workaround. Hat ja nichts mit der node Version zu tun.

                                ..:: So long! Tom ::..

                                NUC7i3 (Ubuntu Proxmox VM) | Echo Dots 2+3. Gen | Xiaomi Sensoren | Mi Robot 1S | Yeelight | Sonoff | Shelly | H801 RGB | Gosund SP1 | NodeMCU+ESP32 | Kostal Plenticore PV+BYD | openWB

                                1 Antwort Letzte Antwort
                                0
                                • DiginixD Diginix

                                  @MathiasJ Funktioniert radar2 bei dir mit node 12?
                                  Bisher weiß ich immer noch nicht ob alle meine genutzten Adapter node 12 kompatibel sind, was mich vom Update von 10 auf 12 abhält.

                                  @all: Gibt es hier vllt irgendwo eine Übersicht dazu?

                                  MathiasJM Offline
                                  MathiasJM Offline
                                  MathiasJ
                                  schrieb am zuletzt editiert von MathiasJ
                                  #538

                                  @Diginix
                                  Bei mir läuft Radar2 auf Node12.x und JS-Controller 3.x einwandfrei.
                                  ich hatte nur Startschwierigkeiten. :)
                                  Du mußt nur den Bluetoothtreiber aktualisieren, sonst bekommst Du Fehlermeldungen wie

                                  node bluetooth not found
                                  

                                  Ich war anfangs auch skeptisch, bin aber froh, dass ich jetzt doch aktualisiert habe.
                                  Zum finden von Personen zuhause nutze ich ausschließlich die G-Tags.
                                  da ich nicht überall auffindbar bin, nutze ich weiter die USB-LAN Extender .
                                  Der USB-Teil wird direkt am Raspberry angeschlossen, dazwischen kommen dann ca 10m LAN-Kabel, dann der zweite Teil des Extenders und am Ende dann der Bluetooth-Dongle.
                                  Nur ich gehe mit der Aktualisierung von Node10 auf Node 12 nicht nach Anleitung vor.

                                  IObroker auf dem NUC als VM.
                                  Da ich noch keine Aktoren habe, wird momentan via Radar nur der AB der Fritzbox ein- und ausgeschaltet.
                                  Welches Smarthome-System es letztendlich wird, weiß ich noch nicht. Vielleicht kommen auch nur Zigbee-Geräte ins Haus.

                                  1 Antwort Letzte Antwort
                                  0
                                  • StabilostickS Stabilostick

                                    MOD-EDIT: Dieser Thread und insbesondere diese Anleitung ist von 2019 und somit veraltet

                                    aktuell ist
                                    https://forum.iobroker.net/topic/35090/howto-nodejs-installation-und-upgrades-unter-debian


                                    Update März 2023: Die aktuelle Anleitung findet ihr hier : https://forum.iobroker.net/topic/64032/update-nodejs-best-practise-supported-14-16-und-18

                                    1. Einleitung

                                    Node.js ist die Laufzeitumgebung der Programmiersprache JavaScript, in der ioBroker geschrieben ist. Ohne Node.js funktioniert ioBroker nicht.

                                    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 fast wöchentlich.

                                    Node.js-Versionen mit gerader Hauptversionsnummer werden als LTS-Versionen (Long Term Support) bezeichnet und einige Jahre gepflegt (z.B. 8.x). In 2017 war das Node.js 8, 2018 kam Node.js 10, dann 12.x hinzu und im Oktober 2021 wird Node.js 14 den LTS-Status erhalten.

                                    Im gleichem Zug erreichen frühere LTS-Versionen ihr Lebensende (EOL, End of Life). So hat Node.js 6 im April 2019 den EOL-Status erhalten und bekommt damit keine Updates mehr, Nodejs 8.x ist seit November 2019 raus.

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

                                    Auch ioBroker wird stetig weiterentwickelt und nutzt die neuen Funktionen aktueller Node.js-Versionen. Obwohl der ioBroker js-controller mit Versionen 1.4.x bzw. 1.5.x noch Node.js 4 unterstützt, fordern neue Adapter immer häufiger mindestens Node.js 8 als Grundvoraussetzung.

                                    Ab der Version 2.0 des js-controllers (das Freigabedatum ist noch nicht bekannt) sind die Anpassungen so tiefgreifend, dass die Node.js-Versionen 4 und 6 nicht mehr unterstützt werden können.

                                    Ab Version 3.0/3.1 vom Controller, der gerade (Stand 24.4.2020) im Latest Repository ist, wird Nodejs 10.x Minimum sein.

                                    Alle paar Jahre steht also für eine ioBroker-Installation ein Update von Node.js an. Dieser Artikel soll zusammenfassen wir man dazu am besten vorgeht.

                                    2. Wer sollte updaten?

                                    Aktuell empfehlen wir, bei ioBroker-Neuinstallationen mindestens Node.js 10, besser noch 12.x. zu verwenden. Es sind wenige Adapter bekannt, die nicht mit Node 10/12 funktionieren: Details dazu in https://forum.iobroker.net/topic/30561/status-iobroker-und-node-js-12-x

                                    Windows-Anwendern empfehlen wir, auf jeden Fall am Test des neuen Windows-Installers teilzunehmen: https://forum.iobroker.net/post/266623
                                    Der zukünftige Windows-Installer für ioBroker wird eine Funktion erhalten, bestehende Installationen automatisch auf aktuelle js-controller- und Node.js-Versionen zu migrieren, ohne dass man die Kommandozeile bemühen muss.

                                    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.

                                    Grundsätzlich gilt: Sollte das ioBroker-System stabil laufen, muss Node.js auch nicht auf Gedeih und Verderb upgedated werden. Wenn aber die Installation bestimmter Adapter fehlschlägt (wohlmöglich sogar mit entsprechender Fehlermeldung) oder eine Node-Version < 4 für einen js-controller > Version 1.4.x eingesetzt wird, sollte über ein Node.js-Update nachgedacht werden. Es sind auch Probleme für die Node.js-Versionen 8.0 - 8.12 mit volllaufendem RAM bekannt, so dass wir auch hier ein Update empfehlen.

                                    Wie bereits gesagt: Sollte das ioBroker-System stabil laufen und ist die Installation technisch nicht gefordert, muss Node.js auch nicht auf Gedeih und Verderb upgedated werden.

                                    3. Was sollte ich vor dem Update tun?

                                    Hinweis: Falls die Version des js-controllers <= 1.5.12 ist, muss VOR dem Update in den Einstellungen der Admin-Instanz "Verschlüsselung (https) benutzen" ausgeschaltet werden. Das in ioBroker bis dahin integrierte Zertifikat kann zu Problemen beim Starten des Admin bei Node.js-Versionen >= 10 führen.

                                    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. Auch wenn diese Versionen ggf. noch im "Latest" Repository sind muss man diese vorher aktualisieren. Alternativ wartet man mit der ganzen Update-Aktion bis die neuen Versionen im "Stable" Repository sind, schreibt den Entwickler dazu an oder fragt im Forum nach.

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

                                    4. Step-by-step-Anleitung für Unix-Systeme

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

                                    • Anschließend 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 startet. 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 mit einem beherzten "sudo kill -9 <ProzessID>" zwangsbeenden.

                                    • 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 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_10.x | sudo -E bash -
                                      sudo apt-get install -y nodejs
                                      

                                    Für nodejs 12 einfach in der URL oben anstelle der 10 eine 12 reinpacken.

                                    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.

                                    • 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

                                      curl -sL https://iobroker.net/fix.sh | bash -
                                      

                                      Er stellt unter anderem die für den Betrieb von ioBroker notwendigen Sicherheitseinstellungen wieder her.

                                    • Bei einer Aktualisierung von Node.js müssen bereits installierte JavaScript- Module im ioBroker-Ordner aktualisiert werden, da sonst Fehler bei deren Ausführung auftreten.

                                      Um diese zu aktualisieren gibt es mehrere Möglichkeiten:

                                      a) ab js-controller 3.0: Automatischer Rebuild
                                      ioBroker versucht seit dem js-controller 3.0 automatisch 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. Zuerst wird ein "rebuild" des betroffenen Adapters ausgeführt, falls das nicht hilft werden die Adapter-Abhängigkeiten aktualisiert. Daher kann es sein das der Adapter mehrfach ersucht wird neu zu starten. Hier bitte Geduld haben!
                                      Bei einigen Adaptern (zB iot die optionale native Abhängigkeiten haben) funktioniert die automatische Erkennung nicht und das rebuild muss manuell angestoßen werden. Hier zu gibt es iobroker rebuild adaptername und falls das nicht reicht iobroker rebuild adaptername --install. Das einfach manuell ausführen. Damit sollte alles idealerweise automatisiert erledigt sein. Falls hie rirgendetwas gar nicht geht dann helfen die weiteren Optionen.

                                      b) npm rebuild
                                      Der erste Versuch sollte immer mit dem Befehl "npm rebuild" im ioBroker Verzeichnis stattfinden, weil dies am saubersten funktioniert und direkt von der Paketverwaltung ausgeführt wird. Im Idealfall dauert das ein paar Minuten und es könnten ein paar Warnungen gelistet werden.
                                      Falls es aber Fehler gibt, werden wir zusammen versuchen im nächsten Post alle bekannten Fälle mit Ihren Lösungsansätzen zu sammeln. Wenn das funktioniert ist dies der schnellste und sauberste Weg.

                                      c) reinstall-Skript
                                      Sollte das nicht klappen, beinhaltet der js-Controller ein reinstall-Skript ("reinstall.sh" bzw. ab js-controller 1.5.x "reinstall.js"). Dieses Skript erkennt alle installierten ioBroker-Adapter, löscht diese dann aus dem node_modules-Verzeichnis und installiert sie neu. Dieser Ansatz ist etwas aufwändiger als "npm rebuild", erfüllt aber den gleichen Zweck. Das funktioniert generell gut, man sollte den Prozess aber nicht abbrechen. Falls es doch passiert oder es Probleme beim Starten nach dieser Prozedur gibt, dann am besten den Weg im nächsten Punkt wählen.
                                      Das reinstall.sh-Skript welches im js-controller 1.4 mitgeliefert wurde hat ein Formatierungsproblem und muss vorher noch für Linux mit den Befehlen

                                      cd /opt/iobroker
                                      sudo mv reinstall.sh reinstall.dos
                                      sudo tr -d '\r' < reinstall.dos > reinstall.sh
                                      sudo chmod +x reinstall.sh
                                      

                                      korrigiert werden, damit es funktioniert.

                                      d) Reset aller Module in node_modules
                                      Eine weitere Variante, die gründlich ist, aber etwas Zeit kostet, ist der Ansatz einfach alles Alte unter Beibehaltung der Daten und Einstellungen neu zu installieren. Wichtig ist, das iobroker-data Verzeichnis nicht zu verändern. Häufig können mit dieser Vorgehensweise auch andere (verborgene) Installationsfehler repariert werden.

                                      Dazu löscht man zuerst das gesamte node_modules Verzeichnis im ioBroker-Verzeichnis.

                                      cd /opt/iobroker
                                      sudo rm -r node_modules/ 
                                      

                                      Nachdem der Befehl abgesetzt wurde, fragt das Programm, ob in den Ordner "hinabgestiegen" werden soll (sofern es ein tieferer Unterordner ist) und ob der (schreibgeschützte) Ordner wirklich gelöscht werden soll - beides bestätigt man mit "Ja" (j) oder "Yes" (y).

                                      Danach installiert man den Controller in der relevanten Version (hier z.B. 2.2.8 der zum Zeitpunkt des Schreibens die aktuelle "Stable"-Version ist):

                                      npm install iobroker.js-controller@2.2.8 --production
                                      

                                      Anschließend startet man ioBroker.

                                      iobroker start
                                      

                                      ioBroker wird korrekterweise feststellen, dass die Adapter, die er starten will, nicht installiert sind - und diese einfach automatisch nachinstallieren. Je nach System kann dies einige Zeit dauern - gern auch ein paar Stunden (oder bei langsamen SD-Karten die ganze Nacht). Aber danach ist alles aktualisiert. Der Installationsfortschritt ist im Admin im Log-Fenster zu sehen.

                                      Zu beachten ist, dass Adapter, die man manuell von GitHub installiert hat, den Fehler Can not parse null/io-package.json:Error: ENOENT: no suche file or directory ... im ioBroker-Log erzeugen.
                                      Diese Adapter nach Abschluss der automatischen Installationssequenz wie gehabt über das Adapterfenster manuell von GitHub nachinstallieren und nach der Installation die bestehende diesbezügliche Instanz von Hand starten.

                                      Ratsam ist es auch, im Log nach der Installation nach dem Wort yourself zu suchen. Hier werden ggf. npm-Module angezeigt, die nicht automatisch installiert wurden. Sie können/sollten manuell über die Kommandozeile mit npm i <Packetname>@<version>, ausgeführt im iobroker-Ordner, nachinstalliert werden. Dazu zuerst den ioBroker stoppen, npm ausführen und dann den ioBroker wieder starten.

                                      Wenn man dabei npm als root-User per Hand in der Kommandozeile ausgeführt hat, schlage ich zur Korrektur eventueller Berechtigungsfehler vor, vor dem Start von ioBroker das Fixerscript laufen zu lassen.

                                      cd /opt/iobroker
                                      iobroker stop
                                      npm i <Packetname>@<version>
                                      curl -sL https://iobroker.net/fix.sh | bash -
                                      iobroker start
                                      

                                      e) Neuinstallation mit Restore
                                      Eine kleine Abwandlung der letzten Variante ist eine Neuinstallation. Hierbei sichert man das "iobroker-data" Verzeichnis (oder nutzt das Backup von oben). Dann löscht man das gesamte ioBroker-Verzeichnis und nutzt den Installer.

                                      cp -r /opt/iobroker/iobroker-data <Pfad_zum_sicheren_Ort> 
                                      sudo rm -r /opt/iobroker/ 
                                      sudo mkdir /opt/iobroker
                                      cd /opt/iobroker
                                      curl -sL https://iobroker.net/install.sh | bash -
                                      

                                      Direkt danach stoppt man ioBroker wieder (der ja nach der Installation automatisch gestartet wird).

                                      iobroker stop
                                      

                                      Dann löscht man den neu erstellen „iobroker-data“- Ordner und kopiert anschließend das gesicherte alte „iobroker-data“-Verzeichnis mit den darin enthaltenen Datenbanken und Dateien dorthin zurück.

                                      rm -r /opt/iobroker/iobroker-data
                                      cp -r <Pfad_zum_sicheren_Ort> /opt/iobroker/iobroker-data  
                                      

                                      Anschließend wieder ioBroker starten. Der Rest läuft dann wie bei c) und dauert seine Zeit.

                                    5. Zu guter Letzt

                                    Bitte gebt euer Feedback, was bei euch wie gut funktioniert, was ihr immer nutzt und was die Probleme und eure Lösungen sind.

                                    Viele Grüße,
                                    apollon77
                                    stabilostick

                                    amg_666A Offline
                                    amg_666A Offline
                                    amg_666
                                    schrieb am zuletzt editiert von
                                    #539

                                    @Stabilostick said in [How-to] Node.js für ioBroker richtig updaten:

                                    Hi, ich habe heute das Update durchgeführt, lief völlig problemlos.
                                    3* Raspi 3b+ (Master und 2 Slaves), die waren alle auf der 10.2.0 und sind jetzt auf 12.6.3

                                    Adapter web gibt eine Warnung, die ist aber glaube ich schon älter

                                    web.0	2020-05-12 12:19:36.623	warn	(22015) adapter.objects.getObjectView is deprecated, and will be removed in the future. Please use adapter.getObjectView/Async. Report this to Developer!
                                    

                                    Adapter radar2.0 zickt noch rum mit Warnung, die vorher nicht da war:

                                    radar2.0	2020-05-12 12:20:00.476	warn	(14177) Neither noble nor hcitool available to scan bluetooth!
                                    

                                    iobroker auf proxmox container

                                    apollon77A 1 Antwort Letzte Antwort
                                    0
                                    • amg_666A amg_666

                                      @Stabilostick said in [How-to] Node.js für ioBroker richtig updaten:

                                      Hi, ich habe heute das Update durchgeführt, lief völlig problemlos.
                                      3* Raspi 3b+ (Master und 2 Slaves), die waren alle auf der 10.2.0 und sind jetzt auf 12.6.3

                                      Adapter web gibt eine Warnung, die ist aber glaube ich schon älter

                                      web.0	2020-05-12 12:19:36.623	warn	(22015) adapter.objects.getObjectView is deprecated, and will be removed in the future. Please use adapter.getObjectView/Async. Report this to Developer!
                                      

                                      Adapter radar2.0 zickt noch rum mit Warnung, die vorher nicht da war:

                                      radar2.0	2020-05-12 12:20:00.476	warn	(14177) Neither noble nor hcitool available to scan bluetooth!
                                      
                                      apollon77A Online
                                      apollon77A Online
                                      apollon77
                                      schrieb am zuletzt editiert von
                                      #540

                                      @amg_666 for web there is already an update in latest I think ... or check that you have current verison installed.

                                      For radar2 ... did you do the rebuild as written on top?

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

                                        @amg_666 for web there is already an update in latest I think ... or check that you have current verison installed.

                                        For radar2 ... did you do the rebuild as written on top?

                                        amg_666A Offline
                                        amg_666A Offline
                                        amg_666
                                        schrieb am zuletzt editiert von
                                        #541

                                        @apollon77
                                        for web there is already an update in latest I think ... or check that you have current verison installed.
                                        installed version is 3.0.8 (latest)

                                        For radar2 ... did you do the rebuild as written on top?

                                        You mean the contribution of MathiasJ? Yes I did the rebuild and restarted iobroker, still receive the warning " (2547) Neither noble nor hcitool available to scan bluetooth!"

                                        iobroker auf proxmox container

                                        apollon77A 1 Antwort Letzte Antwort
                                        0
                                        • amg_666A amg_666

                                          @apollon77
                                          for web there is already an update in latest I think ... or check that you have current verison installed.
                                          installed version is 3.0.8 (latest)

                                          For radar2 ... did you do the rebuild as written on top?

                                          You mean the contribution of MathiasJ? Yes I did the rebuild and restarted iobroker, still receive the warning " (2547) Neither noble nor hcitool available to scan bluetooth!"

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

                                          @amg_666 Ok ... Installation Fixer aufgerufen nach node update?

                                          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
                                          amg_666A 1 Antwort 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

                                          341

                                          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