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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Uralt System updaten oder Umzug

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

      @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

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

        @mr-x said in Uralt System updaten oder Umzug:

        @mcm1957 sagte in Uralt System updaten oder Umzug:

        Ich will mich da nicht allzusehr einmischen ABER
        Ich würde einfach versuchen die neue Kiste mit aktuellem O/S und node 20 aufzusetzen. Dort js-controller5 5.0.19 (!) zu installieren und dann das Backup versuchen einzuspielen. Wenn das geht kann man dann weiter aktualisieren. Wenn nicht schau mal mal welche Fehelr gemelset werden,

        Habe unter Proxmox ein frisches neues System laufen mit node 20 und JS 7.0.6.
        Warum schreibst du, dass dort 5.0.19 drauf soll.

        Beim Aktualisieren sollten man immer nur eine js-cotnroller version updaten. Der aktuelle js-controlelr code würde (in zukunft) bei einem upgrade self auch nur x-mal eine Major aktualisieren.

        Ich schreib js-controlelr 5 drauf da das restore eines 4er Backups unetr 5 deutlich sicherer funktionieren sollte als unter js-controller 7.

        1 Reply Last reply Reply Quote 0
        • 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
                                            • First post
                                              Last post

                                            Support us

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

                                            666
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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