Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Error/Bug
    4. [gelöst]Modbus - nach Node Update USB-Stick nicht gefunden

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    UNSOLVED [gelöst]Modbus - nach Node Update USB-Stick nicht gefunden

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      mguenther @Audidriver last edited by

      Hat neben Audidriver und mir noch einer diese Probleme oder sind wir beide aktuell die Einzigen?

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

        Ok, dann ...

        1.) Ist der Stick an sichnun da oder nicht? Das sollste nichts mit dem nodejs Update zu tun haben
        2.) Was sagt das ioBroker Log wenn Du die Admin seite aufrifst bzw den Adapter startest?

        M 2 Replies Last reply Reply Quote 0
        • M
          mguenther @apollon77 last edited by

          @apollon77
          bei mir kommt:
          c6035efa-d757-40c7-acea-221638295ec3-image.png

          1 Reply Last reply Reply Quote 0
          • M
            mguenther @apollon77 last edited by

            @apollon77
            zu 1.) laut Linux ist er ja da, auch wenn ich ihn abziehe und lsusb ausführe, sehe ich ja, dass Linux den Stick findet - oder was meinst du?

            apollon77 1 Reply Last reply Reply Quote 0
            • apollon77
              apollon77 @mguenther last edited by

              @mguenther Die Meldung sieht schon mal vollständiger aus. Und ja da ist das rebuild für serialport nicht sauber passiert

              Am besten jetzt mal in einer Shell in /opt/iobroker/node_modules/serialport wecheln und dort "npm i --production" ausführen. Wenn das nicht tut alles unter /opt/iobroker/node_modules/@seriaport löschen und das obige nochmal ausführen

              M A 2 Replies Last reply Reply Quote 0
              • M
                mguenther @apollon77 last edited by

                @apollon77
                ja, das wars wohl... danke.
                ich habe in dem Verzeichnis serialport ein npm i --production ausgeführt, dann die Modbus Instanz neugestartet und der richtige Port wurde dann wieder gefunden.

                beim Ausführen des Befehls habe ich das Folgende protokolliert bekommen:

                pi@raspberrypi4-iob:/opt/iobroker/node_modules/serialport $ npm i --production
                
                > @serialport/bindings@8.0.8 install /opt/iobroker/node_modules/serialport/node_modules/@serialport/bindings
                > prebuild-install --tag-prefix @serialport/bindings@ || node-gyp rebuild
                
                prebuild-install WARN install No prebuilt binaries found (target=12.18.3 runtime=node arch=arm libc= platform=linux)
                make: Verzeichnis „/opt/iobroker/node_modules/serialport/node_modules/@serialport/bindings/build“ wird betreten
                  CXX(target) Release/obj.target/bindings/src/serialport.o
                In file included from ../src/./serialport.h:6,
                                 from ../src/serialport.cpp:1:
                ../../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’:
                ../../../nan/nan.h:2294:62: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
                     , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete)
                                                                              ^
                ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Open(Nan::NAN_METHOD_ARGS_TYPE)’:
                ../src/serialport.cpp:78:69: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
                   uv_queue_work(uv_default_loop(), req, EIO_Open, (uv_after_work_cb)EIO_AfterOpen);
                                                                                     ^~~~~~~~~~~~~
                ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Update(Nan::NAN_METHOD_ARGS_TYPE)’:
                ../src/serialport.cpp:135:71: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
                   uv_queue_work(uv_default_loop(), req, EIO_Update, (uv_after_work_cb)EIO_AfterUpdate);
                                                                                       ^~~~~~~~~~~~~~~
                ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Close(Nan::NAN_METHOD_ARGS_TYPE)’:
                ../src/serialport.cpp:175:70: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
                   uv_queue_work(uv_default_loop(), req, EIO_Close, (uv_after_work_cb)EIO_AfterClose);
                                                                                      ^~~~~~~~~~~~~~
                ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Flush(Nan::NAN_METHOD_ARGS_TYPE)’:
                ../src/serialport.cpp:215:70: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
                   uv_queue_work(uv_default_loop(), req, EIO_Flush, (uv_after_work_cb)EIO_AfterFlush);
                                                                                      ^~~~~~~~~~~~~~
                ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Set(Nan::NAN_METHOD_ARGS_TYPE)’:
                ../src/serialport.cpp:270:68: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
                   uv_queue_work(uv_default_loop(), req, EIO_Set, (uv_after_work_cb)EIO_AfterSet);
                                                                                    ^~~~~~~~~~~~
                ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Get(Nan::NAN_METHOD_ARGS_TYPE)’:
                ../src/serialport.cpp:314:68: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
                   uv_queue_work(uv_default_loop(), req, EIO_Get, (uv_after_work_cb)EIO_AfterGet);
                                                                                    ^~~~~~~~~~~~
                ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE GetBaudRate(Nan::NAN_METHOD_ARGS_TYPE)’:
                ../src/serialport.cpp:363:76: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
                   uv_queue_work(uv_default_loop(), req, EIO_GetBaudRate, (uv_after_work_cb)EIO_AfterGetBaudRate);
                                                                                            ^~~~~~~~~~~~~~~~~~~~
                ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Drain(Nan::NAN_METHOD_ARGS_TYPE)’:
                ../src/serialport.cpp:409:70: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
                   uv_queue_work(uv_default_loop(), req, EIO_Drain, (uv_after_work_cb)EIO_AfterDrain);
                                                                                      ^~~~~~~~~~~~~~
                ../src/serialport.cpp: At global scope:
                ../src/serialport.cpp:430:28: warning: unnecessary parentheses in declaration of ‘ToParityEnum’ [-Wparentheses]
                 SerialPortParity NAN_INLINE(ToParityEnum(const v8::Local<v8::String>& v8str)) {
                                            ^
                ../src/serialport.cpp:449:30: warning: unnecessary parentheses in declaration of ‘ToStopBitEnum’ [-Wparentheses]
                 SerialPortStopBits NAN_INLINE(ToStopBitEnum(double stopBits)) {
                                              ^
                In file included from ../../../nan/nan.h:56,
                                 from ../src/./serialport.h:6,
                                 from ../src/serialport.cpp:1:
                /home/iobroker/.cache/node-gyp/12.18.3/include/node/node.h:608:43: warning: cast between incompatible function types from ‘void (*)(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)’ {aka ‘void (*)(v8::Local<v8::Object>)’} to ‘node::addon_register_func’ {aka ‘void (*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)’} [-Wcast-function-type]
                       (node::addon_register_func) (regfunc),                          \
                                                           ^
                /home/iobroker/.cache/node-gyp/12.18.3/include/node/node.h:642:3: note: in expansion of macro ‘NODE_MODULE_X’
                   NODE_MODULE_X(modname, regfunc, NULL, 0)  // NOLINT (readability/null_usage)
                   ^~~~~~~~~~~~~
                ../src/serialport.cpp:483:1: note: in expansion of macro ‘NODE_MODULE’
                 NODE_MODULE(serialport, init);
                 ^~~~~~~~~~~
                  CXX(target) Release/obj.target/bindings/src/serialport_unix.o
                In file included from ../src/serialport.h:6,
                                 from ../src/serialport_unix.cpp:2:
                ../../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’:
                ../../../nan/nan.h:2294:62: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
                     , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete)
                                                                              ^
                ../src/serialport_unix.cpp: In function ‘int setup(int, OpenBaton*)’:
                ../src/serialport_unix.cpp:176:60: warning: ‘%s’ directive output may be truncated writing up to 1023 bytes into a region of size 1005 [-Wformat-truncation=]
                     snprintf(data->errorString, sizeof(data->errorString), "Error %s Cannot open %s", strerror(errno), data->path);
                                                                            ^~~~~~~~~~~~~~~~~~~~~~~~~
                ../src/serialport_unix.cpp:176:13: note: ‘snprintf’ output 20 or more bytes (assuming 1043) into a destination of size 1024
                     snprintf(data->errorString, sizeof(data->errorString), "Error %s Cannot open %s", strerror(errno), data->path);
                     ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                ../src/serialport_unix.cpp: In function ‘void EIO_Open(uv_work_t*)’:
                ../src/serialport_unix.cpp:86:60: warning: ‘%s’ directive output may be truncated writing up to 1023 bytes into a region of size 1003 [-Wformat-truncation=]
                     snprintf(data->errorString, sizeof(data->errorString), "Error: %s, cannot open %s", strerror(errno), data->path);
                                                                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
                ../src/serialport_unix.cpp:86:13: note: ‘snprintf’ output 22 or more bytes (assuming 1045) into a destination of size 1024
                     snprintf(data->errorString, sizeof(data->errorString), "Error: %s, cannot open %s", strerror(errno), data->path);
                     ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                  CXX(target) Release/obj.target/bindings/src/poller.o
                In file included from ../src/poller.cpp:1:
                ../../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’:
                ../../../nan/nan.h:2294:62: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
                     , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete)
                                                                              ^
                  CXX(target) Release/obj.target/bindings/src/serialport_linux.o
                  SOLINK_MODULE(target) Release/obj.target/bindings.node
                  COPY Release/bindings.node
                make: Verzeichnis „/opt/iobroker/node_modules/serialport/node_modules/@serialport/bindings/build“ wird verlassen
                
                > serialport@8.0.8 postinstall /opt/iobroker/node_modules/serialport
                > node thank-you.js
                
                Thank you for using serialport!
                If you rely on this package, please consider supporting our open collective:
                > https://opencollective.com/serialport/donate
                
                
                npm notice created a lockfile as package-lock.json. You should commit this file.
                added 73 packages from 43 contributors and audited 78 packages in 20.685s
                
                2 packages are looking for funding
                  run `npm fund` for details
                
                found 0 vulnerabilities
                
                

                Es hat funktioniert, aber mit den Meldungen kann ich nicht wirklich was anfangen...

                apollon77 1 Reply Last reply Reply Quote 0
                • apollon77
                  apollon77 @mguenther last edited by

                  @mguenther Alles gut nur Warungen und Spendenaufforderungen

                  M 2 Replies Last reply Reply Quote 0
                  • A
                    Audidriver @apollon77 last edited by Audidriver

                    @apollon77 sagte in [gelöst]Modbus - nach Node Update USB-Stick nicht gefunden:

                    @mguenther Die Meldung sieht schon mal vollständiger aus. Und ja da ist das rebuild für serialport nicht sauber passiert

                    Am besten jetzt mal in einer Shell in /opt/iobroker/node_modules/serialport wecheln und dort "npm i --production" ausführen. Wenn das nicht tut alles unter /opt/iobroker/node_modules/@seriaport löschen und das obige nochmal ausführen

                    Supi hat auch bei mir geklappt 🙂 Modbus hat wieder USB/Serial Stick erkannt und wertet wieder aus meine Stromkosten . Perfekt Danke.

                    M 1 Reply Last reply Reply Quote 0
                    • M
                      mguenther @apollon77 last edited by

                      @apollon77
                      ich habe irgendwie ein Problem - jedes Mal wenn ich ein Update mache, ist der Port wieder verschwunden im Modbus. Vorgestern war es das Update der History-Instanz, heute die Homematic RPC Instanz.
                      Ich bekomme keine Fehlermeldung, das Ausführen des Befehls npm i --production führt dann wieder zum Ziel. Das kann aber doch nicht die Lösung sein. Hast du eine Idee, was ich machen kann?

                      1 Reply Last reply Reply Quote 0
                      • M
                        mguenther @Audidriver last edited by

                        @Audidriver
                        bleibt der bei dir auch bei updates von anderen Instanzen dabei oder verschwindet er?

                        A 2 Replies Last reply Reply Quote 0
                        • A
                          Audidriver @mguenther last edited by

                          @mguenther sagte in [gelöst]Modbus - nach Node Update USB-Stick nicht gefunden:

                          @Audidriver
                          bleibt der bei dir auch bei updates von anderen Instanzen dabei oder verschwindet er?

                          Kann ich grad nix dazu sagen, bei mir hat sich irgendwas quergestellt und musst nochmal einen Rollback machen.
                          Gib mal Info wenn nächstes Update ansteht was passiert.

                          1 Reply Last reply Reply Quote 0
                          • A
                            Audidriver @mguenther last edited by

                            @mguenther sagte in [gelöst]Modbus - nach Node Update USB-Stick nicht gefunden:

                            @Audidriver
                            bleibt der bei dir auch bei updates von anderen Instanzen dabei oder verschwindet er?

                            Also nach manchen Updates ist USB in Modbus wieder Werg und ich muss Lösung von oben wieder Ausführen .

                            1 Reply Last reply Reply Quote 0
                            • M
                              mguenther @apollon77 last edited by mguenther

                              @apollon77


                              @apollon77 sagte in [gelöst]Modbus - nach Node Update USB-Stick nicht gefunden:

                              @mguenther Die Meldung sieht schon mal vollständiger aus. Und ja da ist das rebuild für serialport nicht sauber passiert

                              Am besten jetzt mal in einer Shell in /opt/iobroker/node_modules/serialport wecheln und dort "npm i --production" ausführen. Wenn das nicht tut alles unter /opt/iobroker/node_modules/@seriaport löschen und das obige nochmal ausführen

                              sorry, für das Hochholen des Threads - nachdem ich einige Zeit kein Problem mehr bei updates mit der Seriellen Schnittstelle hatte, habe ich jetzt wieder bei jedem node update das Problem, dass ich wieder npm i --production ausführen muss. Ansonsten findet der Modbus meinen USB Stick nicht. Es lief eine Zeit ohne Probleme und vor kurzem habe ich versucht, meinen deconz Stick über die Anleitung von dresden electric auf den PI zu installieren (hat nicht funktioniert - ich habe als Systen Bullseye, dafür gibts noch keine Anleitung). Seit dem muss ich quasi immer wieder im serialport den Befehl neu ausführen.

                              Kann ich das irgendwie "reparieren" bzw. beheben?

                              apollon77 1 Reply Last reply Reply Quote 0
                              • apollon77
                                apollon77 @mguenther last edited by

                                @mguenther was as heißt „immer wieder“? Auch kann ich ohne logs nur raten.

                                M 1 Reply Last reply Reply Quote 0
                                • M
                                  mguenther @apollon77 last edited by

                                  @apollon77
                                  jedes Mal, wenn ich node,js hochziehe (auf den aktuellsten Stand) findet modbus seinen USB Stick nicht mehr.

                                  @mguenther sagte in [gelöst]Modbus - nach Node Update USB-Stick nicht gefunden:

                                  @apollon77
                                  bei mir kommt:
                                  c6035efa-d757-40c7-acea-221638295ec3-image.png

                                  das ist die Fehlermeldung. Abhilfe ist npm i --production im richtigen Ordner.

                                  Die Aktualisierung von node.js lief eine Zeitlang (ich hatte den conbee Stick nicht an dem PI. Dann habe ich aus anderen Gründen wieder versucht, den conbee Stick an dem PI mit iobroker zu integrieren und damit begannen dann wieder meine Probleme von oben.

                                  apollon77 1 Reply Last reply Reply Quote 0
                                  • apollon77
                                    apollon77 @mguenther last edited by

                                    @mguenther Was ist denn "der richtige ordner" deiner meinung nach?

                                    idealerweise sollte es /opt/iobroker/@serialport/bindings sein

                                    M 1 Reply Last reply Reply Quote 0
                                    • M
                                      mguenther @apollon77 last edited by

                                      @apollon77

                                      ja, so wie du es mir schon einmal erklärt hast:

                                      @apollon77 sagte in [gelöst]Modbus - nach Node Update USB-Stick nicht gefunden:

                                      @mguenther Die Meldung sieht schon mal vollständiger aus. Und ja da ist das rebuild für serialport nicht sauber passiert

                                      Am besten jetzt mal in einer Shell in /opt/iobroker/node_modules/serialport wecheln und dort "npm i --production" ausführen. Wenn das nicht tut alles unter /opt/iobroker/node_modules/@seriaport löschen und das obige nochmal ausführen

                                      das hilft ja auch immer, ich wollte ja nur wissen, ob man das wieder "reparieren" kann. So dass dann beim nächsten nodes.js update alles wieder durchläuft und auch die Serialports wieder normal eingebunden werden.

                                      apollon77 1 Reply Last reply Reply Quote 0
                                      • apollon77
                                        apollon77 @mguenther last edited by

                                        @mguenther ich kapier die Frage noch nicht ganz. Einmal nodejs major update kann diesen Ablauf nötig machen. Wir sind dran das der js-Controller das bei Bedarf selbst tut. Oder was meinst du?

                                        M 1 Reply Last reply Reply Quote 0
                                        • M
                                          mguenther @apollon77 last edited by

                                          @apollon77
                                          ich hab wenig Ahnung von Linux. Meine Frage ging ja in die Richtung, ob man das irgendwie "reparieren" kann, so dass ich nicht immer manuell die Serialports nach einem Update neu einbinden muss.

                                          apollon77 1 Reply Last reply Reply Quote 0
                                          • apollon77
                                            apollon77 @mguenther last edited by apollon77

                                            @mguenther nach einem nodejs Master Update … nein - Weil es nötig ist. Der js-Controller sollte das in Zukunft noch besser automatisch machen.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            965
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            usb-stick
                                            7
                                            72
                                            5033
                                            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