Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Error/Bug
    4. iobroker upgrade: js-controller futsch

    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

    iobroker upgrade: js-controller futsch

    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      aski71 last edited by

      Systemdata Bitte Ausfüllen
      Hardwaresystem: QNAP Virtualization Station
      Arbeitsspeicher: 8 GB
      Festplattenart: Virtuelle Festplatte
      Betriebssystem: Ubuntu 18.04.6 LTS
      Node-Version: v16.14.0
      Nodejs-Version: v16.14.0
      NPM-Version: 8.3.1
      Installationsart: zu lange her
      Image genutzt: zu lange her
      Ort/Name der Imagedatei: zu lange her

      Ich habe mein System von Node V12 auf Node V16 hochgerüstet.
      Nach iob start lief alles problemlos.

      Dann wollte ich die mir angezeigten Aktualisierungen (web auf letzte Version und js-controller auf 4.0.4) durchführen.
      Nach iob stop und iob update machte ich einen simplen iob upgrade.
      Der lief ohne Fehlermeldung durch. Ich sah auch, dass web aktualisiert wurde.
      Ein iob start lieferte dann die Fehlermeldung, es gäbe keinen js-controller.

      Musste den js-controller 3.3 neu installieren, Backup wieder einspielen und alle Adapter nachinstallieren lassen.

      Homoran Thomas Braun 2 Replies Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators @aski71 last edited by

        @aski71 sagte in iobroker upgrade: js-controller futsch:

        Ich habe mein System von Node V12 auf Node V16 hochgerüstet.
        Nach iob start lief alles problemlos.

        tatsächlich??

        mit

        @aski71 sagte in iobroker upgrade: js-controller futsch:

        NPM-Version:
        8.3.1

        wohl eher nicht

        Empfohlen ist node 14 mit npm 6

        Erst der COntroller v4 kann mit diesen Versionen (hoffentlich) umgehen

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

          @aski71

          Mach kleinere Sprünge. Von node12 auf node14 (und dann da bleiben) und den js-controller und die Adapter auf den aktuellen Stand der stable Versionen würde ich empfehlen.

          A 1 Reply Last reply Reply Quote 0
          • A
            aski71 @Thomas Braun last edited by

            @thomas-braun @Homoran

            Danke für die Empfehlungen, aber wenn ich sage, es lief alles, dann lief alles. Jetzt läuft auch wieder alles. 🙂

            Und wenn in den Release Notes steht: "Node.js 16.x wird mit js-controller 4.0 nun auch mit npm 7 bzw. 8 unterstützt.", dann geh ich auch davon aus, dass das funktioniert.

            Insofern ist mein Anliegen:
            Ich mache hier auf einen Fehler aufmerksam, der mir begegnet ist.
            Der Fehler kam durch ein "iob upgrade" ohne weitere Parameter zustande.
            Dieser sollte einfach alles upgraden. Tat es aber nicht. Es upgradete den out of date web Adapter und ließ den out of date js-controller verschwinden.
            Das ist nicht so gut. Wer sich berufen fühlt, darf sich gerne den Kopf zerbrechen, wie und warum das passieren konnte. 😉

            In diesem Sinne, frohes Schaffen allerseits und danke nochmals.

            AlCalzone Homoran 2 Replies Last reply Reply Quote 0
            • AlCalzone
              AlCalzone Developer @aski71 last edited by

              @aski71 sagte in iobroker upgrade: js-controller futsch:

              Ich mache hier auf einen Fehler aufmerksam, der mir begegnet ist.

              Sorry wenn ich pedantisch bin, aber ich sehe keine Fehlermeldung 🤡

              A 1 Reply Last reply Reply Quote 0
              • Homoran
                Homoran Global Moderator Administrators @aski71 last edited by

                @aski71 aaaalso....

                du hattest noch controllerv3 und trotzdem npm v8.
                das läuft auch solange bis du npm benötigst, nämlich beim nächsten update.

                iobroker upgrade aktualisiert alle Adapter. Der Controller ist keiner.
                Der hätte aber als allererstes über iobroker upgrade self aktualisiert werden müssen, damitcder Rest mit npm v8 korrekt aktualisiert hätte werden können. Das ist aber in die Hose gegangen, weil der controller v3 nicht mit npm v8 klar kommen konnte.

                Also alles kein Fehler von ioBroker!

                A 1 Reply Last reply Reply Quote 0
                • A
                  aski71 @AlCalzone last edited by

                  @alcalzone said in iobroker upgrade: js-controller futsch:

                  @aski71 sagte in iobroker upgrade: js-controller futsch:

                  Ich mache hier auf einen Fehler aufmerksam, der mir begegnet ist.

                  Sorry wenn ich pedantisch bin, aber ich sehe keine Fehlermeldung 🤡

                  Stimmt. Gab auch keine. 😁🤡

                  1 Reply Last reply Reply Quote 0
                  • A
                    aski71 @Homoran last edited by

                    @homoran said in iobroker upgrade: js-controller futsch:

                    @aski71 aaaalso....

                    du hattest noch controllerv3 und trotzdem npm v8.
                    das läuft auch solange bis du npm benötigst, nämlich beim nächsten update.

                    Hm. Der Controller wird doch nur zur Laufzeit benötigt und nicht bei Installation oder Upgrade?!
                    Da läuft der ja gar nicht, weil gestoppt.

                    iobroker upgrade aktualisiert alle Adapter. Der Controller ist keiner.
                    Der hätte aber als allererstes über iobroker upgrade self aktualisiert werden müssen, damitcder Rest mit npm v8 korrekt aktualisiert hätte werden können. Das ist aber in die Hose gegangen, weil der controller v3 nicht mit npm v8 klar kommen konnte.

                    Ja. Upgrade self aktualisiert nur den Controller. Aber nochmal: Solange nix läuft, sollte es für die Installation egal sein, ob erst der Adapter oder erst der Controller aktualisiert wird. Verständlich ist, dass Adapter zur Laufzeit eine Abhängigkeit vom Controller haben und deshalb auf die Nase fallen können, wenn eine höhere Controller Version vorausgesetzt wird.

                    Also alles kein Fehler von ioBroker!

                    Sehe ich im Rahmen der Robustheit anders.
                    Und dass ein Upgrade den Controller verschwinden lässt, ist nicht robust. Das darf einfach nicht passieren.

                    Homoran AlCalzone 2 Replies Last reply Reply Quote 0
                    • Homoran
                      Homoran Global Moderator Administrators @aski71 last edited by

                      @aski71 sagte in iobroker upgrade: js-controller futsch:

                      Da läuft der ja gar nicht, weil gestoppt.

                      und wie funktionieren dann die iobroker tuDies Befehle?

                      1 Reply Last reply Reply Quote 0
                      • AlCalzone
                        AlCalzone Developer @aski71 last edited by AlCalzone

                        @aski71 sagte in iobroker upgrade: js-controller futsch:

                        Der Controller wird doch nur zur Laufzeit benötigt und nicht bei Installation oder Upgrade?!

                        Eben doch: iobroker upgrade ... Befehle rufen den JS-Controller, bzw. seine CLI auf. Der wiederum ruft npm auf. Und wenn npm beim Installieren vom JS-Controller auf die Nase fällt, z.B. wegen einer npm-Version, die mit dem (noch) alten Controller nicht kompatibel ist, dann ist der futsch.

                        A 1 Reply Last reply Reply Quote 0
                        • A
                          aski71 @AlCalzone last edited by

                          @alcalzone said in iobroker upgrade: js-controller futsch:

                          @aski71 sagte in iobroker upgrade: js-controller futsch:

                          Der Controller wird doch nur zur Laufzeit benötigt und nicht bei Installation oder Upgrade?!

                          Eben doch: iobroker upgrade ... Befehle rufen den JS-Controller, bzw. seine CLI auf. Der wiederum ruft npm auf. Und wenn npm beim Installieren vom JS-Controller auf die Nase fällt, z.B. wegen einer npm-Version, die mit dem (noch) alten Controller nicht kompatibel ist, dann ist der futsch.

                          Tatsächlich. Ich hab mir das gerade im Code angesehen.
                          Passt dennoch alles nicht zusammen: Nach dieser Logik dürfte dann ja weder "upgrade <adapter>" noch "upgrade self" funktionieren.
                          Lustigerweise ist der Adapter-Upgrade von web vorher ja problemlos durchgelaufen. js-controller aber nicht und es gab nicht mal eine Fehlermeldung. Der war einfach weg.

                          Der pure "upgrade" ohne weitere Parameter macht einen "upgrade all". Da gehe ich aus Erfahrung davon aus, dass der js-controller mit upgegradet wird. Zumindest war das bei mir in der Vergangenheit so.

                          Aber egal. Jetzt bin ich schlauer.

                          Wenn das so tricky ist, würde ich mir aber dennoch aus Robustheitsgründen wünschen, dass iob eine Versionsprüfung auf eine maximal zugelassene node oder npm Version macht und sagt: Die node/npm Version ist mir zu hoch. Die unterstütz ich nicht und mach gar nix.

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

                            @aski71

                            Dafür gibt es ja nicht ohne Grund eine Empfehlung vom ioBroker-Team, was die beste Version von nodeJS angeht. Im Moment ist das immer noch node14 / npm6. Andere Versionen können funktionieren, müssen aber nicht. Insbesondere bei Versionsübergängen kann es naturgemäß da halt knirschen.

                            A 1 Reply Last reply Reply Quote 0
                            • A
                              aski71 @Thomas Braun last edited by

                              @thomas-braun said in iobroker upgrade: js-controller futsch:

                              @aski71

                              Dafür gibt es ja nicht ohne Grund eine Empfehlung vom ioBroker-Team, was die beste Version von nodeJS angeht. Im Moment ist das immer noch node14 / npm6. Andere Versionen können funktionieren, müssen aber nicht. Insbesondere bei Versionsübergängen kann es naturgemäß da halt knirschen.

                              Eben drum wäre es guter Programmierstil, das abzufangen.
                              Das kann ja einem Anwender ja auch zwischen dem supporteten Wechsel zwischen Node 12 und 14 passieren, dass er sich etwas zerlegt, weil er die Reihenfolge nicht kennt oder nicht eingehalten hat.

                              ? 1 Reply Last reply Reply Quote 0
                              • ?
                                A Former User @aski71 last edited by

                                @aski71 Den Fehler kann man selbst abfangen, indem man vor jedem Update n Backup / Snapshot macht 🙂
                                Gehts nicht oder ich hab keine Zeit genauer zu investigieren, geh ich wieder zurueck.

                                A 1 Reply Last reply Reply Quote 0
                                • A
                                  aski71 @Guest last edited by

                                  @ilovegym said in iobroker upgrade: js-controller futsch:

                                  @aski71 Den Fehler kann man selbst abfangen, indem man vor jedem Update n Backup / Snapshot macht 🙂
                                  Gehts nicht oder ich hab keine Zeit genauer zu investigieren, geh ich wieder zurueck.

                                  Was glaubst Du, was ich gemacht habe? 😀 Vor so einer fundamentalen Änderung klone ich sogar meine ganze virtuelle Maschine. Dann kann ich nämlich, falls es schief geht und ich keine Zeit habe, einfach die alte 1:1 wieder hoch fahren. Überraschung: Ich habe nämlich noch andere node Abhängigkeiten, die nicht iobroker heißen. Zum Beispiel homebridge.

                                  Nehmt halt mal einfach Denkanregungen und Verbesserungsvorschläge an, statt immer zu diskutieren, wie man es auch machen könnte. Das ist mir schon klar, wie man es auch machen kann. Das Ziel einer jeden Entwicklung muss doch sein, dem Anwender so wenig Probleme wie möglich zu bereiten. Ihr müsst auch mal an Leute denken, die sich nicht rund um die Uhr mit der Materie auseinandersetzen und dennoch ein lauffähiges System haben wollen.

                                  Daher einfach mein Verbesserungsvorschlag, jetzt wo ich es verstanden habe:
                                  js-controller sollte prüfen ob seine Voraussetzungen in der gültigen Range liegen und sagen: Ich brauche npm 0.0.7 bis 0.8.15. Du hast npm 47.11.
                                  Dann weiß man, wie man dran ist.

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

                                    @aski71 sagte in iobroker upgrade: js-controller futsch:

                                    Und dann kann ich auf meinem Testsystem keine von der Empfehlung abweichende Version fahren? Nö.

                                    1 Reply Last reply Reply Quote 0
                                    • Homoran
                                      Homoran Global Moderator Administrators @aski71 last edited by Homoran

                                      @aski71 sagte in iobroker upgrade: js-controller futsch:

                                      js-controller sollte prüfen ob seine Voraussetzungen in der gültigen Range liegen und sagen: Ich brauche npm 0.0.7 bis 0.8.15. Du hast npm 47.11.

                                      wie soll er das machen, wenn du an ihm vorbei node, und vor allem npm, auf eine zu hohe Version setztst?
                                      Wenn der arme Controller dann wieder arbeitet ist es schon passiert.

                                      Dann müssten die Macher von npm es so programmieren, dass vor der Installation von npmv8 überprüft wird ob alle existierenden Programme damit schon zurechtkommen.
                                      Ich glaube nicht, dass npm das machen wird!

                                      Und das Problem, dass Homebridge die ioBroker Installation killt, ist hier im Forum schon öfters besprochen worden.

                                      A 1 Reply Last reply Reply Quote 0
                                      • A
                                        aski71 @Homoran last edited by

                                        @homoran said in iobroker upgrade: js-controller futsch:

                                        @aski71 sagte in iobroker upgrade: js-controller futsch:

                                        js-controller sollte prüfen ob seine Voraussetzungen in der gültigen Range liegen und sagen: Ich brauche npm 0.0.7 bis 0.8.15. Du hast npm 47.11.

                                        wie soll er das machen, wenn du an ihm vorbei node, und vor allem npm, auf eine zu hohe Version setztst?
                                        Wenn der arme Controller dann wieder arbeitet ist es schon passiert.

                                        Dann müssten die Macher von npm es so programmieren, dass vor der Installation von npmv8 überprüft wird ob alle existierenden Programme damit schon zurechtkommen.
                                        Ich glaube nicht, dass npm das machen wird!

                                        Und das Problem, dass Homebridge die ioBroker Installation killt, ist hier im Forum schon öfters besprochen worden.

                                        Wo ist das Problem, bei einem iob upgrade eine Abfrage einzubauen?
                                        Prosa: if (npm < 007 || npm > 0815) print "fuck off" && exit

                                        Aber ich seh schon: Vorschläge machen ist unpopulär. 😉 Nix für ungut.

                                        Btw. hat homebridge bei mir noch nie die iobroker Installation gekillt und das war auch gar nicht das Thema. Ich sagte, ich habe hier noch andere Abhängigkeiten, wie zum Beispiel ...

                                        Homoran 1 Reply Last reply Reply Quote 0
                                        • Homoran
                                          Homoran Global Moderator Administrators @aski71 last edited by Homoran

                                          @aski71 sagte in iobroker upgrade: js-controller futsch:

                                          Aber ich seh schon: Vorschläge machen ist unpopulär.

                                          das siehst du falsch!

                                          @aski71 sagte in iobroker upgrade: js-controller futsch:

                                          Wo ist das Problem, bei einem iob upgrade eine Abfrage einzubauen?

                                          Die Abfrage muss vorher erfolgen wenn npm aktualisiert wird (z.B. von Homebridge)
                                          Danach ist es zu spät

                                          Anders herum ist es ja drin. Da werden die Abhängigkeiten geprüft wenn node, der controller oder der admin zu niedrige Versionen haben

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

                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          550
                                          Online

                                          31.9k
                                          Users

                                          80.1k
                                          Topics

                                          1.3m
                                          Posts

                                          js-controller update
                                          5
                                          19
                                          575
                                          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