Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Uralt System updaten oder Umzug

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Uralt System updaten oder Umzug

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

      @homoran said in Uralt System updaten oder Umzug:

      @mcm1957 sagte in Uralt System updaten oder Umzug:

      @oliverio
      Warum sollte er ein Backup von js-controller 4 nicht in js-controller 5 importieren können ?

      geht nicht!
      wird dir auch beim erstellen des Backups gesagt.

      Dann muss vor dem Einspielen der vontroller auf v4 downgegradet werdrn3

      NEIN - das glaub ich nicht. Sorry.
      Aber wenn's notweig sein sollte, dann halt js-controller 4 installieren ...

      EDIT:
      Ich kenn nur die folgende Meldung im backit up:

      The current version of js-controller differs from the version in the backup.
      The js-controller version of the backup can not be restored automatically.
      To restore the js-controller version of the backup, execute "npm i iobroker.js-controller@x.y.z --production" inside your ioBroker directory
      If you really want to restore the backup with the current installed js-controller, execute the restore command with the --force flag
      

      Die schlägt zwar vor js-controller downzugraden ist aber nicht zwingend.

      1 Reply Last reply Reply Quote 0
      • OliverIO
        OliverIO @mcm1957 last edited by OliverIO

        @mcm1957

        Das mit den Abhängigkeiten versuchte ich gestern im discord zu erklären. Aber man hat mich wohl nicht so richtig verstanden.
        Irgendwas prüft gegen die aktuellen Abhängigkeiten und nicht gegen die Abhängigkeiten im jeweiligen versions package.

        mcm1957 1 Reply Last reply Reply Quote 0
        • mcm1957
          mcm1957 @OliverIO last edited by mcm1957

          @oliverio said in Uralt System updaten oder Umzug:

          @mcm1957

          Das mit den Abhängigkeiten versuchte ich gestern im discord zu erklären. Aber man hat mich wohl nicht so richtig verstanden.

          Nochmal:
          Warum sollte npm bei der Installation des js-controllers überhaupt irgendeine Abhängigkeit eines Adapters prüfen. Das sind völlig unabhängige npm Pakete würd ich mal sagen. Im package.json des js-controllers kann doch nie eine Abhhängigkeit zu einem Adapter stehen ...

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

            @mcm1957

            Ich meine, npm ackert bei jedem Aufruf die kompletten Abhängigkeiten durch und spuckt dann Meldungen auch zu Aktionen aus, die gerade gar nicht anstehen.

            Macht der Paketmanager apt z. B. auch nicht anders. Dient dazu, die Abhängigkeiten sauber zu halten.

            mcm1957 1 Reply Last reply Reply Quote 0
            • OliverIO
              OliverIO @mcm1957 last edited by

              @mcm1957
              Die Frage ist ja sicherlich nur rethorisch an mich gestellt?

              Ich kann mir auch nicht vorstellen das das npm verursacht.
              Aber woher soll in diesem System mit dem aktuellen Setting irgendwas von Node 20 wissen. Warum nicht Node 22. also irgendwo muss es herkommen.

              Aber wissen tu ich es nicht.

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

                @thomas-braun said in Uralt System updaten oder Umzug:

                @mcm1957

                Ich meine, npm ackert bei jedem Aufruf die kompletten Abhängigkeiten durch und spuckt dann Meldungen auch zu Aktionen aus, die gerade gar nicht anstehen.

                Ja - aber doch nur die Abhängigkeiten des zu installierenden Pakets. Und eben da endet mein Verständnis.

                Wenn ioBroker.Shelly einen Fehler meldet weil axios nicht passt ist das ja ok. axios ist ja (in dem Fall sogar direkt) eine depoendency von ioBroker.shelly.

                Aber ioBroker.lovelace ist auch sicht der npm Struktur völlig unabhängig vom paket js-controller. Weder js.controller sollte im package.json von lovelace srinnen stehen noch umgekehrt. Also warum schaut sich npm überhaupt lovelace an wenn es js.controller installieren soll ...

                Thomas Braun 1 Reply Last reply Reply Quote 0
                • mcm1957
                  mcm1957 @OliverIO last edited by

                  @oliverio said in Uralt System updaten oder Umzug:

                  Ich kann mir auch nicht vorstellen das das npm verursacht.
                  Aber woher soll in diesem System mit dem aktuellen Setting irgendwas von Node 20 wissen. Warum nicht Node 22. also irgendwo muss es herkommen.

                  Die Fehlermeldung `npm error code EBADENGINE``ist eine Fehlermeldung die npm ausspuckt. Da spielt ioBroker nicht mit. Node 20 kommt aus lovelace, das ist ja ok. Aber warum npm lovelace überhaupt anssieht ist mir völlig unklar.

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

                    @mcm1957 sagte in Uralt System updaten oder Umzug:

                    Ja - aber doch nur die Abhängigkeiten des zu installierenden Pakets.

                    Nein, auch unbediente Abhängigkeiten von vorherigen Installationsversuchen tauchen da wieder auf.

                    Edit:
                    Ein ähnliches Verhalten hast du auch, wenn Module nicht gebaut werden können. Die Meldungen tauchen dann auch bei anderen npm-Vorgängen wieder auf. Solange bis das Problem behoben wurde oder das Paket rausgekickt wurde.

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

                      @thomas-braun
                      Ich denke npm install schaut sich die ganze Package-lock an und versucht dann alle Abhängigkeiten neu aufzulösen um das zusätzliche Paket mit einzufügen.

                      mcm1957 Thomas Braun 2 Replies Last reply Reply Quote 0
                      • mcm1957
                        mcm1957 @OliverIO last edited by

                        @oliverio said in Uralt System updaten oder Umzug:

                        @thomas-braun
                        Ich denke npm install schaut sich die ganze Package-lock an und versucht dann alle Abhängigkeiten neu aufzulösen um das zusätzliche Paket mit einzufügen.

                        Und warum sollte im package-lock des js-controllers jemals was von lovelace drinnen stehen?

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

                          @oliverio sagte in Uralt System updaten oder Umzug:

                          Ich denke npm install schaut sich die ganze Package-lock an und versucht dann alle Abhängigkeiten neu aufzulösen um das zusätzliche Paket mit einzufügen.

                          Ja, das dürfte die zugrundeliegende Strategie von npm sein. Das ganze Konstrukt soll ja konsistent sein.

                          mcm1957 1 Reply Last reply Reply Quote 0
                          • mcm1957
                            mcm1957 @mcm1957 last edited by

                            Egal:
                            Mein Vorschlag war und ist noch immer

                            • aktuelles System mit node 20 und js-controller 5 (oder ev. 4) aufsetzen
                            • backup dort reinspielen
                            • dann aktualisiseren

                            Wenns dabei Problem gibt kann man sich die ansehen. Kann sein, dass das Verfahren nicht geht, aber es kostet eher wenig Aufwand.

                            Bei der Grundsatzdiskussion warum hier npm laovelace bachtet kommen wir m.E. hier nicht weiter.

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

                              @mcm1957 sagte in Uralt System updaten oder Umzug:

                              Und warum sollte im package-lock des js-controllers jemals was von lovelace drinnen stehen?

                              Tut es wohl auch nicht.
                              Aber
                              Adapter "lovelace" : 4.1.15 , installed 1.5.0 [Updatable]
                              bringt ja auch eine 'Wunschliste' an Abhängigkeiten mit, die erfüllt werden wollen.

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

                                @thomas-braun said in Uralt System updaten oder Umzug:

                                Ja, das dürfte die zugrundeliegende Strategie von npm sein. Das ganze Konstrukt soll ja konsistent sein.

                                Ich hab noch bei keinem Adapter im package-lock einen anderen Adapter entdeckt. Das Pacakgelock wird nur anhand des Inhalts des package.json erstellt. wenn wer ein Beispiel eines package-lock,json hat in dem ein anderer Adapetr steht bitte gerne zeigen.

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

                                  @mcm1957 sagte in Uralt System updaten oder Umzug:

                                  Ich hab noch bei keinem Adapter im package-lock einen anderen Adapter entdeckt.

                                  Muss ja auch nicht. npm orgelt alle Wunschzettel im Tree durch.

                                  Bei apt kann man das dann z. B. per --force reinprügeln. Ist aber meist keine gute Idee.
                                  npm wird das wohl ähnlich handhaben.

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

                                    @thomas-braun

                                    Also bei mir in der Datei

                                    /opt/iobroker/package-lock.json

                                    Stehen alle Pakete aller Adapter inklusive deren Abhängigkeiten drin.
                                    Bei jedem install wird diese aktualisiert.

                                    Ne force nie machen. Npm hat zu 99% recht

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

                                      @oliverio

                                      Das wird dann die Grundlage für den Aufbau des ioBrokers inkl. aller Module und deren Unterabhängigkeiten sein.

                                      Bei apt kann das dann zur sog. 'Dependency Hell' führen. Tritt besonders gerne auf, wenn man zig Fremdquellen und/oder zum Release unpassende Quellen angelegt hat.

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

                                        @thomas-braun

                                        Dürfte bei npm ähnlich sein. Hab mir nur noch nie angeschaut was passiert wenn 2 Pakete eine Abhängigkeit zum gleichen Paket aber 2 unterschiedliche inkompatible jeweils Versionen hat, ob dann beide Versionen in node modules gespeichert wird.

                                        Du musst nicht antworten, wir weichen ab.
                                        Um dem TE zu helfen sehe ich aktuell, da wir mit diesem System nicht mehr weiterkommen, nur 2 Möglichkeiten.
                                        Für beide benötigt er idealerweise eine zweit Hardware. Sonst wird es noch vieeeel komplizierter und übersteigt wahrscheinlich die Fähigkeiten das per Fernsteuerung zu machen.

                                        Für beide, wie gesagt nur mit separater Hardware und aktuelles Betriebssystem aufgespielt + Node 20 oder besser gleich Node 22

                                        Alternative A, wenn aktuelles Backup vorliegt, aber in alter iobroker Version

                                        • iobroker in gleicher majorversion, aber davon die jeweils letzte Version (kann man bei npm nachschauen) installieren
                                        • dort dann das Backup einspielen
                                        • von dort aus dann die ganzen Aktualisierungen des iobrokers immer in einem einzelnen Major Release Schritt vornehmen mit allen Adapter Aktualisierungen
                                        • am besten nach Abschluss der Aktualisierung eines Major Schritts immer wieder neues Backup erstellen zur Sicherheit

                                        Aber ich meine gelesen zu haben, das kein aktuelles Backup vorliegt. Daher
                                        Alternative B

                                        • kopieren aller Dateien unterhalb /opt/iobroker. Achtung das können echt viele Dateien sein. Bei meiner testinstallation bspw ca 7 GB
                                        • überlegen welche weiteren Dienste noch verwendet wurden (Redis,MySQL,influx,grafana,etc). Dort dann jeweils auch die Daten separat sichern (Hilfe dann hier oder Internet)
                                        • dann die Daten auf dem neuen System alle Daten an die gleiche Stelle kopieren
                                        • überprüfen ob alles vollständig ist? Ggfs. in der Alt Installation nachschauen und Daten auch noch transferieren.
                                        • versuchen die Installation zu aktualisieren (wie bei A)
                                        • das altgerät immer im zugriff haben

                                        Hat aber alles seine Risiken und es gibt keine erfolgsgarantie.

                                        Asgothian 1 Reply Last reply Reply Quote 0
                                        • Asgothian
                                          Asgothian Developer @OliverIO last edited by

                                          @oliverio sagte in Uralt System updaten oder Umzug:

                                          @thomas-braun

                                          Dürfte bei npm ähnlich sein. Hab mir nur noch nie angeschaut was passiert wenn 2 Pakete eine Abhängigkeit zum gleichen Paket aber 2 unterschiedliche inkompatible jeweils Versionen hat, ob dann beide Versionen in node modules gespeichert wird.

                                          Du musst nicht antworten, wir weichen ab.
                                          Um dem TE zu helfen sehe ich aktuell, da wir mit diesem System nicht mehr weiterkommen, nur 2 Möglichkeiten.
                                          Für beide benötigt er idealerweise eine zweit Hardware. Sonst wird es noch vieeeel komplizierter und übersteigt wahrscheinlich die Fähigkeiten das per Fernsteuerung zu machen.

                                          Für beide, wie gesagt nur mit separater Hardware und aktuelles Betriebssystem aufgespielt + Node 20 oder besser gleich Node 22

                                          Alternative A, wenn aktuelles Backup vorliegt, aber in alter iobroker Version

                                          • iobroker in gleicher majorversion, aber davon die jeweils letzte Version (kann man bei npm nachschauen) installieren
                                          • dort dann das Backup einspielen
                                          • von dort aus dann die ganzen Aktualisierungen des iobrokers immer in einem einzelnen Major Release Schritt vornehmen mit allen Adapter Aktualisierungen
                                          • am besten nach Abschluss der Aktualisierung eines Major Schritts immer wieder neues Backup erstellen zur Sicherheit

                                          Aber ich meine gelesen zu haben, das kein aktuelles Backup vorliegt. Daher
                                          Alternative B

                                          • kopieren aller Dateien unterhalb /opt/iobroker. Achtung das können echt viele Dateien sein. Bei meiner testinstallation bspw ca 7 GB
                                          • überlegen welche weiteren Dienste noch verwendet wurden (Redis,MySQL,influx,grafana,etc). Dort dann jeweils auch die Daten separat sichern (Hilfe dann hier oder Internet)
                                          • dann die Daten auf dem neuen System alle Daten an die gleiche Stelle kopieren
                                          • überprüfen ob alles vollständig ist? Ggfs. in der Alt Installation nachschauen und Daten auch noch transferieren.
                                          • versuchen die Installation zu aktualisieren (wie bei A)
                                          • das altgerät immer im zugriff haben

                                          Hat aber alles seine Risiken und es gibt keine erfolgsgarantie.

                                          Alternative C - sofern die alte Installation noch läuft:

                                          Manuell Umziehen, sprich

                                          • ioBroker komplett neu installieren
                                          • Adapter Einzeln installieren, Konfiguration übernehmen, Schauen ob man Datenpunktnamen (manuell) übernehmen kann.
                                          • Skripte und andere externe Daten (z.Bsp beim Zigbee Adapter) manuell selektiv kopieren.

                                          Mag mehr Arbeit machen, aber

                                          • während man das macht läuft der alte noch bis man Hardware umzieht
                                          • man kann bestimmte Dinge in dem Zusammenhang neu aufsetzen - vielleicht mit Verbesserungen die sonst immer auf der langen Bank liegen.

                                          Dauert das Länger als der Versuch via Backups ? Klar.
                                          Aber es funktioniert garantiert, und im Forum kann auch sicher geholfen werden. Das ist bei der aktuellen Lage vielleicht auch für den TE besser.

                                          Nebenbei - extra Hardware zum Installieren ist da: Original ist PI4, Neu soll NUC mit Proxxmoxx sein - soweit ich das mitgelesen habe.

                                          Ab einem gewissen Alter (der Software) muss man sich damit abfinden das automatisches Upgrade kritisch ist. Da ist manuelles Arbeiten besser. (was dann Wasser auf die Mühlen von @Thomas-Braun ist - man muss das Zeugs auf Stand halten, sonst kommt irgendwann das böse Erwachen.)

                                          A.

                                          1 Reply Last reply Reply Quote 3
                                          • M
                                            Mr.X last edited by

                                            Servus an all die freundlichen Helfer,
                                            ich habe ein frisches Ubuntu unter Proxmox in einem CT (Container) erstellt.
                                            ioBroker istalliert und auf node 20 gebracht. Es war Abrufbar ich konnte z.B. Zigbee Adapter installieren.
                                            ich habe dann alle 100000 Dateein aus opt/iobroker vom alten System mit FileZilla rüber kopiert und neu gestartet.

                                            Leider tut sich nichts, bekomme auch bei vielen Befehlen Permission denied, obwohl es vorher definitiv lief.
                                            Auf die Weboberfläche komme ich auch nicht drauf.

                                            tadek@ioBroker2025:~$ node -v
                                            v20.19.1
                                            tadek@ioBroker2025:~$ nodejs -v
                                            v20.19.1
                                            tadek@ioBroker2025:~$ npm -v
                                            10.8.2
                                            tadek@ioBroker2025:~$ iob diag
                                            -bash: /usr/bin/iob: Permission denied
                                            tadek@ioBroker2025:~$ iob stop
                                            -bash: /usr/bin/iob: Permission denied
                                            

                                            Ist dann diese Option fehlgeschlagen, oder habe ich was falsch gemacht bzw. hätte ich noch etwas machen müssen

                                            wendy2702 Thomas Braun da_Woody Homoran 5 Replies 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

                                            1.2k
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            13
                                            148
                                            5317
                                            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