NEWS
Zigbee Adapter installation failures
-
Hello,
I'm trying to use a newly purchased Zigbee CC2531 USB stick with pre-loaded Koenkk firmware. I installed ioBroker with the following commands on a newly installed Raspbian image on a Pi 3 (also tried a Pi 4, same misery). I sed the following command to install everything
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash - sudo apt install -y nodejs sudo apt install build-essential libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev libpixman-1-dev sudo reboot curl -sLf https://iobroker.net/install.sh | bash - sudo reboot
The installation of ioBroker gives a few errors, but I've read that this is normal?!? Anyway, it starts and works properly from here. Now when I try to add Zigbee Adapter (version 1.3.1) it gives a lot of errors when "more" is toggle.
The installation errors I get are related to SerialPort, but I can't seem to find a solution:
$ ./iobroker add zigbee --host raspberrypi NPM version: 6.14.8 npm install iobroker.zigbee@1.3.1 --loglevel error --prefix "/opt/iobroker" (System call) ../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.20.0/include/node/node.h:737: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.20.0/include/node/node.h:771: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); ^~~~~~~~~~~ ../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); ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ host.raspberrypi install adapter zigbee upload [250] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/img/tuya_rb280.png img/tuya_rb280.png image/png upload [200] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/img/philips_hue_gu10_color.png img/philips_hue_gu10_color.png image/png upload [150] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/img/lumi_router.png img/lumi_router.png image/png upload [100] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/img/ikea_recessed_spot_light.png img/ikea_recessed_spot_light.png image/png upload [90] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/img/ikea_bulb_E27.png img/ikea_bulb_E27.png image/png upload [80] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/img/hive.png img/hive.png image/png upload [70] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/img/gira_4_buttons.png img/gira_4_buttons.png image/png upload [60] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/img/ewelink_DS01.png img/ewelink_DS01.png image/png upload [50] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/img/ctrl_neutral1.png img/ctrl_neutral1.png image/png upload [40] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/img/bitron_902010_24.png img/bitron_902010_24.png image/png upload [30] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/img/ZHS15.png img/ZHS15.png image/png upload [20] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/img/NAS-AB02B0.png img/NAS-AB02B0.png image/png upload [19] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/img/Moes_Wall_Thermostat.png img/Moes_Wall_Thermostat.png image/png upload [18] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/img/Ikea_fyrtur.png img/Ikea_fyrtur.png image/png upload [17] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/img/HY08WE.png img/HY08WE.png image/png upload [16] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/img/FLOALT.panel.WS.png img/FLOALT.panel.WS.png image/png upload [15] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/img/Eurotronic_Spirit_04.png img/Eurotronic_Spirit_04.png image/png upload [14] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/img/DIYRuZ_R8_8.png img/DIYRuZ_R8_8.png image/png upload [13] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/img/DIYRuZ_Geiger.png img/DIYRuZ_Geiger.png image/png upload [12] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/img/DIYRuZ_FreePad.png img/DIYRuZ_FreePad.png image/png upload [11] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/img/DIYRuZ_Flower.png img/DIYRuZ_Flower.png image/png upload [10] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/img/DIYRuZ.png img/DIYRuZ.png image/png upload [9] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/img/DGNWG05LM.png img/DGNWG05LM.png image/png upload [8] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/img/Bitron_AV201021A.png img/Bitron_AV201021A.png image/png upload [7] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/img/BW-IS5.png img/BW-IS5.png image/png upload [6] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/img/BW-IS3.png img/BW-IS3.png image/png upload [5] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/img/AV2010_32.png img/AV2010_32.png image/png upload [4] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/img/86sw2.png img/86sw2.png image/png upload [3] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/img/86sw1.png img/86sw1.png image/png upload [2] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/img/86plug.png img/86plug.png image/png upload [1] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/admin.js admin.js application/javascript upload [0] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/adapter-settings.js adapter-settings.js application/javascript host.raspberrypi object system.adapter.zigbee created/updated host.raspberrypi create instance zigbee host.raspberrypi object zigbee.0.info.groups created host.raspberrypi object zigbee.0.info.pairingMessage created host.raspberrypi object zigbee.0.info.pairingCountdown created host.raspberrypi object zigbee.0.info.pairingMode created host.raspberrypi object zigbee.0.info.connection created host.raspberrypi object zigbee.0.info created host.raspberrypi object system.adapter.zigbee.0.sigKill created host.raspberrypi object system.adapter.zigbee.0.eventLoopLag created host.raspberrypi object system.adapter.zigbee.0.outputCount created host.raspberrypi object system.adapter.zigbee.0.inputCount created host.raspberrypi object system.adapter.zigbee.0.uptime created host.raspberrypi object system.adapter.zigbee.0.memRss created host.raspberrypi object system.adapter.zigbee.0.memHeapTotal created host.raspberrypi object system.adapter.zigbee.0.memHeapUsed created host.raspberrypi object system.adapter.zigbee.0.cputime created host.raspberrypi object system.adapter.zigbee.0.cpu created host.raspberrypi object system.adapter.zigbee.0.compactMode created host.raspberrypi object system.adapter.zigbee.0.connected created host.raspberrypi object system.adapter.zigbee.0.alive created host.raspberrypi Set default value of zigbee.0.info.groups: host.raspberrypi Set default value of zigbee.0.info.pairingMessage: host.raspberrypi Set default value of zigbee.0.info.pairingCountdown: 0 host.raspberrypi Set default value of zigbee.0.info.pairingMode: false host.raspberrypi Set default value of zigbee.0.info.connection: false host.raspberrypi object system.adapter.zigbee.0 created process exited with code 0
So I found some commands to install version 1.4.0. But that didn't help either:
cd /opt/iobroker sudo -u iobroker npm i iobroker.zigbee@1.4.0 iobroker upload all
> @serialport/bindings@9.0.2 install /opt/iobroker/node_modules/zigbee-herdsman/node_modules/@serialport/bindings > prebuild-install --tag-prefix @serialport/bindings@ || node-gyp rebuild prebuild-install WARN install No prebuilt binaries found (target=12.20.0 runtime=node arch=arm libc= platform=linux) make: Entering directory '/opt/iobroker/node_modules/zigbee-herdsman/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: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.20.0/include/node/node.h:737: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.20.0/include/node/node.h:771: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 ../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 CXX(target) Release/obj.target/bindings/src/serialport_linux.o SOLINK_MODULE(target) Release/obj.target/bindings.node COPY Release/bindings.node make: Leaving directory '/opt/iobroker/node_modules/zigbee-herdsman/node_modules/@serialport/bindings/build' > serialport@9.0.2 postinstall /opt/iobroker/node_modules/zigbee-herdsman/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 WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.1.3 (node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: osx-temperature-sensor@1.0.7 (node_modules/osx-temperature-sensor): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for osx-temperature-sensor@1.0.7: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.13 (node_modules/zigbee-herdsman/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.2.1 (node_modules/zigbee-herdsman/node_modules/jest-haste-map/node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.2.1: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.1.3 (node_modules/zigbee-herdsman/node_modules/chokidar/node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.2.1 (node_modules/zigbee-herdsman-converters/node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.2.1: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm"}) + iobroker.zigbee@1.4.0 added 1621 packages from 775 contributors in 223.771s 59 packages are looking for funding run `npm fund` for details
Strangely enough the adapter is added and an instance is created. But if I add the serial port (found using ls -l /dev/serial/by-id) in the config the instance is always yellow. The logs show me:
2020-12-23 17:56:59.641 - info: host.raspberrypi instance system.adapter.zigbee.0 terminated with code 11 (ADAPTER_REQUESTED_TERMINATION) 2020-12-23 17:57:02.112 - info: host.raspberrypi instance system.adapter.zigbee.0 started with pid 5711 2020-12-23 17:57:05.513 - info: zigbee.0 (5711) starting. Version 1.4.0 in /opt/iobroker/node_modules/iobroker.zigbee, node: v12.20.0, js-controller: 3.1.6 2020-12-23 17:57:05.574 - info: zigbee.0 (5711) Starting Zigbee npm ... 2020-12-23 17:57:05.849 - info: zigbee.0 (5711) Installed Version: undefined 2020-12-23 17:57:15.517 - error: zigbee.0 (5711) Failed to start Zigbee 2020-12-23 17:57:15.519 - error: zigbee.0 (5711) Error: SREQ '--> SYS - osalNvWrite - {"id":143,"len":1,"offset":0,"value":{"type":"Buffer","data":[1]}}' failed with status '(0x02: INVALID_PARAM)' (expected '(0x00: SUCCESS)') at Znp. (/opt/iobroker/node_modules/iobroker.zigbee/node_modules/zigbee-herdsman/dist/adapter/z-stack/znp/znp.js:291:27) at Generator.next () at fulfilled (/opt/iobroker/node_modules/iobroker.zigbee/node_modules/zigbee-herdsman/dist/adapter/z-stack/znp/znp.js:24:58) 2020-12-23 17:57:25.524 - info: zigbee.0 (5711) Try to reconnect. 1 attempts left 2020-12-23 17:57:25.529 - info: zigbee.0 (5711) Starting Zigbee npm ... 2020-12-23 17:57:25.566 - info: zigbee.0 (5711) Installed Version: undefined 2020-12-23 17:57:25.890 - error: zigbee.0 (5711) Failed to start Zigbee 2020-12-23 17:57:25.892 - error: zigbee.0 (5711) Error: Error while opening serialport 'Error: Error Resource temporarily unavailable Cannot lock port' at Znp. (/opt/iobroker/node_modules/iobroker.zigbee/node_modules/zigbee-herdsman/dist/adapter/z-stack/znp/znp.js:136:32) at Generator.next () at /opt/iobroker/node_modules/iobroker.zigbee/node_modules/zigbee-herdsman/dist/adapter/z-stack/znp/znp.js:27:71 at new Promise () at __awaiter (/opt/iobroker/node_modules/iobroker.zigbee/node_modules/zigbee-herdsman/dist/adapter/z-stack/znp/znp.js:23:12) at SerialPort. (/opt/iobroker/node_modules/iobroker.zigbee/node_modules/zigbee-herdsman/dist/adapter/z-stack/znp/znp.js:134:49) at SerialPort._error (/opt/iobroker/node_modules/iobroker.zigbee/node_modules/zigbee-herdsman/node_modules/@serialport/stream/lib/index.js:198:14) at /opt/iobroker/node_modules/iobroker.zigbee/node_modules/zigbee-herdsman/node_modules/@serialport/stream/lib/index.js:242:12
I'm using node and nodejs version 12.20, npm version 6.14.8 and js-controller 3.1.6.
Hope someone can help.
Thanks,
Robbert
-
@Robbert-Brackel
The "errors" you encountered during installations are warnings, not errors. They are part of the serial-ort library. As far as i read them, i would say that they are safety warnings about possible buffer overflows.These are not the cause for the error upon adapter start.
The message
failed with status '(0x02: INVALID_PARAM)' (expected '(0x00: SUCCESS)')
hints at an error with a component. In this case, since you have not yet added device i would suspect that the firmware on the stick is not ok, and refresh the stick with the proper firmware.
A.
-
@Asgothian
Thanks that worked! I was told that the stick was flashed and tested correctly, so after a reflash all now works brilliantly.