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@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    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 @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
        • M
          mguenther @apollon77 last edited by mguenther

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

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

          öhm - ich kapiere den Satz nicht.. 🙂
          nachweinen? und Weilers?

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

            @mguenther fixed

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

              @apollon77

              ok, verstanden.

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

                @apollon77
                ich habe den Admin Adapter upgedatet und wieder sagt mir der Modbus Adapter:

                modbus.0
                	2021-12-22 02:18:44.614	error	Cannot create modbus master!
                modbus.0
                	2021-12-22 02:18:44.613	error	Cannot open port "/dev/ttyUSB1" [9600]: Error: Module did not self-register: '/opt/iobroker/node_modules/@serialport/bindings/build/Release/bindings.node'.
                modbus.0
                	2021-12-22 02:18:44.174	warn	Serial is not available
                
                

                nach npm i --production läuft dann auch der Modbus wieder...

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

                  @mguenther ALso ich würde mal folgendes machen: sichere das mosbud zeug, uninstall den modbus Adapter (komplett - nicht nur instanzen). dann würde ich manuell /opt/iobroker/node_modules/@serialport löschen (überlege ob du andere adapter mit serialport hast), und dann modbus neu installieren 🙂

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

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

                    @mguenther ALso ich würde mal folgendes machen: sichere das mosbud zeug, uninstall den modbus Adapter (komplett - nicht nur instanzen). dann würde ich manuell /opt/iobroker/node_modules/@serialport löschen (überlege ob du andere adapter mit serialport hast), und dann modbus neu installieren 🙂

                    ja, mache ich nach Weihnachten dann mal. Mit "Adapter komplett löschen" meinst du unter dem Reiter Adapter. Wie bekomme ich den denn dann wieder? Muss ich den dann über ssh und die Befehlszeile installieren?

                    Ansonsten wüsste ich nicht, ob ich noch andere Adapter mit serialport habe. Ich hatte den conbee und den Adapter deconz - den habe ich aber gerade erfolgreich mit zigbee und einem LAN-zigbee Stick ersetzt...

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

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

                      Wie bekomme ich den denn dann wieder? Muss ich den dann über ssh und die Befehlszeile installieren?

                      Ne, danach einfach wieder installieren :-)) Aber musst halt alles sichern - vor allem die konfigs weil halt damit alles wegfliegt.

                      Alternativ stoppen und an der kommandozeile im iobroker dir ein

                      npm uninstall iobroker.modbus gefolgt von npm install iobroker.modbusund iob upload modbus dann geht das ohne Konfig verlust

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

                        @apollon77
                        ich bräuchte nochmal deine Hilfe - 2 Fragen habe ich unten

                        was genau meinst du mit
                        /opt/iobroker/node_modules/@serialport

                        ich gehe ansonsten immer in das Verzeichnis (hatte ich mal oben irgendwann bekommen, das @ hab ich bei dir immer "überlesen"):
                        /opt/iobroker/node_modules/serialport

                        und führe da dann npm i --production aus.
                        Wenn ich das ausführe bekomme ich

                        pi@raspberrypi:/opt/iobroker/node_modules/serialport $ npm i --production
                        
                        > @serialport/bindings@9.2.5 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=14.18.2 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
                        ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Open(Nan::NAN_METHOD_ARGS_TYPE)’:
                        ../src/serialport.cpp:78:51: 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]
                           78 |   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:53: 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]
                          135 |   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:52: 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]
                          175 |   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:52: 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]
                          215 |   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:271:50: 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]
                          271 |   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:316:50: 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]
                          316 |   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:366:58: 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]
                          366 |   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:412:52: 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]
                          412 |   uv_queue_work(uv_default_loop(), req, EIO_Drain, (uv_after_work_cb)EIO_AfterDrain);
                              |                                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                        ../src/serialport.cpp: At global scope:
                        ../src/serialport.cpp:433:28: warning: unnecessary parentheses in declaration of ‘ToParityEnum’ [-Wparentheses]
                          433 | SerialPortParity NAN_INLINE(ToParityEnum(const v8::Local<v8::String>& v8str)) {
                              |                            ^
                        ../src/serialport.cpp:452:30: warning: unnecessary parentheses in declaration of ‘ToStopBitEnum’ [-Wparentheses]
                          452 | SerialPortStopBits NAN_INLINE(ToStopBitEnum(double stopBits)) {
                              |                              ^
                        In file included from ../../../nan/nan.h:58,
                                         from ../src/./serialport.h:13,
                                         from ../src/serialport.cpp:1:
                        /home/iobroker/.cache/node-gyp/14.18.2/include/node/node.h:787:7: 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]
                          787 |       (node::addon_register_func) (regfunc),                          \
                              |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                        /home/iobroker/.cache/node-gyp/14.18.2/include/node/node.h:821:3: note: in expansion of macro ‘NODE_MODULE_X’
                          821 |   NODE_MODULE_X(modname, regfunc, NULL, 0)  // NOLINT (readability/null_usage)
                              |   ^~~~~~~~~~~~~
                        ../src/serialport.cpp:486:1: note: in expansion of macro ‘NODE_MODULE’
                          486 | NODE_MODULE(serialport, init);
                              | ^~~~~~~~~~~
                          CXX(target) Release/obj.target/bindings/src/serialport_unix.o
                        ../src/serialport_unix.cpp: In function ‘int setup(int, OpenBaton*)’:
                        ../src/serialport_unix.cpp:179:82: warning: ‘%s’ directive output may be truncated writing up to 1023 bytes into a region of size 1005 [-Wformat-truncation=]
                          179 |     snprintf(data->errorString, sizeof(data->errorString), "Error %s Cannot open %s", strerror(errno), data->path);
                              |                                                                                  ^~
                        ../src/serialport_unix.cpp:179:13: note: ‘snprintf’ output 20 or more bytes (assuming 1043) into a destination of size 1024
                          179 |     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:89:84: warning: ‘%s’ directive output may be truncated writing up to 1023 bytes into a region of size 1003 [-Wformat-truncation=]
                           89 |     snprintf(data->errorString, sizeof(data->errorString), "Error: %s, cannot open %s", strerror(errno), data->path);
                              |                                                                                    ^~
                        ../src/serialport_unix.cpp:89:13: note: ‘snprintf’ output 22 or more bytes (assuming 1045) into a destination of size 1024
                           89 |     snprintf(data->errorString, sizeof(data->errorString), "Error: %s, cannot open %s", strerror(errno), data->path);
                              |     ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                          CXX(target) Release/obj.target/bindings/src/poller.o
                          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
                        added 71 packages from 42 contributors and audited 76 packages in 13.686s
                        
                        16 packages are looking for funding
                          run `npm fund` for details
                        
                        found 0 vulnerabilities
                        
                        
                        
                           ╭───────────────────────────────────────────────────────────────╮
                           │                                                               │
                           │      New major version of npm available! 6.14.15 → 8.3.0      │
                           │   Changelog: https://github.com/npm/cli/releases/tag/v8.3.0   │
                           │               Run npm install -g npm to update!               │
                           │                                                               │
                           ╰───────────────────────────────────────────────────────────────╯
                        
                        pi@raspberrypi:/opt/iobroker/node_modules/serialport $
                        

                        Frage 1 - war das denn der falsche Ansatz und muss ich das im Ordner @serialport ausführen?

                        Frage 2 - ich habe eine SSD am Laufen - wenn ich den Inhalt in @Serialport lösche, klappt das dann noch mit dem Erkennen der SSD? Ich hab leider keinen Plan von Linux und Serialport und bin etwas verwirrt...

                        danke
                        Marcus

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

                          @mguenther Am besten das npm i da ausführen "wo es knallt" ... und das ist /opt/iobroker/node_modules/@serialport/bindings/

                          Das hat auch nichts mit deiner SSD oder anderem Systemkram zu tun

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          776
                          Online

                          31.7k
                          Users

                          79.8k
                          Topics

                          1.3m
                          Posts

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