Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. [How-to] Node.js ioBroker richtig updaten-2021/22 Edition

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

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

    This topic has been deleted. Only users with topic management privileges can see it.
    • apollon77
      apollon77 @Wildbill last edited by

      @wildbill sagte in [How-to] Node.js ioBroker richtig updaten-2021/22 Edition:

      Das „Austauschen“ der Github-Versionen gegen die aus stable oder latest hat also mögliche Probleme im Vorfeld ausgemerzt.

      Das so gelesen ... ich schreib das mal oben mit rein in den ersten Post 🙂

      1 Reply Last reply Reply Quote 2
      • Homoran
        Homoran Global Moderator Administrators last edited by

        @sborg aber da haben wir wieder /local/, das gibt Ärger bei nodesource

        Thomas Braun 1 Reply Last reply Reply Quote 0
        • Thomas Braun
          Thomas Braun Most Active @Homoran last edited by Thomas Braun

          @homoran sagte in [How-to] Node.js ioBroker richtig updaten-2021/22 Edition:

          aber da haben wir wieder /local/, das gibt Ärger bei nodesource

          Die beißen sich eigentlich nicht, /usr/local liegt früher im $PATH.
          Ich würde aber dennoch zu einer einfachen Installation via des distributionseigenen Paketmanagers raten. Zumal der ja auch vom iobroker bereits für die Installation verwendet wird.

          Für 'Power-User' / Developer (z. B. zum testen von verschiedenen Versionen) ist das natürlich ein guter Weg. Ich bezweifle allerdings, das damit der Mehrheit der Anwender geholfen ist.

          1 Reply Last reply Reply Quote 1
          • BananaJoe
            BananaJoe Most Active last edited by BananaJoe

            So, Wasserstandsmeldung:

            • Ubuntu 20.04 LTS
            • ioBroker mit allen Adaptern auf dem Beta-Channel
            • Jupp ich arbeite als root
            • Upgrade von node 14 auf 16

            Ich habe mir 3 puTTY-Sitzungen aufgemacht

            1. Sitzung als root mit einem
            tail -n 1000 -f /opt/iobroker/log/iobroker.current.log
            
            1. Sitzung als Benutzer iobroker Dazu als root angemeldet und zum iobroker gewechselt:
            sudo -u iobroker /usr/bin/bash
            cd /opt/iobroker
            
            1. Sitzung als root für die Befehle

            Und so habe ich es gemacht:

            als iobroker

            iobroker backup
            iobroker stop
            

            als root

            curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash -
            apt install -y nodejs
            node -v
            npm -v
            cd /opt/iobroker
            iobroker fix
            

            Ich fand das das Upgrade verdächtig schnell ging - aber ok.

            als iobroker

            iobroker start
            

            Und dann warten ...
            Fast alle Adapter sind gleich wieder gestartet, nur die zigbee Adapter sind gecrasht und er hat den rebuild angestoßen (das kannte ich schon vom Upgrade von 12 auf 14).
            WARTEN !!! nach etwa 5 Minuten war damit fertig und Log konnte ich sehen wie diese diesmal erfolgreich gestartet sind.

            daswetter ist dann gecrasht, er hat aber keinen rebuild angestoßen. Der Adapter wird nur alle 30 Minuten per cron angestoßen.
            Für den habe ich dann einen rebuild gestartet:

            als iobroker

            iobroker rebuild daswetter
            

            Da warte ich jetzt auf das nächste Ergebnis. Der Adapter hat dann beim nächsten Durchlauf ohne Fehler funktioniert.

            Einzig im MQTT-Adapter hatte ich wieder Datenpunkte mit falschen Typ (warum auch immer der Adapter die wieder geändert hat), gibt ne dicke Fehlermeldung im Log, funktioniert aber trotzdem und er passt den Typ an.

            Thomas Braun apollon77 2 Replies Last reply Reply Quote 0
            • Thomas Braun
              Thomas Braun Most Active @BananaJoe last edited by Thomas Braun

              @bananajoe sagte in [How-to] Node.js ioBroker richtig updaten-2021/22 Edition:

              Jupp ich arbeite als root

              SCHNAPPATMUNG 😉

              Wenn es richtig gemacht wird (wie hier) auch kein Problem. Die sieht man leider aber ansonsten so gut wie nie.

              W 1 Reply Last reply Reply Quote 0
              • W
                Wildbill @Thomas Braun last edited by Wildbill

                @thomas-braun sagte in [How-to] Node.js ioBroker richtig updaten-2021/22 Edition:

                @bananajoe sagte in [How-to] Node.js ioBroker richtig updaten-2021/22 Edition:

                Jupp ich arbeite als root

                SCHNAPPATMUNG 😉

                Wenn es richtig gemacht wird (wie hier) auch kein Problem. Die sieht man leider aber ansonsten so gut wie nie.

                Das hättest Du nicht schreiben dürfen. Ab sofort ist dann jeder, der als root unterwegs ist der Meinung, er würde es richtig machen. Der Thomas hat es ja geschrieben… 😊

                Gruss, Jürgen

                Thomas Braun 1 Reply Last reply Reply Quote 1
                • Thomas Braun
                  Thomas Braun Most Active @Wildbill last edited by Thomas Braun

                  @wildbill

                  Da hat man mal feuchte Augen, weil man (ich glaube zum ersten Mal in diesem Forum) mal ausnahmensweise einen von $AHNUNG getragenen Einsatz von root sieht und dann ist es auch wieder nicht Recht...

                  Grundsätzlich rate ich aber weiterhin zu 'ordentlicher' Administration des Systems via 'sudo'. Denn einfacher ist das Vorgehen von @BananaJoe ja nun nicht, mit zwei Terminals im jeweils korrekten user-Kontext zu jonglieren.

                  Vor die zwei Befehle, die es bedürfen ein 'sudo' zu setzen ist nämlich viiiiieeeel einfacher. Da musste nicht die Rolle wechseln oder zwei shells offen haben.

                  1 Reply Last reply Reply Quote 2
                  • BananaJoe
                    BananaJoe Most Active last edited by BananaJoe

                    Ok, Canvas will wieder nicht:

                    2022-06-23 22:02:20.404  - error: echarts.0 (54216) Cannot find required modules: Error: The module '/opt/iobroker/node_modules/iobroker.echarts/node_modules/canvas/build/Release/canvas.node'
                    was compiled against a different Node.js version using
                    NODE_MODULE_VERSION 83. This version of Node.js requires
                    NODE_MODULE_VERSION 93. Please try re-compiling or re-installing
                    the module (for instance, using `npm rebuild` or `npm install`).
                    

                    Ich habe schon im Pfad

                    /opt/iobroker/node_modules/iobroker.echarts/node_modules/canvas
                    

                    ein rebuild versucht (wie beim letzten mal)

                    npm rebuild canvas
                    npm install --build-from-source
                    

                    Die Datei /opt/iobroker/node_modules/iobroker.echarts/node_modules/canvas/build/Release/canvas.node hat auch ein aktuelles Datum, ich vermute er hat die neu erstellt. npm in dem Pfad ist auch Version 8.

                    Was kann ich tun?

                    Thomas Braun 1 Reply Last reply Reply Quote 0
                    • Thomas Braun
                      Thomas Braun Most Active @BananaJoe last edited by Thomas Braun

                      @bananajoe

                      canvas ist ein Biest...
                      Wo liegt das denn sonst noch so herum?

                      cd /opt/iobroker
                      npm ls canvas
                      

                      Bei mir hab ich das nämlich auch via echarts drin:

                      npm ls canvas
                      iobroker.inst@3.0.0 /opt/iobroker
                      ├─┬ iobroker.echarts@1.0.12
                      │ ├── canvas@2.9.1
                      │ └─┬ jsdom@19.0.0
                      │   └── canvas@2.9.1 deduped
                      ├─┬ iobroker.iot@1.11.7
                      │ └── canvas@2.9.1 deduped
                      └─┬ iobroker.mihome-vacuum@3.4.1
                        └── canvas@2.9.1 deduped
                      

                      Ich kann mich aber nicht erinnern, das das rumgezickt hätte bei mir.

                      BananaJoe 1 Reply Last reply Reply Quote 0
                      • BananaJoe
                        BananaJoe Most Active @Thomas Braun last edited by BananaJoe

                        @thomas-braun

                        iobroker@iobroker:/opt/iobroker$ npm ls canvas
                        iobroker.inst@2.0.3 /opt/iobroker
                        ├── canvas@2.6.1
                        ├─┬ iobroker.echarts@1.0.12
                        │ ├── canvas@2.9.1
                        │ └─┬ jsdom@19.0.0
                        │   └── canvas@2.6.1 deduped
                        └─┬ iobroker.iot@1.11.7
                          └── canvas@2.9.1
                        

                        Die beiden 2.6er sind vermutlich das Problem? Deduped?

                        Thomas Braun 1 Reply Last reply Reply Quote 0
                        • Thomas Braun
                          Thomas Braun Most Active @BananaJoe last edited by Thomas Braun

                          @bananajoe sagte in [How-to] Node.js ioBroker richtig updaten-2021/22 Edition:

                          Die beiden 2.6er sind vermutlich das Problem?

                          Das vermute ich auch. Ich hab nur 2.9.1 drin.
                          Da liegt im root des trees ja noch eine 2.6.1 rum, die ich nicht habe.

                          Die canvas da sollte entbehrlich sein. Kannst du die rauskicken?

                          BananaJoe 1 Reply Last reply Reply Quote 0
                          • BananaJoe
                            BananaJoe Most Active @Thomas Braun last edited by

                            @thomas-braun sagte in [How-to] Node.js ioBroker richtig updaten-2021/22 Edition:

                            @bananajoe sagte in [How-to] Node.js ioBroker richtig updaten-2021/22 Edition:

                            Die beiden 2.6er sind vermutlich das Problem?

                            Das vermute ich auch. Ich hab nur 2.9.1 drin.
                            Da liegt im root des trees ja noch eine 2.6.1 rum, die ich nicht habe.

                            Die canvas da sollte entbehrlich sein. Kannst du die rauskicken?

                            iobroker.inst@2.0.3 /opt/iobroker
                            ├─┬ iobroker.echarts@1.0.12
                            │ ├── canvas@2.9.1
                            │ └─┬ jsdom@19.0.0
                            │   └── canvas@2.6.1
                            └─┬ iobroker.iot@1.11.7
                              └── canvas@2.9.1
                            

                            erledigt. jetzt muss ich nur noch diese Unterversion finden

                            Thomas Braun 1 Reply Last reply Reply Quote 0
                            • Thomas Braun
                              Thomas Braun Most Active @BananaJoe last edited by

                              @bananajoe

                              Die müsste eigentlich auf 2.9.1 (deduped) springen, wenn du den Adapter nochmal 'anpackst' (neuinstallation/upgrade auf gleiche Version)

                              BananaJoe 1 Reply Last reply Reply Quote 0
                              • BananaJoe
                                BananaJoe Most Active @Thomas Braun last edited by

                                @thomas-braun wie auch immer ich es geschafft habe, das deduped ist verschwunden und die Version bleibt bei 2.6.1

                                Thomas Braun 1 Reply Last reply Reply Quote 0
                                • Thomas Braun
                                  Thomas Braun Most Active @BananaJoe last edited by

                                  @bananajoe
                                  Ja, klar, die hat ja jetzt keinen 'dupe' mehr und steht alleine.
                                  Haste echarts jetzt nochmal angetreten?

                                  (Ansonsten liegts am root!1!!! Wer weiß was du dir da alles kaputtgefummelt hast!11!!!!!!!) 😉

                                  BananaJoe 1 Reply Last reply Reply Quote 0
                                  • BananaJoe
                                    BananaJoe Most Active @Thomas Braun last edited by

                                    @thomas-braun noch mal angetreten - du meinst

                                    iobroker rebuild echarts
                                    

                                    ?

                                    ja, keine Änderung. Aber ich habe canvas wieder im /opt/iobroker installiert und nun:

                                    iobroker.inst@2.0.3 /opt/iobroker
                                    ├── canvas@2.9.1
                                    ├─┬ iobroker.echarts@1.0.12
                                    │ ├── canvas@2.9.1 deduped
                                    │ └─┬ jsdom@19.0.0
                                    │   └── canvas@2.9.1 deduped
                                    └─┬ iobroker.iot@1.11.7
                                      └── canvas@2.9.1 deduped
                                    

                                    Es gibt zwar keine Fehlermeldungen, das erzeugen der Grafiken funktioniert aber nicht.
                                    Bin gerade am debuggen

                                    Thomas Braun 1 Reply Last reply Reply Quote 0
                                    • Thomas Braun
                                      Thomas Braun Most Active @BananaJoe last edited by Thomas Braun

                                      @bananajoe

                                      Zumindest hast du jetzt die gleiche Version.

                                      npm referenziert immer die in der Hierarchie am höchsten liegende Version als führend und dedupliziert/dedupes die tiefer im tree liegenden. Deswegen bei dir der canvas im root, bei mir der canvas unterhalb von iobroker.echarts

                                      Versionsmäßig sollte das aber jetzt bei dir ja auch passen.

                                      BananaJoe 1 Reply Last reply Reply Quote 0
                                      • BananaJoe
                                        BananaJoe Most Active @Thomas Braun last edited by BananaJoe

                                        @thomas-braun sagte in [How-to] Node.js ioBroker richtig updaten-2021/22 Edition:

                                        @bananajoe

                                        Zumindest hast du jetzt die gleiche Version.

                                        es geht jetzt auch wieder - ohne das ich etwas weiter gemacht habe.
                                        Das canvas im Stammverzeichnis habe ich beim letzten Reparaturversuch wohl erstellt. Also der eChart funktionierte schon ewig, nur hatte ich die Idee mir täglich per Telegram eine Zusammenfassung meiner Solaranlage zu senden. Und dabei habe ich - vermutlich nach irgendwelchen Anleitungen aus diesem Forum - versucht das zu reparieren.

                                        Das canvas habe ich mit

                                        npm uninstall canvas
                                        

                                        entfernt gehabt - aber er hatte den Ordner dazu nicht gelöscht. Den hatte ich gefunden und in der package.json gesehen das es die 2.6er Version ist. Deshalb habe ich die neue mal drüber installiert - und der Knoten hat sich gelöst.

                                        Aber Danke das gerade du einem root Benutzer das Händchen gehalten hast

                                        Thomas Braun 1 Reply Last reply Reply Quote 0
                                        • Thomas Braun
                                          Thomas Braun Most Active @BananaJoe last edited by Thomas Braun

                                          @bananajoe sagte in [How-to] Node.js ioBroker richtig updaten-2021/22 Edition:

                                          Aber Danke das gerade du einem root Benutzer das Händchen gehalten hast

                                          Wer so ordentlich mit dem root arbeitet...
                                          Aber wie schon gesagt, das ist ja leider die absolute Ausnahme, das man das so sieht.
                                          99,9% der root shells die man hier sonst sieht sind der übliche Unfug.

                                          Ich finde es aber immer noch einfacher aus einer user shell heraus nur kurz fallweise per sudo in die root Rolle zu schlüpfen und sofort wieder in die user Rolle zu fallen. Bevor ich da mit zwei bzw. drei Shells hantiere...

                                          1 Reply Last reply Reply Quote 1
                                          • apollon77
                                            apollon77 @BananaJoe last edited by

                                            @bananajoe daswetter hat keinen nativen Teil ... haste die Fehlermeldung noch? Aber am Ende auch egal wenns dann wieder tat

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

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

                                            420
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

                                            97
                                            812
                                            317157
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo