NEWS
UNSOLVED [gelöst]Modbus - nach Node Update USB-Stick nicht gefunden
-
Hallo,
also ich weiß nicht wie du das zum laufen gebracht hast. Hab mein System von einem Raspy auf einen NUC umgezogen und hab keine Chance es unter node js 12.X zum laufen zu bekommen. Immer nach update von 10.X auf 12.X ist der USB im Modbus nicht mehr verfügbar.
Hab ich durchgereicht ist auch verfügbar aber im Modbusadapter USB immer nicht verfügbar. hab auch einige updates propier und wieder zurück gesetzt usw keine Chance.@mguenther
Wie war dein genauer update Vorgang von 10 auf 12 welche Anleitung hast du genutzt das es funktioniert hat ?Danke würde mich über eine Info freuen.
-
@Audidriver
habe noch nicht auf node12 upgegradet. Ich bin jetzt bei v10.21.0. Und alles, was ich vor einem Jahr gemacht hatte, habe ich oben hingeschrieben. Bei mir war der Stick irgendwann zu finden. Ich hatte Anfangs immer den Fehler gemacht, dass die Instanz angehalten war. Da fand er gar nix. Sobald die Instanz lief, konnte ich nach allen updates den Stick wieder finden... Mehr kann ich dir da leider nicht helfen. -
-
@mguenther ok danke, bei mir läuft es auch unter 10 da ist alles kein Problem.
-
Nein müsste ich mal bei Gelegenheit probieren danke
-
@Audidriver
dejavu - hast du es inzwischen hinbekommen, unter 12.x den Stick zum Laufen zu bringen?@all:
Ich habe heute mein System auf 12.8.3 upgedatet und siehe da, der USB-Stick wird nicht mehr erkannt unter iobroker. Alle anderen Befehle unter dem PI (siehe oben) habe ich ausgeführt und finde entsprechende Einträge, nur eben nicht unter dem modbus-Adapter bei PORT - was kann ich machen? -
oben mit USB, unten ohne
-
das liefert ls -la /dev/serial/by-id/*
-
ich habe auch schon ein
iobroker fix
oder ein
npm rebuild ausgeführt - keine Veränderung.Unter Port gibt es nur Port wählen und undefined
-
@mguenther sagte in Modbus -USB-Stick wird nicht gefunden:
@Audidriver
dejavu - hast du es inzwischen hinbekommen, unter 12.x den Stick zum Laufen zu bringen?@all:
Ich habe heute mein System auf 12.8.3 upgedatet und siehe da, der USB-Stick wird nicht mehr erkannt unter iobroker. Alle anderen Befehle unter dem PI (siehe oben) habe ich ausgeführt und finde entsprechende Einträge, nur eben nicht unter dem modbus-Adapter bei PORT - was kann ich machen?Nein hab es nicht hin bekommen leider, meiner läuft immer noch auf 10.... weiss nicht warum er nicht will leider.
-
Hat neben Audidriver und mir noch einer diese Probleme oder sind wir beide aktuell die Einzigen?
-
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? -
@apollon77
bei mir kommt:
-
@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? -
@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
-
@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...
-
@mguenther Alles gut nur Warungen und Spendenaufforderungen
-
@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.
-
@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? -
@Audidriver
bleibt der bei dir auch bei updates von anderen Instanzen dabei oder verschwindet er?