Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. JS instanzen mit unterschiedlichen Serialport versionen?

    NEWS

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    • Wir empfehlen: Node.js 22.x

    JS instanzen mit unterschiedlichen Serialport versionen?

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

      @alcalzone OK. Danke.

      Dann muss ich zum testen einen anderen PI nehmen.

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

        @alcalzone Habe einen iobroker komplett neu installiert.

        Dann im Javascript Adapter 5.4.0 das Modul Serialport 10.4.0 eingetragen:

        3907fdeb-3378-4deb-9b76-f3abcfdaf404-grafik.png

        Wurde scheinbatr auch installiert:

        2022-03-15 17:36:53.521  - info: javascript.0 (7639) starting. Version 5.4.0 in /opt/iobroker/node_modules/iobroker.javascript, node: v14.19.0, js-controller: 4.0.21
        2022-03-15 17:36:53.594  - info: javascript.0 (7639) npm install serialport@10.4.0 --production (System call)
        2022-03-15 17:37:02.925  - info: javascript.0 (7639)
        > @serialport/bindings-cpp@10.7.0 install /opt/iobroker/node_modules/iobroker.javascript/node_modules/@serialport/bindings-cpp
        > node-gyp-build
        
        
        2022-03-15 17:37:03.968  - info: javascript.0 (7639) + serialport@10.4.0
        added 19 packages from 88 contributors and audited 20 packages in 7.962s
        
        2022-03-15 17:37:04.047  - info: javascript.0 (7639)
        12 packages are looking for funding
          run `npm fund` for details
        
        
        2022-03-15 17:37:04.051  - info: javascript.0 (7639) found 0 vulnerabilities
        
        
        2022-03-15 17:37:04.153  - debug: javascript.0 (7639) Loaded TypeScript definitions for node: ["node_modules/@types/node/package.json","node_modules/@types/node/index.d.ts","node_modules/@types/node/assert.d.ts","node_modules/@types/node/globals.d.ts","node_modules/@types/node/async_hooks.d.ts","node_modules/@types/node/buffer.d.ts","node_modules/@types/node/child_process.d.ts","node_modules/@types/node/cluster.d.ts","node_modules/@types/node/console.d.ts","node_modules/@types/node/constants.d.ts","node_modules/@types/node/crypto.d.ts","node_modules/@types/node/dgram.d.ts","node_modules/@types/node/dns.d.ts","node_modules/@types/node/domain.d.ts","node_modules/@types/node/events.d.ts","node_modules/@types/node/fs.d.ts","node_modules/@types/node/fs/promises.d.ts","node_modules/@types/node/http.d.ts","node_modules/@types/node/http2.d.ts","node_modules/@types/node/https.d.ts","node_modules/@types/node/inspector.d.ts","node_modules/@types/node/module.d.ts","node_modules/@types/node/net.d.ts","node_modules/@types/node/os.d.ts","node_modules/@types/node/path.d.ts","node_modules/@types/node/perf_hooks.d.ts","node_modules/@types/node/process.d.ts","node_modules/@types/node/punycode.d.ts","node_modules/@types/node/querystring.d.ts","node_modules/@types/node/readline.d.ts","node_modules/@types/node/repl.d.ts","node_modules/@types/node/stream.d.ts","node_modules/@types/node/string_decoder.d.ts","node_modules/@types/node/timers.d.ts","node_modules/@types/node/tls.d.ts","node_modules/@types/node/trace_events.d.ts","node_modules/@types/node/tty.d.ts","node_modules/@types/node/url.d.ts","node_modules/@types/node/util.d.ts","node_modules/@types/node/v8.d.ts","node_modules/@types/node/vm.d.ts","node_modules/@types/node/wasi.d.ts","node_modules/@types/node/worker_threads.d.ts","node_modules/@types/node/zlib.d.ts","node_modules/@types/node/globals.global.d.ts"]
        2022-03-15 17:37:04.212  - debug: javascript.0 (7639) Loaded TypeScript definitions for request: ["node_modules/@types/request/package.json","node_modules/@types/request/index.d.ts"]
        2022-03-15 17:37:04.290  - info: javascript.0 (7639) requesting all states
        2022-03-15 17:37:04.293  - info: javascript.0 (7639) requesting all objects
        2022-03-15 17:37:05.355  - info: javascript.0 (7639) received all states
        2022-03-15 17:37:05.377  - info: javascript.0 (7639) received all objects
        
        

        Nur warum habe ich danach noch diese Meldungen:

        pi@iob-test:/opt/iobroker $ npm ls serialport
        iobroker.inst@3.0.0 /opt/iobroker
        ├─┬ iobroker.discovery@2.7.5
        │ └── serialport@9.2.8
        └─┬ iobroker.javascript@5.4.0
          └── UNMET DEPENDENCY serialport@^10.4.0
        
        npm ERR! missing: serialport@^10.4.0, required by iobroker.javascript@5.4.0
        
        Thomas Braun 1 Reply Last reply Reply Quote 0
        • Thomas Braun
          Thomas Braun Most Active @wendy2702 last edited by Thomas Braun

          @wendy2702

          Nur ein Schuss in's Blaue:
          Kann es sein, das serialport@10 eine nodeJS > 14 voraussetzt?

          Edit: Nö, es muss nur nodeJS > 10 sein.

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

            @thomas-braun

            Das ganze ist aus dem Thread entstanden https://forum.iobroker.net/topic/11059/script-hilfe-für-abfrage-serielle-kommunikation-gesucht/134?page=7

            Du erinnerst dich bestimmt 😉

            Ich will auf einem Testsystem zum anpassen und Testen des Scripts die Version 10.4.0 sauber installieren und schaffe es nicht.

            Das war auch Erfolglos:

            pi@iob-test:/opt/iobroker $ cd node_modules/iobroker.javascript/
            pi@iob-test:/opt/iobroker/node_modules/iobroker.javascript $ npm i serialport@10.4.0
            
            > es5-ext@0.10.58 postinstall /opt/iobroker/node_modules/iobroker.javascript/node_modules/es5-ext
            > node -e "try{require('./_postinstall')}catch(e){}"
            
            npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.13 (node_modules/fsevents):
            npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.13: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm"})
            npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.3.2 (node_modules/mocha/node_modules/fsevents):
            npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm"})
            
            + serialport@10.4.0
            added 650 packages from 441 contributors, updated 1 package and audited 678 packages in 64.805s
            
            52 packages are looking for funding
              run `npm fund` for details
            
            found 2 high severity vulnerabilities
              run `npm audit fix` to fix them, or `npm audit` for details
            pi@iob-test:/opt/iobroker/node_modules/iobroker.javascript $ cd ..
            pi@iob-test:/opt/iobroker/node_modules $ cd ..
            pi@iob-test:/opt/iobroker $ npm ls serialport
            iobroker.inst@3.0.0 /opt/iobroker
            ├─┬ iobroker.discovery@2.7.5
            │ └── serialport@9.2.8
            └─┬ iobroker.javascript@5.4.0
              └── UNMET DEPENDENCY serialport@^10.4.0
            
            npm ERR! missing: serialport@^10.4.0, required by iobroker.javascript@5.4.0
            pi@iob-test:/opt/iobroker $
            
            

            An NodeJS hatte ich auch schon gedacht, bin aber auch zu dem Ergebnis gekommen das es mit 14 laufen sollte.

            Hast du noch eine Idee?

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

              @wendy2702 sagte in JS instanzen mit unterschiedlichen Serialport versionen?:

              Hast du noch eine Idee?

              Nee.
              Da will man mal was 'falsch haben' und bekommt es nicht nachgestellt. 😄

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

                @wendy2702 führ mal folgendes aus:

                cd /opt/iobroker/node_modules/iobroker.javascript
                npm ls serialport
                

                Könnte sein, dass das aus dem root-Verzeichnis nicht "sichtbar" ist.

                Dein Log oben zeigt jedenfalls, dass Serialport 10 kompiliert wurde:

                @serialport/bindings-cpp@10.7.0

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

                  @alcalzone In dem dir ist es sichtbar:

                  pi@iob-test:/opt/iobroker/node_modules/iobroker.javascript $ npm ls serialport
                  iobroker.javascript@5.4.0 /opt/iobroker/node_modules/iobroker.javascript
                  └── serialport@10.4.0
                  
                  pi@iob-test:/opt/iobroker/node_modules/iobroker.javascript $ cd /opt/iobroker/
                  pi@iob-test:/opt/iobroker $ npm ls serialport
                  iobroker.inst@3.0.0 /opt/iobroker
                  ├─┬ iobroker.discovery@2.7.5
                  │ └── serialport@9.2.8
                  └─┬ iobroker.javascript@5.4.0
                    └── UNMET DEPENDENCY serialport@^10.4.0
                  
                  npm ERR! missing: serialport@^10.4.0, required by iobroker.javascript@5.4.0
                  
                  

                  Aber wieso ist es im Tree nicht mehr sichtbar? Ging ja noch mit Serialport 9.2.8 ???

                  pi@iobroker-garage-gross:/opt/iobroker $ npm ls serialport
                  iobroker.inst@2.0.3 /opt/iobroker
                  ├─┬ iobroker.javascript@5.2.21
                  │ └── serialport@9.2.8
                  └─┬ iobroker.modbus@3.4.17
                    └── serialport@9.2.8  deduped
                  
                  pi@iobroker-garage-gross:/opt/iobroker $
                  
                  

                  Einziger Unterschied ist die Version Javascript.

                  Neues System

                  pi@iob-test:/opt/iobroker $ iob update
                  Used repository: beta
                  Adapter    "admin"        : 5.3.1    , installed 5.3.1
                  Adapter    "backitup"     : 2.3.5    , installed 2.3.3  [Updatable]
                  Adapter    "discovery"    : 2.8.0    , installed 2.7.5  [Updatable]
                  Adapter    "javascript"   : 5.4.0    , installed 5.4.0
                  Controller "js-controller": 4.0.21   , installed 4.0.21
                  pi@iob-test:/opt/iobroker $ iob v
                  4.0.21
                  pi@iob-test:/opt/iobroker $ node -v
                  v14.19.0
                  pi@iob-test:/opt/iobroker $ npm -v
                  6.14.16
                  pi@iob-test:/opt/iobroker $
                  
                  

                  Altes System:

                  pi@iobroker-garage-gross:/opt/iobroker $ iob update
                  Used repository: Beta (latest)
                  Adapter    "admin"        : 5.3.1    , installed 5.3.1
                  Adapter    "javascript"   : 5.4.0    , installed 5.2.21 [Updatable]
                  Controller "js-controller": 4.0.21   , installed 4.0.21
                  Adapter    "modbus"       : 3.4.17   , installed 3.4.17
                  Adapter    "rpi2"         : 1.3.2    , installed 1.3.2
                  pi@iobroker-garage-gross:/opt/iobroker $ iob v
                  4.0.21
                  pi@iobroker-garage-gross:/opt/iobroker $ node -v
                  v14.19.0
                  pi@iobroker-garage-gross:/opt/iobroker $ npm -v
                  6.14.16
                  pi@iobroker-garage-gross:/opt/iobroker $
                  
                  

                  Und natürlich die Serialport Version ist unterschiedlich.

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

                    @wendy2702 Eigenheiten von npm...
                    In /opt/iobroker gibt es eine package-lock.json, die den Dependency-Tree aus Sicht von /opt/iobroker abbildet. Daran orientiert sich npm beim ls, und diese enthält serialport 10 nicht.

                    In /opt/iobroker/node_modules/javascript gibt es durch die Installation einer neuen Abhängigkeit dort ebenfalls eine pacakge-lock.json, die quasi das Unter-Projekt aus Sicht des js-Adapters abbildet. Darin ist auch serialport 10 enthalten. Das geht ein bisschen gegen das wie npm seit Version 5 funktioniert, aber derzeit haben wir keine bessere Lösung.

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

                      @alcalzone Sorry falls ich nerve.

                      Wie kommt denn die Version Serialport 9.2.8 in den Dependency Tree unter /opt/iobroker/ wenn dort Serialport nie installiert wurde?

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

                        @wendy2702 Discovery bringt den mit:

                        ├─┬ iobroker.discovery@2.7.5
                        │ └── serialport@9.2.8
                        

                        Und modbus:

                        └─┬ iobroker.modbus@3.4.17
                          └── serialport@9.2.8  deduped
                        

                        Dadurch dass jetzt nachträglich im javascript Unterordner gezielt Abhängigkeiten nachinstalliert wurden, wurde da quasi ein neues "Projekt" aufgemacht.

                        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

                        538
                        Online

                        32.1k
                        Users

                        80.7k
                        Topics

                        1.3m
                        Posts

                        3
                        12
                        257
                        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