Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. [behoben] Fehler in iob diag

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    [behoben] Fehler in iob diag

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

      Ich aktualisiere jeden Freitag mein System (Pi4Slave2) und habe erst einmal vorher iob diag durchlaufen lassen.
      Heute wurden mir zwei Fehler auf dem Slave-Raspi angezeigt:

      1. Kurz nach Befehlsstart kam folgende Anzeige
      *** iob diag is starting up, please wait ***
      The state system.host.PI4Slave2.versions.nodeNewestNext was not found!
      The state system.host.PI4Slave2.versions.npmNewestNext was not found!
      

      das Diagnoseprogramm lief danach normal weiter.

      1. Diese Angaben beziehen sich auf npm-Module, die in der Javascript-Instanz aktiviert sind:
      Errors in npm tree:
      npm ERR! code ELSPROBLEMS
      npm ERR! missing: chroma-js@^2.4.2, required by iobroker.javascript@7.1.6
      npm ERR! missing: moment-duration-format@^2.3.2, required by iobroker.javascript@7.1.6
      npm ERR! missing: oauth@^0.10.0, required by iobroker.javascript@7.1.6
      npm ERR! missing: owlintuition@^0.4.0, required by iobroker.javascript@7.1.6
      npm ERR! missing: request-promise@^4.2.6, required by iobroker.javascript@7.1.6
      npm ERR! missing: suncalc@^1.9.0, required by iobroker.javascript@7.1.6
      npm ERR! invalid: xml2js@0.4.19 /opt/iobroker/node_modules/xml2js
      

      Aktive Skripte laufen fehlerfrei; die o.g. Module sind vermutlich für irgend etwas erforderlich, habe jedoch keinen Plan wofür.

      Wer kann mir bitte mal kurz erklären, was es damit auf sich hat und wie ich wieder auf ein sauberes System komme.

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

        @maloross

        Zu 1:
        Richtig, auf slaves funktioniert die Erkennung der empfohlenen nodejs-Versionen nicht. Das geht nur auf dem Master.

        Zu 2:
        Mittels

        cd /opt/iobroker
        npm ls xml2js
        

        schauen wo es da genau klemmt.

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

          @thomas-braun sagte in Fehler in iob diag:

          Richtig, auf slaves funktioniert die Erkennung der empfohlenen nodejs-Versionen nicht. Das geht nur auf dem Master.

          wie kommst du dadrauf ??
          4a07515d-e3d2-488e-afad-36d09546e85e-grafik.png

          warum sollte es nicht gehen..die Objecte werden doch in der redis oder jsonl angelegt.. wo jeder slave zugreifen kann

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

            @arteck sagte in Fehler in iob diag:

            wie kommst du dadrauf ??

            Hab es jedenfalls nicht gecodet bekommen...
            Kannst aber gerne einen PR da lassen.

            1 Reply Last reply Reply Quote 0
            • maloross
              maloross last edited by

              @thomas-braun sagte in Fehler in iob diag:

              npm ls xml2js

              supervisor@PI4Slave2:~ $ cd /opt/iobroker
              supervisor@PI4Slave2:/opt/iobroker $ npm ls xml2js
              npm ERR! code ELSPROBLEMS
              npm ERR! invalid: xml2js@0.4.19 /opt/iobroker/node_modules/xml2js
              iobroker.inst@3.0.0 /opt/iobroker
              ├─┬ iobroker.javascript@7.1.6
              │ └── xml2js@0.4.19 invalid: "^0.6.2" from node_modules/iobroker.javascript
              ├─┬ iobroker.pollenflug@1.0.6
              │ ├─┬ shelly-iot@1.1.2
              │ │ └─┬ node-rest-client@3.1.1
              │ │   └── xml2js@0.6.2
              │ └── xml2js@0.4.19 deduped invalid: "^0.6.2" from node_modules/iobroker.javascr                       ipt
              └─┬ iobroker.tr-064@4.2.18
                ├─┬ tr-O64@0.2.4
                │ └── xml2js@0.4.19 deduped invalid: "^0.6.2" from node_modules/iobroker.javas                       cript
                └── xml2js@0.4.23
              
              npm ERR! A complete log of this run can be found in: /home/iobroker/.npm/_logs/2                       024-01-26T08_30_29_215Z-debug-0.log
              

              Zur Info: Javaskript ist nur auf dem Master installiert (Neuinstallation da Umstieg auf Bookworm). Master zeigt korrekte Struktur, Slave 2 zeigt "empty"

              @arteck Tatsächlich fehlen auf dem Slave 2 die entsprechenden Ordner.

              arteck Thomas Braun 2 Replies Last reply Reply Quote 0
              • arteck
                arteck Developer Most Active @maloross last edited by

                @maloross war mir schon klar..

                welche version hast du da laufen ?? von js-controller ?
                oder ist der slaves schon länger offline

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

                  @maloross sagte in Fehler in iob diag:

                  Leg einfach

                  xml2js

                  nochmal frisch in den javascript-Adapter rein. Da wird auf eine offenbar obsolete Version zugegriffen.

                  1 Reply Last reply Reply Quote 0
                  • maloross
                    maloross @arteck last edited by maloross

                    @arteck ich halte mein System so aktuell wie möglich, führe allerdings nicht jedesmal ein Reboot des Systems durch (s. Betriebszeiten)

                    PI4Master
                    System-Betriebszeit 7 T. 23:37:02
                    Node.js v18.19.0
                    NPM 10.2.3
                    Betriebszeit 7 T. 21:23:54
                     
                    PI4Slave1
                    System-Betriebszeit 48 T. 18:47:24
                    Node.js v18.19.0
                    NPM 10.2.3
                    Betriebszeit 01:41:12
                    
                    PI4Slave2
                    System-Betriebszeit 16 T. 18:42:05
                    Node.js v18.19.0
                    NP 10.2.3
                    Betriebszeit 16 T. 18:41:47
                    

                    @Thomas-Braun leider keine Änderung - nur wenn ich auf dem Slave eine Instanz mit npm-Modul installiere, verschwindet der Fehler. Lösche ich dann diese Instanz, ist der Fehler wieder da.
                    Zeigt der Befehl npm ls xml2js die Adapter an, die dieses Modul benötigen?

                    supervisor@PI4Master:/opt/iobroker $ npm ls xml2js
                    iobroker.inst@3.0.0 /opt/iobroker
                    ├─┬ iobroker.hm-rega@4.0.0
                    │ └── xml2js@0.6.2
                    ├─┬ iobroker.javascript@7.1.6
                    │ └── xml2js@0.6.2
                    ├─┬ iobroker.pollenflug@1.0.6
                    │ ├─┬ shelly-iot@1.1.2
                    │ │ └─┬ node-rest-client@3.1.1
                    │ │   └── xml2js@0.6.2 deduped
                    │ └── xml2js@0.4.19
                    └─┬ iobroker.tr-064@4.2.18
                      ├─┬ tr-O64@0.2.4
                      │ └── xml2js@0.6.2 deduped
                      └── xml2js@0.4.23
                    
                    
                    Thomas Braun 1 Reply Last reply Reply Quote 0
                    • Thomas Braun
                      Thomas Braun Most Active @maloross last edited by

                      @maloross sagte in Fehler in iob diag:

                      Zeigt der Befehl npm ls xml2js die Adapter an, die dieses Modul benötigen?

                      Jein, der zeigt an, wo im 'npm tree' dieses Modul erwartet wird.

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

                        @thomas-braun
                        So sieht das aus, wenn ich eine Javascript-Instanz auf dem Slave anlege

                        supervisor@PI4Slave2:/opt/iobroker $ npm ls xml2js
                        iobroker.inst@3.0.0 /opt/iobroker
                        ├─┬ iobroker.javascript@7.1.6
                        │ └── xml2js@0.6.2
                        ├─┬ iobroker.pollenflug@1.0.6
                        │ ├─┬ shelly-iot@1.1.2
                        │ │ └─┬ node-rest-client@3.1.1
                        │ │   └── xml2js@0.6.2
                        │ └── xml2js@0.4.19
                        └─┬ iobroker.tr-064@4.2.18
                          ├─┬ tr-O64@0.2.4
                          │ └── xml2js@0.4.19 deduped
                          └── xml2js@0.4.23
                        

                        Anscheinend ist da noch eine ältere Version hinterlegt; deduped weist so weit ich das verstehe auf mehrfache Kopien hin, die gelöscht wurden. Wer oder was hat da seine Finger im Spiel?

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

                          @maloross sagte in Fehler in iob diag:

                          │ └── xml2js@0.4.19
                          └─┬ iobroker.tr-064@4.2.18
                            ├─┬ tr-O64@0.2.4
                            │ └── xml2js@0.4.19 deduped
                          

                          'deduped' bedeutet, das hier das gleiche Modul in gleicher Version in der Ebene Vier und auch in der zweiten Ebene vorhanden ist. Damit man das nicht alles doppelt und dreifach wirklich physisch auf dem Datenträger hat wird das 'dedupliziert' und die tieferen Ebenen werden mit dem Modul aus der höchsten Ebene verknüpft.

                          Die Finger im Spiel hat da der Befehl 'npm prune', der wird z. B. bei Adapter-Installationen und Updates immer mit aufgerufen.

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

                            @thomas-braun Zwischenstand: update&upgrade angestoßen; in der Zusammenfassung wurde angezeigt, dass 15 Pakete nicht aktualisiert (zurückgehalten) wurden. Hier würde ich jetzt die Fehlerbehebung mit
                            sudo apt -o Debug::pkgProblemResolver=yes dist-upgrade durchführen (Empfehlung Raspi-Forum). Kann ich das machen oder gibt es deinerseits Einwände?

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

                              @maloross

                              Nein. Versuch erstmal ein

                              sudo apt update
                              sudo apt full-upgrade
                              

                              Wenn das nicht geht musst du schauen welche Pakete da warum zurück gehalten werden. Steht dabei.

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

                                @thomas-braun sagte in Fehler in iob diag:

                                Wenn das nicht geht musst du schauen welche Pakete da warum zurück gehalten werden. Steht dabei.

                                Fehlerfrei durchgelaufen, keine Fehler mehr in der Diagnose. Auch zu dem weiteren Fehler habe ich einen Ansatz bzw. Lösung:

                                *** iob diag is starting up, please wait ***
                                The state system.host.PI4Slave2.versions.nodeNewestNext was not found!
                                The state system.host.PI4Slave2.versions.npmNewestNext was not found!
                                

                                Die Versionsanzeige ist abhängig von einer installierten Admin-Instanz, die auf dem jeweiligen Host installiert sein muss.

                                Thema erledigt

                                Vielen Dank für die Unterstützung, habe wieder eine Menge gelernt.

                                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

                                833
                                Online

                                32.0k
                                Users

                                80.5k
                                Topics

                                1.3m
                                Posts

                                iob diag npm err
                                3
                                14
                                599
                                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