Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. English
    3. ioBroker general
    4. Zigbee Adapter installation failures

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Zigbee Adapter installation failures

    This topic has been deleted. Only users with topic management privileges can see it.
    • robbertnl
      robbertnl last edited by robbertnl

      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

      Asgothian 1 Reply Last reply Reply Quote 0
      • Asgothian
        Asgothian Developer @robbertnl last edited by

        @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.

        robbertnl 1 Reply Last reply Reply Quote 0
        • robbertnl
          robbertnl @Asgothian last edited by

          @Asgothian
          Thanks that worked! I was told that the stick was flashed and tested correctly, so after a reflash all now works brilliantly.

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

          Support us

          ioBroker
          Community Adapters
          Donate

          812
          Online

          31.8k
          Users

          79.9k
          Topics

          1.3m
          Posts

          zigbee adapter cc2531
          2
          3
          601
          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