NEWS
Modbus über USB RS485
-
@wendy2702
nun hab ich noch mal geschaut mit "dir"
es ist kein Verzeichnis serialport und @serialport da. -
@ostseeskipper bin gerade verwirrt?
Läuft der Modbus jetzt oder nicht?
Was zeigt
npm list serialport
Im iobroker Verzeichnis ausgeführt?
-
@wendy2702
Nein. In einem unterverzeichnis davon.War es ziemlich bunt beim rebuild. Vor allem bei Serial
Installing NodeJS typings... latest @types: 17, installed node: 14 > @serialport/bindings@9.2.8 install /opt/iobroker/node_modules/iobroker.javascript/node_modules/@serialport/bindings > prebuild-install --tag-prefix @serialport/bindings@ || node-gyp rebuild prebuild-install WARN install No prebuilt binaries found (target=14.19.0 runtime=node arch=arm libc= platform=linux) make: Entering directory '/opt/iobroker/node_modules/iobroker.javascript/node_modules/@serialport/bindings/build' 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: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:271: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:316: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:366: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:412: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:433:28: warning: unnecessary parentheses in declaration of ‘ToParityEnum’ [-Wparentheses] SerialPortParity NAN_INLINE(ToParityEnum(const v8::Local<v8::String>& v8str)) { ^ ../src/serialport.cpp:452:30: warning: unnecessary parentheses in declaration of ‘ToStopBitEnum’ [-Wparentheses] 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.19.0/include/node/node.h:793: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/14.19.0/include/node/node.h:827:3: note: in expansion of macro ‘NODE_MODULE_X’ NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage) ^~~~~~~~~~~~~ ../src/serialport.cpp:486:1: note: in expansion of macro ‘NODE_MODULE’ 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: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:179: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:89: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:89: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); ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
und npm list serialport
pi@iobroker-pi:/opt/iobroker $ npm list serialport iobroker.inst@3.0.0 /opt/iobroker ├─┬ iobroker.discovery@2.7.0 │ └── UNMET DEPENDENCY serialport@9.2.1 ├─┬ iobroker.javascript@5.2.13 │ └── UNMET DEPENDENCY serialport@^9.2.8 ├─┬ iobroker.modbus@3.4.14 │ └── UNMET DEPENDENCY serialport@9.2.1 └─┬ iobroker.smartmeter@3.2.1 ├── UNMET DEPENDENCY serialport@9.2.1 └─┬ smartmeter-obis@2.3.0 └── UNMET DEPENDENCY serialport@9.2.1 npm ERR! missing: serialport@9.2.1, required by iobroker.discovery@2.7.0 npm ERR! missing: serialport@^9.2.8, required by iobroker.javascript@5.2.13 npm ERR! missing: serialport@9.2.1, required by iobroker.modbus@3.4.14 npm ERR! missing: serialport@9.2.1, required by iobroker.smartmeter@3.2.1 npm ERR! missing: serialport@9.2.1, required by smartmeter-obis@2.3.0
mach das ganze "npm rebuild" noch mal im iobroker verzeichnis
-
Sieht genau so bunt aus und auch npm list serialport hat sich nichts geändert
-
Das bunte ist ok.
Starte mal einen von den unten aufgeführten Adaptern neu und schaue dabei ins log.
-
@wendy2702
Die Adapter waren gerade alle rot und Protokolle gibts auch nicht mehr, und der iobroker slave hat sich verabschiedet.
Mach da mal ein reboot und hoffe mit putty rauf zu kommen. -
@wendy2702
das sieht jetzt so auslogin as: pi pi@192.168.0.243's password: Linux iobroker-pi 5.10.63-v7+ #1496 SMP Wed Dec 1 15:58:11 GMT 2021 armv7l The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Mon Feb 7 17:42:26 2022 from 192.168.0.230 pi@iobroker-pi:~ $ npm list serialport /home/pi └── (empty)
-
nach npm rebuild wieder so
pi@iobroker-pi:/opt/iobroker $ npm list serialport iobroker.inst@3.0.0 /opt/iobroker ├─┬ iobroker.discovery@2.7.0 │ └── UNMET DEPENDENCY serialport@9.2.1 ├─┬ iobroker.javascript@5.2.13 │ └── UNMET DEPENDENCY serialport@^9.2.8 ├─┬ iobroker.modbus@3.4.14 │ └── UNMET DEPENDENCY serialport@9.2.1 └─┬ iobroker.smartmeter@3.2.1 ├── UNMET DEPENDENCY serialport@9.2.1 └─┬ smartmeter-obis@2.3.0 └── UNMET DEPENDENCY serialport@9.2.1 npm ERR! missing: serialport@9.2.1, required by iobroker.discovery@2.7.0 npm ERR! missing: serialport@^9.2.8, required by iobroker.javascript@5.2.13 npm ERR! missing: serialport@9.2.1, required by iobroker.modbus@3.4.14 npm ERR! missing: serialport@9.2.1, required by iobroker.smartmeter@3.2.1 npm ERR! missing: serialport@9.2.1, required by smartmeter-obis@2.3.0 pi@iobroker-pi:/opt/iobroker $
-
Im ioBroker Log zeigt sich
host.iobroker-pi 2022-02-07 21:43:49.536 info Do not restart adapter system.adapter.smartmeter.0 because disabled or deleted host.iobroker-pi 2022-02-07 21:43:49.535 error instance system.adapter.smartmeter.0 terminated with code 1 (JS_CONTROLLER_STOPPED) host.iobroker-pi 2022-02-07 21:43:49.534 error Caught by controller[0]: } host.iobroker-pi 2022-02-07 21:43:49.534 error Caught by controller[0]: ] host.iobroker-pi 2022-02-07 21:43:49.533 error Caught by controller[0]: '/opt/iobroker/node_modules/iobroker.smartmeter/smartmeter.js' host.iobroker-pi 2022-02-07 21:43:49.532 error Caught by controller[0]: '/opt/iobroker/node_modules/smartmeter-obis/index.js', host.iobroker-pi 2022-02-07 21:43:49.532 error Caught by controller[0]: '/opt/iobroker/node_modules/smartmeter-obis/lib/transports/SerialRequestResponseTransport.js', host.iobroker-pi 2022-02-07 21:43:49.531 error Caught by controller[0]: requireStack: [ host.iobroker-pi 2022-02-07 21:43:49.531 error Caught by controller[0]: code: 'MODULE_NOT_FOUND', host.iobroker-pi 2022-02-07 21:43:49.530 error Caught by controller[0]: at Module.require (internal/modules/cjs/loader.js:974:19) { host.iobroker-pi 2022-02-07 21:43:49.530 error Caught by controller[0]: at Function.Module._load (internal/modules/cjs/loader.js:790:12) host.iobroker-pi 2022-02-07 21:43:49.529 error Caught by controller[0]: at Module.load (internal/modules/cjs/loader.js:950:32) host.iobroker-pi 2022-02-07 21:43:49.528 error Caught by controller[0]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10) host.iobroker-pi 2022-02-07 21:43:49.528 error Caught by controller[0]: at Module._compile (internal/modules/cjs/loader.js:1085:14) host.iobroker-pi 2022-02-07 21:43:49.527 error Caught by controller[0]: at Object.<anonymous> (/opt/iobroker/node_modules/smartmeter-obis/lib/transports/SerialRequestResponseTransport.js:7:18) host.iobroker-pi 2022-02-07 21:43:49.527 error Caught by controller[0]: at require (internal/modules/cjs/helpers.js:101:18) host.iobroker-pi 2022-02-07 21:43:49.526 error Caught by controller[0]: at Module.require (internal/modules/cjs/loader.js:974:19) host.iobroker-pi 2022-02-07 21:43:49.526 error Caught by controller[0]: at Function.Module._load (internal/modules/cjs/loader.js:746:27) host.iobroker-pi 2022-02-07 21:43:49.525 error Caught by controller[0]: at Function.Module._resolveFilename (internal/modules/cjs/loader.js:902:15) host.iobroker-pi 2022-02-07 21:43:49.524 error Caught by controller[0]: - /opt/iobroker/node_modules/iobroker.smartmeter/smartmeter.js host.iobroker-pi 2022-02-07 21:43:49.524 error Caught by controller[0]: - /opt/iobroker/node_modules/smartmeter-obis/index.js host.iobroker-pi 2022-02-07 21:43:49.518 error Caught by controller[0]: - /opt/iobroker/node_modules/smartmeter-obis/lib/transports/SerialRequestResponseTransport.js host.iobroker-pi 2022-02-07 21:43:49.517 error Caught by controller[0]: Require stack: host.iobroker-pi 2022-02-07 21:43:49.517 error Caught by controller[0]: Error: Cannot find module 'serialport' host.iobroker-pi 2022-02-07 21:43:49.516 error Caught by controller[0]: ^ host.iobroker-pi 2022-02-07 21:43:49.515 error Caught by controller[0]: throw err; host.iobroker-pi 2022-02-07 21:43:49.514 error Caught by controller[0]: internal/modules/cjs/loader.js:905
-
Wie kann ich serialport und @serialport nachinstallieren scheinbar macht das rebuild das nicht
-
@ostseeskipper
mitnpm i serialport
und danach war zumindest der smartmeterzähler wieder aktiv und lief
edit: und auch der Modbus lief
@wendy2702 Danke fürs auf die Sprünge helfen