hobbyquaker / node-red-contrib-zigbee

Node-RED Nodes for ZigBee Devices 🐝
MIT License
86 stars 15 forks source link

Node-Red in Docker. After restarting all paired devices are gone. #143

Open ckhmer1 opened 3 years ago

ckhmer1 commented 3 years ago

First of all, thank you for your great work. I'm using Node-Red in Docker in archlinuxarm. After restarting the docker image using the "docker restart node-red" command all paired devices are gone. Is there some check I can perform to understand what's happening? Thanks

Sineos commented 3 years ago

Most likely a wrong panID or Network Key. Make sure the panID is 4 characters in HEX, e.g. 1A62 and the Network Key is 32 chars, equally in Hex. Hex means only A to F and 0 to 9 may be used.

ckhmer1 commented 3 years ago

Hi, thanks for the fast reply.

I've checked the panID, extPanId and networkKey, they seem correct. In the node-red log I've found the following error:

27 Feb 19:46:54 - [error] [zigbee-controller:controller] TypeError: Cannot read property 'getEntries' of null

Thanks

Sineos commented 3 years ago

Have you tried restarting NR completely? After changing zigbee Network parameters etc a full restart is required. Deploy / restart flow is not enough. Also please set to debug and post full log.

ckhmer1 commented 3 years ago

Hi, I've just performed a fresh install of the container, installed only the Zigbee module, and paired one device.

Please find below the installation logs:

[root@rpi3 node-red1]# docker start node-red ; docker logs -f node-red node-red

node-red-docker@1.2.9 start /usr/src/node-red node $NODE_OPTIONS node_modules/node-red/red.js $FLOWS "--userDir" "/data"

28 Feb 12:28:25 - [info]

Welcome to Node-RED

28 Feb 12:28:25 - [info] Node-RED version: v1.2.9 28 Feb 12:28:25 - [info] Node.js version: v10.23.2 28 Feb 12:28:25 - [info] Linux 5.10.17-2-ARCH arm LE 28 Feb 12:28:26 - [info] Loading palette nodes 28 Feb 12:28:26 - [debug] Module: node-red-node-rbe 0.2.9 28 Feb 12:28:26 - [debug] /usr/src/node-red/node_modules/node-red-node-rbe 28 Feb 12:28:26 - [debug] Module: node-red-node-tail 0.1.1 28 Feb 12:28:26 - [debug] /usr/src/node-red/node_modules/node-red-node-tail 28 Feb 12:28:29 - [warn] Missing node modules: 28 Feb 12:28:29 - [warn] - node-red-contrib-zigbee (0.20.2): zigbee-shepherd, zigbee-controller, zigbee-converter, zigbee-event, zigbee-command, zigbee-offline, zigbee-hue-light, zigbee-hue-device 28 Feb 12:28:29 - [info] Removing modules from config 28 Feb 12:28:29 - [info] Settings file : /data/settings.js 28 Feb 12:28:29 - [info] Context store : 'default' [module=memory] 28 Feb 12:28:29 - [info] User directory : /data 28 Feb 12:28:29 - [warn] Projects disabled : editorTheme.projects.enabled=false 28 Feb 12:28:29 - [info] Flows file : /data/flows.json 28 Feb 12:28:29 - [debug] loaded flow revision: b9ddad08e650c4c1aa0b7f3f6c925e38 28 Feb 12:28:29 - [debug] red/runtime/nodes/credentials.load : no user key present 28 Feb 12:28:29 - [debug] red/runtime/nodes/credentials.load : using default key 28 Feb 12:28:29 - [debug] red/runtime/nodes/credentials.load : keyType=system 28 Feb 12:28:29 - [warn]


Your flow credentials file is encrypted using a system-generated key.

If the system-generated key is lost for any reason, your credentials file will not be recoverable, you will have to delete it and re-enter your credentials.

You should set your own key using the 'credentialSecret' option in your settings file. Node-RED will then re-encrypt your credentials file using your chosen key the next time you deploy a change.

28 Feb 12:28:29 - [info] Waiting for missing types to be registered: 28 Feb 12:28:29 - [info] - zigbee-shepherd 28 Feb 12:28:29 - [info] - zigbee-controller 28 Feb 12:28:29 - [info] - zigbee-converter 28 Feb 12:28:29 - [info] - zigbee-offline 28 Feb 12:28:29 - [info] Server now running at http://127.0.0.1:1880/ 28 Feb 12:29:22 - [info] Installing module: node-red-contrib-zigbee, version: 0.20.2 28 Feb 12:29:22 - [debug] npm install --no-audit --no-update-notifier --no-fund --save --save-prefix=~ --production node-red-contrib-zigbee@0.20.2 28 Feb 12:29:27 - [debug] [err] npm 28 Feb 12:29:27 - [debug] [err] WARN deprecated vis@4.21.0: Please consider using https://github.com/visjs 28 Feb 12:31:52 - [debug] [out] 28 Feb 12:31:52 - [debug] [out] > @serialport/bindings@9.0.3 install /data/node_modules/zigbee-herdsman-converters/node_modules/zigbee-herdsman/node_modules/@serialport/bindings 28 Feb 12:31:52 - [debug] [out] > prebuild-install --tag-prefix @serialport/bindings@ || node-gyp rebuild 28 Feb 12:31:52 - [debug] [out] 28 Feb 12:31:53 - [debug] [err] prebuild-install 28 Feb 12:31:53 - [debug] [err] WARN install 28 Feb 12:31:53 - [debug] [err] No prebuilt binaries found (target=10.23.2 runtime=node arch=arm libc=musl platform=linux) 28 Feb 12:31:57 - [debug] [out] make: Entering directory '/data/node_modules/zigbee-herdsman-converters/node_modules/zigbee-herdsman/node_modules/@serialport/bindings/build' 28 Feb 12:31:57 - [debug] [out] CXX(target) Release/obj.target/bindings/src/serialport.o 28 Feb 12:32:01 - [debug] [err] ../src/serialport.cpp: In function 'Nan::NAN_METHOD_RETURN_TYPE Open(Nan::NAN_METHOD_ARGS_TYPE)': 28 Feb 12:32:01 - [debug] [err] ../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] 28 Feb 12:32:01 - [debug] [err] 78 | uv_queue_work(uv_default_loop(), req, EIO_Open, (uv_after_work_cb)EIO_AfterOpen); 28 Feb 12:32:01 - [debug] [err] | ^~~~~ 28 Feb 12:32:01 - [debug] [err] ../src/serialport.cpp: In function 'Nan::NAN_METHOD_RETURN_TYPE Update(Nan::NAN_METHOD_ARGS_TYPE)': 28 Feb 12:32:01 - [debug] [err] ../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] 28 Feb 12:32:01 - [debug] [err] 135 | uv_queue_work(uv_default_loop(), req, EIO_Update, (uv_after_work_cb)EIO_AfterUpdate); 28 Feb 12:32:01 - [debug] [err] | ^~~~~~~ 28 Feb 12:32:01 - [debug] [err] ../src/serialport.cpp: In function 'Nan::NAN_METHOD_RETURN_TYPE Close(Nan::NAN_METHOD_ARGS_TYPE)': 28 Feb 12:32:01 - [debug] [err] ../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] 28 Feb 12:32:01 - [debug] [err] 175 | uv_queue_work(uv_default_loop(), req, EIO_Close, (uv_after_work_cb)EIO_AfterClose); 28 Feb 12:32:01 - [debug] [err] | ^~~~~~ 28 Feb 12:32:01 - [debug] [err] ../src/serialport.cpp: In function 'Nan::NAN_METHOD_RETURN_TYPE Flush(Nan::NAN_METHOD_ARGS_TYPE)': 28 Feb 12:32:01 - [debug] [err] ../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] 28 Feb 12:32:01 - [debug] [err] 215 | uv_queue_work(uv_default_loop(), req, EIO_Flush, (uv_after_work_cb)EIO_AfterFlush); 28 Feb 12:32:01 - [debug] [err] | ^~~~~~ 28 Feb 12:32:01 - [debug] [err] ../src/serialport.cpp: In function 'Nan::NAN_METHOD_RETURN_TYPE Set(Nan::NAN_METHOD_ARGS_TYPE)': 28 Feb 12:32:01 - [debug] [err] ../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] 28 Feb 12:32:01 - [debug] [err] 270 | uv_queue_work(uv_default_loop(), req, EIO_Set, (uv_after_work_cb)EIO_AfterSet); 28 Feb 12:32:01 - [debug] [err] | ^~~~ 28 Feb 12:32:01 - [debug] [err] ../src/serialport.cpp: In function 'Nan::NAN_METHOD_RETURN_TYPE Get(Nan::NAN_METHOD_ARGS_TYPE)': 28 Feb 12:32:01 - [debug] [err] ../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] 28 Feb 12:32:01 - [debug] [err] 314 | uv_queue_work(uv_default_loop(), req, EIO_Get, (uv_after_work_cb)EIO_AfterGet); 28 Feb 12:32:01 - [debug] [err] | ^~~~ 28 Feb 12:32:01 - [debug] [err] ../src/serialport.cpp: In function 'Nan::NAN_METHOD_RETURN_TYPE GetBaudRate(Nan::NAN_METHOD_ARGS_TYPE)': 28 Feb 12:32:01 - [debug] [err] ../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] 28 Feb 12:32:01 - [debug] [err] 363 | uv_queue_work(uv_default_loop(), req, EIO_GetBaudRate, (uv_after_work_cb)EIO_AfterGetBaudRate); 28 Feb 12:32:01 - [debug] [err] | ^~~~~~~~ 28 Feb 12:32:01 - [debug] [err] ../src/serialport.cpp: In function 'Nan::NAN_METHOD_RETURN_TYPE Drain(Nan::NAN_METHOD_ARGS_TYPE)': 28 Feb 12:32:01 - [debug] [err] ../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] 28 Feb 12:32:01 - [debug] [err] 409 | uv_queue_work(uv_default_loop(), req, EIO_Drain, (uv_after_work_cb)EIO_AfterDrain); 28 Feb 12:32:01 - [debug] [err] | ^~~~~~ 28 Feb 12:32:01 - [debug] [err] ../src/serialport.cpp: At global scope: 28 Feb 12:32:01 - [debug] [err] ../src/serialport.cpp:430:28: warning: unnecessary parentheses in declaration of 'ToParityEnum' [-Wparentheses] 28 Feb 12:32:01 - [debug] [err] 430 | SerialPortParity NAN_INLINE(ToParityEnum(const v8::Local& v8str)) { 28 Feb 12:32:01 - [debug] [err] | ^ 28 Feb 12:32:01 - [debug] [err] ../src/serialport.cpp:449:30: warning: unnecessary parentheses in declaration of 'ToStopBitEnum' [-Wparentheses] 28 Feb 12:32:01 - [debug] [err] 449 | SerialPortStopBits NAN_INLINE(ToStopBitEnum(double stopBits)) { 28 Feb 12:32:01 - [debug] [err] | ^ 28 Feb 12:32:01 - [debug] [err] In file included from ../../../nan/nan.h:56, 28 Feb 12:32:01 - [debug] [err] from ../src/./serialport.h:6, 28 Feb 12:32:01 - [debug] [err] from ../src/serialport.cpp:1: 28 Feb 12:32:01 - [debug] [err] /root/.cache/node-gyp/10.23.2/include/node/node.h:573:43: warning: cast between incompatible function types from 'void ()(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)' {aka 'void ()(v8::Local)'} to 'node::addon_register_func' {aka 'void ()(v8::Local, v8::Local, void)'} [-Wcast-function-type] 28 Feb 12:32:01 - [debug] [err] 573 | (node::addon_register_func) (regfunc), \ 28 Feb 12:32:01 - [debug] [err] | ^ 28 Feb 12:32:01 - [debug] [err] /root/.cache/node-gyp/10.23.2/include/node/node.h:607:3: note: in expansion of macro 'NODE_MODULE_X' 28 Feb 12:32:01 - [debug] [err] 607 | NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage) 28 Feb 12:32:01 - [debug] [err] | ^~~~~ 28 Feb 12:32:01 - [debug] [err] ../src/serialport.cpp:483:1: note: in expansion of macro 'NODE_MODULE' 28 Feb 12:32:01 - [debug] [err] 483 | NODE_MODULE(serialport, init); 28 Feb 12:32:01 - [debug] [err] | ^~~ 28 Feb 12:32:01 - [debug] [err] In file included from /root/.cache/node-gyp/10.23.2/include/node/node.h:63, 28 Feb 12:32:01 - [debug] [err] from ../../../nan/nan.h:56, 28 Feb 12:32:01 - [debug] [err] from ../src/./serialport.h:6, 28 Feb 12:32:01 - [debug] [err] from ../src/serialport.cpp:1: 28 Feb 12:32:01 - [debug] [err] /root/.cache/node-gyp/10.23.2/include/node/v8.h: In instantiation of 'void v8::PersistentBase::SetWeak(P, typename v8::WeakCallbackInfo

::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo

::Callback = void ()(const v8::WeakCallbackInfo&)]': 28 Feb 12:32:01 - [debug] [err] /root/.cache/node-gyp/10.23.2/include/node/node_object_wrap.h:84:78: required from here 28 Feb 12:32:01 - [debug] [err] /root/.cache/node-gyp/10.23.2/include/node/v8.h:9502:16: warning: cast between incompatible function types from 'v8::WeakCallbackInfo::Callback' {aka 'void ()(const v8::WeakCallbackInfo&)'} to 'Callback' {aka 'void ()(const v8::WeakCallbackInfo&)'} [-Wcast-function-type] 28 Feb 12:32:01 - [debug] [err] 9502 | reinterpret_cast(callback), type); 28 Feb 12:32:01 - [debug] [err] | ^~~~~~~~ 28 Feb 12:32:01 - [debug] [err] /root/.cache/node-gyp/10.23.2/include/node/v8.h: In instantiation of 'void v8::PersistentBase::SetWeak(P, typename v8::WeakCallbackInfo

::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo

::Callback = void ()(const v8::WeakCallbackInfo&)]': 28 Feb 12:32:01 - [debug] [err] ../../../nan/nan_object_wrap.h:65:61: required from here 28 Feb 12:32:01 - [debug] [err] /root/.cache/node-gyp/10.23.2/include/node/v8.h:9502:16: warning: cast between incompatible function types from 'v8::WeakCallbackInfo::Callback' {aka 'void ()(const v8::WeakCallbackInfo&)'} to 'Callback' {aka 'void ()(const v8::WeakCallbackInfo&)'} [-Wcast-function-type] 28 Feb 12:32:06 - [debug] [out] CXX(target) Release/obj.target/bindings/src/serialport_unix.o 28 Feb 12:32:10 - [debug] [err] In file included from /root/.cache/node-gyp/10.23.2/include/node/node.h:63, 28 Feb 12:32:10 - [debug] [err] from ../../../nan/nan.h:56, 28 Feb 12:32:10 - [debug] [err] from ../src/serialport.h:6, 28 Feb 12:32:10 - [debug] [err] from ../src/serialport_unix.cpp:2: 28 Feb 12:32:10 - [debug] [err] /root/.cache/node-gyp/10.23.2/include/node/v8.h: In instantiation of 'void v8::PersistentBase::SetWeak(P, typename v8::WeakCallbackInfo

::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo

::Callback = void ()(const v8::WeakCallbackInfo&)]': 28 Feb 12:32:10 - [debug] [err] /root/.cache/node-gyp/10.23.2/include/node/node_object_wrap.h:84:78: required from here 28 Feb 12:32:10 - [debug] [err] /root/.cache/node-gyp/10.23.2/include/node/v8.h:9502:16: warning: cast between incompatible function types from 'v8::WeakCallbackInfo::Callback' {aka 'void ()(const v8::WeakCallbackInfo&)'} to 'Callback' {aka 'void ()(const v8::WeakCallbackInfo&)'} [-Wcast-function-type] 28 Feb 12:32:10 - [debug] [err] 9502 | reinterpret_cast(callback), type); 28 Feb 12:32:10 - [debug] [err] | ^~~~~~~~ 28 Feb 12:32:10 - [debug] [err] /root/.cache/node-gyp/10.23.2/include/node/v8.h: In instantiation of 'void v8::PersistentBase::SetWeak(P, typename v8::WeakCallbackInfo

::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo

::Callback = void ()(const v8::WeakCallbackInfo&)]': 28 Feb 12:32:10 - [debug] [err] ../../../nan/nan_object_wrap.h:65:61: required from here 28 Feb 12:32:10 - [debug] [err] /root/.cache/node-gyp/10.23.2/include/node/v8.h:9502:16: warning: cast between incompatible function types from 'v8::WeakCallbackInfo::Callback' {aka 'void ()(const v8::WeakCallbackInfo&)'} to 'Callback' {aka 'void ()(const v8::WeakCallbackInfo&)'} [-Wcast-function-type] 28 Feb 12:32:10 - [debug] [out] CXX(target) Release/obj.target/bindings/src/poller.o 28 Feb 12:32:14 - [debug] [err] In file included from /root/.cache/node-gyp/10.23.2/include/node/node.h:63, 28 Feb 12:32:14 - [debug] [err] from ../../../nan/nan.h:56, 28 Feb 12:32:14 - [debug] [err] from ../src/poller.cpp:1: 28 Feb 12:32:14 - [debug] [err] /root/.cache/node-gyp/10.23.2/include/node/v8.h: In instantiation of 'void v8::PersistentBase::SetWeak(P, typename v8::WeakCallbackInfo

::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo

::Callback = void ()(const v8::WeakCallbackInfo&)]': 28 Feb 12:32:14 - [debug] [err] /root/.cache/node-gyp/10.23.2/include/node/node_object_wrap.h:84:78: required from here 28 Feb 12:32:14 - [debug] [err] /root/.cache/node-gyp/10.23.2/include/node/v8.h:9502:16: warning: cast between incompatible function types from 'v8::WeakCallbackInfo::Callback' {aka 'void ()(const v8::WeakCallbackInfo&)'} to 'Callback' {aka 'void ()(const v8::WeakCallbackInfo&)'} [-Wcast-function-type] 28 Feb 12:32:14 - [debug] [err] 9502 | reinterpret_cast(callback), type); 28 Feb 12:32:14 - [debug] [err] | ^~~~~~~~ 28 Feb 12:32:14 - [debug] [err] /root/.cache/node-gyp/10.23.2/include/node/v8.h: In instantiation of 'void v8::PersistentBase::SetWeak(P, typename v8::WeakCallbackInfo

::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo

::Callback = void ()(const v8::WeakCallbackInfo&)]': 28 Feb 12:32:14 - [debug] [err] ../../../nan/nan_object_wrap.h:65:61: required from here 28 Feb 12:32:14 - [debug] [err] /root/.cache/node-gyp/10.23.2/include/node/v8.h:9502:16: warning: cast between incompatible function types from 'v8::WeakCallbackInfo::Callback' {aka 'void ()(const v8::WeakCallbackInfo&)'} to 'Callback' {aka 'void ()(const v8::WeakCallbackInfo&)'} [-Wcast-function-type] 28 Feb 12:32:16 - [debug] [out] CXX(target) Release/obj.target/bindings/src/serialport_linux.o 28 Feb 12:32:16 - [debug] [out] SOLINK_MODULE(target) Release/obj.target/bindings.node 28 Feb 12:32:16 - [debug] [out] COPY Release/bindings.node 28 Feb 12:32:16 - [debug] [out] make: Leaving directory '/data/node_modules/zigbee-herdsman-converters/node_modules/zigbee-herdsman/node_modules/@serialport/bindings/build' 28 Feb 12:32:18 - [debug] [out] 28 Feb 12:32:18 - [debug] [out] > @serialport/bindings@9.0.3 install /data/node_modules/zigbee-herdsman/node_modules/@serialport/bindings 28 Feb 12:32:18 - [debug] [out] > prebuild-install --tag-prefix @serialport/bindings@ || node-gyp rebuild 28 Feb 12:32:18 - [debug] [out] 28 Feb 12:32:20 - [debug] [err] prebuild-install 28 Feb 12:32:20 - [debug] [err] 28 Feb 12:32:20 - [debug] [err] WARN install No prebuilt binaries found (target=10.23.2 runtime=node arch=arm libc=musl platform=linux) 28 Feb 12:32:22 - [debug] [out] make: Entering directory '/data/node_modules/zigbee-herdsman/node_modules/@serialport/bindings/build' 28 Feb 12:32:22 - [debug] [out] CXX(target) Release/obj.target/bindings/src/serialport.o 28 Feb 12:32:25 - [debug] [err] ../src/serialport.cpp: In function 'Nan::NAN_METHOD_RETURN_TYPE Open(Nan::NAN_METHOD_ARGS_TYPE)': 28 Feb 12:32:25 - [debug] [err] ../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] 28 Feb 12:32:25 - [debug] [err] 78 | uv_queue_work(uv_default_loop(), req, EIO_Open, (uv_after_work_cb)EIO_AfterOpen); 28 Feb 12:32:25 - [debug] [err] | ^~~~~ 28 Feb 12:32:25 - [debug] [err] ../src/serialport.cpp: In function 'Nan::NAN_METHOD_RETURN_TYPE Update(Nan::NAN_METHOD_ARGS_TYPE)': 28 Feb 12:32:25 - [debug] [err] ../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] 28 Feb 12:32:25 - [debug] [err] 135 | uv_queue_work(uv_default_loop(), req, EIO_Update, (uv_after_work_cb)EIO_AfterUpdate); 28 Feb 12:32:25 - [debug] [err] | ^~~~~~~ 28 Feb 12:32:25 - [debug] [err] ../src/serialport.cpp: In function 'Nan::NAN_METHOD_RETURN_TYPE Close(Nan::NAN_METHOD_ARGS_TYPE)': 28 Feb 12:32:25 - [debug] [err] ../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] 28 Feb 12:32:25 - [debug] [err] 175 | uv_queue_work(uv_default_loop(), req, EIO_Close, (uv_after_work_cb)EIO_AfterClose); 28 Feb 12:32:25 - [debug] [err] | ^~~~~~ 28 Feb 12:32:25 - [debug] [err] ../src/serialport.cpp: In function 'Nan::NAN_METHOD_RETURN_TYPE Flush(Nan::NAN_METHOD_ARGS_TYPE)': 28 Feb 12:32:25 - [debug] [err] ../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] 28 Feb 12:32:25 - [debug] [err] 215 | uv_queue_work(uv_default_loop(), req, EIO_Flush, (uv_after_work_cb)EIO_AfterFlush); 28 Feb 12:32:25 - [debug] [err] | ^~~~~~ 28 Feb 12:32:25 - [debug] [err] ../src/serialport.cpp: In function 'Nan::NAN_METHOD_RETURN_TYPE Set(Nan::NAN_METHOD_ARGS_TYPE)': 28 Feb 12:32:25 - [debug] [err] ../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] 28 Feb 12:32:25 - [debug] [err] 270 | uv_queue_work(uv_default_loop(), req, EIO_Set, (uv_after_work_cb)EIO_AfterSet); 28 Feb 12:32:25 - [debug] [err] | ^~~~ 28 Feb 12:32:25 - [debug] [err] ../src/serialport.cpp: In function 'Nan::NAN_METHOD_RETURN_TYPE Get(Nan::NAN_METHOD_ARGS_TYPE)': 28 Feb 12:32:25 - [debug] [err] ../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] 28 Feb 12:32:25 - [debug] [err] 314 | uv_queue_work(uv_default_loop(), req, EIO_Get, (uv_after_work_cb)EIO_AfterGet); 28 Feb 12:32:25 - [debug] [err] | ^~~~ 28 Feb 12:32:25 - [debug] [err] ../src/serialport.cpp: In function 'Nan::NAN_METHOD_RETURN_TYPE GetBaudRate(Nan::NAN_METHOD_ARGS_TYPE)': 28 Feb 12:32:25 - [debug] [err] ../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] 28 Feb 12:32:25 - [debug] [err] 363 | uv_queue_work(uv_default_loop(), req, EIO_GetBaudRate, (uv_after_work_cb)EIO_AfterGetBaudRate); 28 Feb 12:32:25 - [debug] [err] | ^~~~~~~~ 28 Feb 12:32:25 - [debug] [err] ../src/serialport.cpp: In function 'Nan::NAN_METHOD_RETURN_TYPE Drain(Nan::NAN_METHOD_ARGS_TYPE)': 28 Feb 12:32:25 - [debug] [err] ../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] 28 Feb 12:32:25 - [debug] [err] 409 | uv_queue_work(uv_default_loop(), req, EIO_Drain, (uv_after_work_cb)EIO_AfterDrain); 28 Feb 12:32:25 - [debug] [err] | ^~~~~~ 28 Feb 12:32:25 - [debug] [err] ../src/serialport.cpp: At global scope: 28 Feb 12:32:25 - [debug] [err] ../src/serialport.cpp:430:28: warning: unnecessary parentheses in declaration of 'ToParityEnum' [-Wparentheses] 28 Feb 12:32:25 - [debug] [err] 430 | SerialPortParity NAN_INLINE(ToParityEnum(const v8::Local& v8str)) { 28 Feb 12:32:25 - [debug] [err] | ^ 28 Feb 12:32:25 - [debug] [err] ../src/serialport.cpp:449:30: warning: unnecessary parentheses in declaration of 'ToStopBitEnum' [-Wparentheses] 28 Feb 12:32:25 - [debug] [err] 449 | SerialPortStopBits NAN_INLINE(ToStopBitEnum(double stopBits)) { 28 Feb 12:32:25 - [debug] [err] | ^ 28 Feb 12:32:25 - [debug] [err] In file included from ../../../nan/nan.h:56, 28 Feb 12:32:25 - [debug] [err] from ../src/./serialport.h:6, 28 Feb 12:32:25 - [debug] [err] from ../src/serialport.cpp:1: 28 Feb 12:32:25 - [debug] [err] /root/.cache/node-gyp/10.23.2/include/node/node.h:573:43: warning: cast between incompatible function types from 'void ()(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)' {aka 'void ()(v8::Local)'} to 'node::addon_register_func' {aka 'void ()(v8::Local, v8::Local, void)'} [-Wcast-function-type] 28 Feb 12:32:25 - [debug] [err] 573 | (node::addon_register_func) (regfunc), \ 28 Feb 12:32:25 - [debug] [err] | ^ 28 Feb 12:32:25 - [debug] [err] /root/.cache/node-gyp/10.23.2/include/node/node.h:607:3: note: in expansion of macro 'NODE_MODULE_X' 28 Feb 12:32:25 - [debug] [err] 607 | NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage) 28 Feb 12:32:25 - [debug] [err] | ^~~~~ 28 Feb 12:32:25 - [debug] [err] ../src/serialport.cpp:483:1: note: in expansion of macro 'NODE_MODULE' 28 Feb 12:32:25 - [debug] [err] 483 | NODE_MODULE(serialport, init); 28 Feb 12:32:25 - [debug] [err] | ^~~ 28 Feb 12:32:26 - [debug] [err] In file included from /root/.cache/node-gyp/10.23.2/include/node/node.h:63, 28 Feb 12:32:26 - [debug] [err] from ../../../nan/nan.h:56, 28 Feb 12:32:26 - [debug] [err] from ../src/./serialport.h:6, 28 Feb 12:32:26 - [debug] [err] from ../src/serialport.cpp:1: 28 Feb 12:32:26 - [debug] [err] /root/.cache/node-gyp/10.23.2/include/node/v8.h: In instantiation of 'void v8::PersistentBase::SetWeak(P, typename v8::WeakCallbackInfo

::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo

::Callback = void ()(const v8::WeakCallbackInfo&)]': 28 Feb 12:32:26 - [debug] [err] /root/.cache/node-gyp/10.23.2/include/node/node_object_wrap.h:84:78: required from here 28 Feb 12:32:26 - [debug] [err] /root/.cache/node-gyp/10.23.2/include/node/v8.h:9502:16: warning: cast between incompatible function types from 'v8::WeakCallbackInfo::Callback' {aka 'void ()(const v8::WeakCallbackInfo&)'} to 'Callback' {aka 'void ()(const v8::WeakCallbackInfo&)'} [-Wcast-function-type] 28 Feb 12:32:26 - [debug] [err] 9502 | reinterpret_cast(callback), type); 28 Feb 12:32:26 - [debug] [err] | ^~~~~~~~ 28 Feb 12:32:26 - [debug] [err] /root/.cache/node-gyp/10.23.2/include/node/v8.h: In instantiation of 'void v8::PersistentBase::SetWeak(P, typename v8::WeakCallbackInfo

::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo

::Callback = void ()(const v8::WeakCallbackInfo&)]': 28 Feb 12:32:26 - [debug] [err] ../../../nan/nan_object_wrap.h:65:61: required from here 28 Feb 12:32:26 - [debug] [err] /root/.cache/node-gyp/10.23.2/include/node/v8.h:9502:16: warning: cast between incompatible function types from 'v8::WeakCallbackInfo::Callback' {aka 'void ()(const v8::WeakCallbackInfo&)'} to 'Callback' {aka 'void ()(const v8::WeakCallbackInfo&)'} [-Wcast-function-type] 28 Feb 12:32:31 - [debug] [out] CXX(target) Release/obj.target/bindings/src/serialport_unix.o 28 Feb 12:32:34 - [debug] [err] In file included from /root/.cache/node-gyp/10.23.2/include/node/node.h:63, 28 Feb 12:32:34 - [debug] [err] from ../../../nan/nan.h:56, 28 Feb 12:32:34 - [debug] [err] from ../src/serialport.h:6, 28 Feb 12:32:34 - [debug] [err] from ../src/serialport_unix.cpp:2: 28 Feb 12:32:34 - [debug] [err] /root/.cache/node-gyp/10.23.2/include/node/v8.h: In instantiation of 'void v8::PersistentBase::SetWeak(P, typename v8::WeakCallbackInfo

::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo

::Callback = void ()(const v8::WeakCallbackInfo&)]': 28 Feb 12:32:34 - [debug] [err] /root/.cache/node-gyp/10.23.2/include/node/node_object_wrap.h:84:78: required from here 28 Feb 12:32:34 - [debug] [err] /root/.cache/node-gyp/10.23.2/include/node/v8.h:9502:16: warning: cast between incompatible function types from 'v8::WeakCallbackInfo::Callback' {aka 'void ()(const v8::WeakCallbackInfo&)'} to 'Callback' {aka 'void ()(const v8::WeakCallbackInfo&)'} [-Wcast-function-type] 28 Feb 12:32:34 - [debug] [err] 9502 | reinterpret_cast(callback), type); 28 Feb 12:32:34 - [debug] [err] | ^~~~~~~~ 28 Feb 12:32:34 - [debug] [err] /root/.cache/node-gyp/10.23.2/include/node/v8.h: In instantiation of 'void v8::PersistentBase::SetWeak(P, typename v8::WeakCallbackInfo

::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo

::Callback = void ()(const v8::WeakCallbackInfo&)]': 28 Feb 12:32:34 - [debug] [err] ../../../nan/nan_object_wrap.h:65:61: required from here 28 Feb 12:32:34 - [debug] [err] /root/.cache/node-gyp/10.23.2/include/node/v8.h:9502:16: warning: cast between incompatible function types from 'v8::WeakCallbackInfo::Callback' {aka 'void ()(const v8::WeakCallbackInfo&)'} to 'Callback' {aka 'void ()(const v8::WeakCallbackInfo&)'} [-Wcast-function-type] 28 Feb 12:32:35 - [debug] [out] CXX(target) Release/obj.target/bindings/src/poller.o 28 Feb 12:32:38 - [debug] [err] In file included from /root/.cache/node-gyp/10.23.2/include/node/node.h:63, 28 Feb 12:32:38 - [debug] [err] from ../../../nan/nan.h:56, 28 Feb 12:32:38 - [debug] [err] from ../src/poller.cpp:1: 28 Feb 12:32:38 - [debug] [err] /root/.cache/node-gyp/10.23.2/include/node/v8.h: In instantiation of 'void v8::PersistentBase::SetWeak(P, typename v8::WeakCallbackInfo

::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo

::Callback = void ()(const v8::WeakCallbackInfo&)]': 28 Feb 12:32:38 - [debug] [err] /root/.cache/node-gyp/10.23.2/include/node/node_object_wrap.h:84:78: required from here 28 Feb 12:32:38 - [debug] [err] /root/.cache/node-gyp/10.23.2/include/node/v8.h:9502:16: warning: cast between incompatible function types from 'v8::WeakCallbackInfo::Callback' {aka 'void ()(const v8::WeakCallbackInfo&)'} to 'Callback' {aka 'void ()(const v8::WeakCallbackInfo&)'} [-Wcast-function-type] 28 Feb 12:32:38 - [debug] [err] 9502 | reinterpret_cast(callback), type); 28 Feb 12:32:38 - [debug] [err] | ^~~~~~~~ 28 Feb 12:32:38 - [debug] [err] /root/.cache/node-gyp/10.23.2/include/node/v8.h: In instantiation of 'void v8::PersistentBase::SetWeak(P, typename v8::WeakCallbackInfo

::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo

::Callback = void ()(const v8::WeakCallbackInfo&)]': 28 Feb 12:32:38 - [debug] [err] ../../../nan/nan_object_wrap.h:65:61: required from here 28 Feb 12:32:38 - [debug] [err] /root/.cache/node-gyp/10.23.2/include/node/v8.h:9502:16: warning: cast between incompatible function types from 'v8::WeakCallbackInfo::Callback' {aka 'void ()(const v8::WeakCallbackInfo&)'} to 'Callback' {aka 'void ()(const v8::WeakCallbackInfo&)'} [-Wcast-function-type] 28 Feb 12:32:41 - [debug] [out] CXX(target) Release/obj.target/bindings/src/serialport_linux.o 28 Feb 12:32:41 - [debug] [out] SOLINK_MODULE(target) Release/obj.target/bindings.node 28 Feb 12:32:41 - [debug] [out] COPY Release/bindings.node 28 Feb 12:32:41 - [debug] [out] make: Leaving directory '/data/node_modules/zigbee-herdsman/node_modules/@serialport/bindings/build' 28 Feb 12:32:45 - [debug] [out] 28 Feb 12:32:45 - [debug] [out] > serialport@9.0.3 postinstall /data/node_modules/zigbee-herdsman-converters/node_modules/zigbee-herdsman/node_modules/serialport 28 Feb 12:32:45 - [debug] [out] > node thank-you.js 28 Feb 12:32:45 - [debug] [out] 28 Feb 12:32:45 - [debug] [out] Thank you for using serialport! 28 Feb 12:32:45 - [debug] [out] If you rely on this package, please consider supporting our open collective: 28 Feb 12:32:45 - [debug] [out] > https://opencollective.com/serialport/donate 28 Feb 12:32:45 - [debug] [out] 28 Feb 12:32:45 - [debug] [out] 28 Feb 12:32:47 - [debug] [out] 28 Feb 12:32:47 - [debug] [out] > serialport@9.0.3 postinstall /data/node_modules/zigbee-herdsman/node_modules/serialport 28 Feb 12:32:47 - [debug] [out] > node thank-you.js 28 Feb 12:32:47 - [debug] [out] 28 Feb 12:32:47 - [debug] [out] Thank you for using serialport! 28 Feb 12:32:47 - [debug] [out] If you rely on this package, please consider supporting our open collective: 28 Feb 12:32:47 - [debug] [out] > https://opencollective.com/serialport/donate 28 Feb 12:32:47 - [debug] [out] 28 Feb 12:32:47 - [debug] [out] 28 Feb 12:32:58 - [debug] [err] npm 28 Feb 12:32:58 - [debug] [err] WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.1.3 (node_modules/zigbee-herdsman/node_modules/fsevents): 28 Feb 12:32:58 - [debug] [err] npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm"}) 28 Feb 12:32:58 - [debug] [err] npm 28 Feb 12:32:58 - [debug] [err] WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.1.3 (node_modules/zigbee-herdsman-converters/node_modules/zigbee-herdsman/node_modules/fsevents): 28 Feb 12:32:58 - [debug] [err] npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm"}) 28 Feb 12:32:58 - [debug] [err] npm 28 Feb 12:32:58 - [debug] [err] WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.2.1 (node_modules/zigbee-herdsman-converters/node_modules/fsevents): 28 Feb 12:32:58 - [debug] [err] npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.2.1: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm"}) 28 Feb 12:32:58 - [debug] [err] 28 Feb 12:32:58 - [debug] [out] + node-red-contrib-zigbee@0.20.2 28 Feb 12:32:58 - [debug] [out] added 2622 packages from 513 contributors in 213.763s 28 Feb 12:32:58 - [debug] rc=0 28 Feb 12:32:58 - [info] Installed module: node-red-contrib-zigbee 28 Feb 12:32:58 - [info] Missing type registered: zigbee-controller 28 Feb 12:33:00 - [info] Missing type registered: zigbee-converter 28 Feb 12:33:00 - [info] Missing type registered: zigbee-offline 28 Feb 12:33:00 - [info] Missing type registered: zigbee-shepherd 28 Feb 12:33:00 - [info] Starting flows 28 Feb 12:33:00 - [debug] red/nodes/flows.start : starting flow : global 28 Feb 12:33:00 - [debug] red/nodes/flows.start : starting flow : 779294db.e6ee1c 28 Feb 12:33:00 - [info] [zigbee-shepherd:zigbee herdsman] Herdsman version: v0.13.40 28 Feb 12:33:00 - [info] [zigbee-shepherd:zigbee herdsman] Converters version: v13.0.38 28 Feb 12:33:00 - [info] [zigbee-shepherd:zigbee herdsman] persistPath /data/zigbee/2c23fd8f.e8a7e2 28 Feb 12:33:00 - [debug] [zigbee-shepherd:zigbee herdsman] creating new herdsman instance 28 Feb 12:33:00 - [debug] [zigbee-shepherd:zigbee herdsman] removed deviceAnnounce listener 28 Feb 12:33:00 - [debug] [zigbee-shepherd:zigbee herdsman] removed deviceLeave listener 28 Feb 12:33:00 - [debug] [zigbee-shepherd:zigbee herdsman] removed adapterDisconnected listener 28 Feb 12:33:00 - [debug] [zigbee-shepherd:zigbee herdsman] removed deviceJoined listener 28 Feb 12:33:00 - [debug] [zigbee-shepherd:zigbee herdsman] removed deviceInterview listener 28 Feb 12:33:00 - [debug] [zigbee-shepherd:zigbee herdsman] removed message listener 28 Feb 12:33:00 - [info] [zigbee-shepherd:zigbee herdsman] connecting /dev/ttyACM0 undefined 28 Feb 12:33:00 - [debug] [zigbee-controller:controller] adding event listeners 28 Feb 12:33:00 - [debug] [zigbee-converter:9b12832.bf14a8] adding event listeners 28 Feb 12:33:00 - [debug] [zigbee-offline:3a5a7ab7.fbcef6] adding event listeners 28 Feb 12:33:00 - [info] Started flows 28 Feb 12:33:01 - [info] Added node types: 28 Feb 12:33:01 - [info] - node-red-contrib-zigbee:zigbee-shepherd 28 Feb 12:33:01 - [info] - node-red-contrib-zigbee:zigbee-controller 28 Feb 12:33:01 - [info] - node-red-contrib-zigbee:zigbee-converter 28 Feb 12:33:01 - [info] - node-red-contrib-zigbee:zigbee-event 28 Feb 12:33:01 - [info] - node-red-contrib-zigbee:zigbee-command 28 Feb 12:33:01 - [info] - node-red-contrib-zigbee:zigbee-offline 28 Feb 12:33:01 - [info] - node-red-contrib-zigbee:zigbee-hue-light 28 Feb 12:33:01 - [info] - node-red-contrib-zigbee:zigbee-hue-device 28 Feb 12:33:02 - [error] [zigbee-controller:controller] TypeError: Cannot read property 'getEntries' of null 28 Feb 12:33:03 - [debug] [zigbee-shepherd:zigbee herdsman] add deviceAnnounce listener 28 Feb 12:33:03 - [debug] [zigbee-shepherd:zigbee herdsman] add deviceLeave listener 28 Feb 12:33:03 - [debug] [zigbee-shepherd:zigbee herdsman] add adapterDisconnected listener 28 Feb 12:33:03 - [debug] [zigbee-shepherd:zigbee herdsman] add deviceJoined listener 28 Feb 12:33:03 - [debug] [zigbee-shepherd:zigbee herdsman] add deviceInterview listener 28 Feb 12:33:03 - [debug] [zigbee-shepherd:zigbee herdsman] add message listener 28 Feb 12:33:03 - [info] [zigbee-shepherd:zigbee herdsman] Currently 0 devices are joined: 28 Feb 12:33:03 - [info] [zigbee-shepherd:zigbee herdsman] Zigbee network parameters: {"panID":4660,"extendedPanID":"0x5634129078563412","channel":11} 28 Feb 12:33:03 - [info] [zigbee-shepherd:zigbee herdsman] Coordinator: zStack12 2.6.3 20190608 28 Feb 12:33:03 - [debug] [zigbee-shepherd:zigbee herdsman] setLED successfully set disabled 28 Feb 12:36:00 - [info] [zigbee-shepherd:zigbee herdsman] permitJoin false

Please find below a device pairing logs

[root@rpi3 node-red1]# docker restart node-red ; docker logs -f node-red node-red 28 Feb 12:36:59 - [info] Stopping flows 28 Feb 12:36:59 - [debug] red/nodes/flows.stop : stopping flow : global 28 Feb 12:36:59 - [debug] [zigbee-shepherd:zigbee herdsman] stopping 28 Feb 12:36:59 - [debug] [zigbee-shepherd:zigbee herdsman] removed deviceAnnounce listener 28 Feb 12:36:59 - [debug] [zigbee-shepherd:zigbee herdsman] removed deviceLeave listener 28 Feb 12:36:59 - [debug] [zigbee-shepherd:zigbee herdsman] removed adapterDisconnected listener 28 Feb 12:36:59 - [debug] [zigbee-shepherd:zigbee herdsman] removed deviceJoined listener 28 Feb 12:36:59 - [debug] [zigbee-shepherd:zigbee herdsman] removed deviceInterview listener 28 Feb 12:36:59 - [debug] [zigbee-shepherd:zigbee herdsman] removed message listener 28 Feb 12:36:59 - [debug] red/nodes/flows.stop : stopping flow : 779294db.e6ee1c 28 Feb 12:36:59 - [debug] [zigbee-controller:controller] removing event listeners 28 Feb 12:36:59 - [debug] [zigbee-converter:9b12832.bf14a8] removing event listeners 28 Feb 12:36:59 - [debug] [zigbee-offline:3a5a7ab7.fbcef6] removing event listeners 28 Feb 12:36:59 - [debug] [zigbee-shepherd:zigbee herdsman] stopped shepherd 28 Feb 12:36:59 - [debug] [zigbee-shepherd:zigbee herdsman] remaining proxy listeners for event nodeStatus 0 28 Feb 12:36:59 - [debug] [zigbee-shepherd:zigbee herdsman] remaining proxy listeners for event ready 0 28 Feb 12:36:59 - [debug] [zigbee-shepherd:zigbee herdsman] remaining proxy listeners for event devices 0 28 Feb 12:36:59 - [debug] [zigbee-shepherd:zigbee herdsman] remaining proxy listeners for event permitJoin 0 28 Feb 12:36:59 - [debug] [zigbee-shepherd:zigbee herdsman] remaining proxy listeners for event message 0 28 Feb 12:36:59 - [debug] [zigbee-shepherd:zigbee herdsman] remaining proxy listeners removed 28 Feb 12:36:59 - [info] Stopped flows

node-red-docker@1.2.9 start /usr/src/node-red node $NODE_OPTIONS node_modules/node-red/red.js $FLOWS "--userDir" "/data"

28 Feb 12:37:07 - [info]

Welcome to Node-RED

28 Feb 12:37:07 - [info] Node-RED version: v1.2.9 28 Feb 12:37:07 - [info] Node.js version: v10.23.2 28 Feb 12:37:07 - [info] Linux 5.10.17-2-ARCH arm LE 28 Feb 12:37:08 - [info] Loading palette nodes 28 Feb 12:37:08 - [debug] Module: node-red-contrib-zigbee 0.20.2 28 Feb 12:37:08 - [debug] /data/node_modules/node-red-contrib-zigbee 28 Feb 12:37:08 - [debug] Module: node-red-node-rbe 0.2.9 28 Feb 12:37:08 - [debug] /usr/src/node-red/node_modules/node-red-node-rbe 28 Feb 12:37:08 - [debug] Module: node-red-node-tail 0.1.1 28 Feb 12:37:08 - [debug] /usr/src/node-red/node_modules/node-red-node-tail 28 Feb 12:37:12 - [info] Settings file : /data/settings.js 28 Feb 12:37:12 - [info] Context store : 'default' [module=memory] 28 Feb 12:37:12 - [info] User directory : /data 28 Feb 12:37:12 - [warn] Projects disabled : editorTheme.projects.enabled=false 28 Feb 12:37:12 - [info] Flows file : /data/flows.json 28 Feb 12:37:12 - [info] Server now running at http://127.0.0.1:1880/ 28 Feb 12:37:12 - [debug] loaded flow revision: b9ddad08e650c4c1aa0b7f3f6c925e38 28 Feb 12:37:12 - [debug] red/runtime/nodes/credentials.load : no user key present 28 Feb 12:37:12 - [debug] red/runtime/nodes/credentials.load : using default key 28 Feb 12:37:12 - [debug] red/runtime/nodes/credentials.load : keyType=system 28 Feb 12:37:12 - [warn]


Your flow credentials file is encrypted using a system-generated key.

If the system-generated key is lost for any reason, your credentials file will not be recoverable, you will have to delete it and re-enter your credentials.

You should set your own key using the 'credentialSecret' option in your settings file. Node-RED will then re-encrypt your credentials file using your chosen key the next time you deploy a change.

28 Feb 12:37:12 - [info] Starting flows 28 Feb 12:37:12 - [debug] red/nodes/flows.start : starting flow : global 28 Feb 12:37:13 - [debug] red/nodes/flows.start : starting flow : 779294db.e6ee1c 28 Feb 12:37:13 - [info] [zigbee-shepherd:zigbee herdsman] Herdsman version: v0.13.40 28 Feb 12:37:13 - [info] [zigbee-shepherd:zigbee herdsman] Converters version: v13.0.38 28 Feb 12:37:13 - [info] [zigbee-shepherd:zigbee herdsman] persistPath /data/zigbee/2c23fd8f.e8a7e2 28 Feb 12:37:13 - [debug] [zigbee-shepherd:zigbee herdsman] creating new herdsman instance 28 Feb 12:37:13 - [debug] [zigbee-shepherd:zigbee herdsman] removed deviceAnnounce listener 28 Feb 12:37:13 - [debug] [zigbee-shepherd:zigbee herdsman] removed deviceLeave listener 28 Feb 12:37:13 - [debug] [zigbee-shepherd:zigbee herdsman] removed adapterDisconnected listener 28 Feb 12:37:13 - [debug] [zigbee-shepherd:zigbee herdsman] removed deviceJoined listener 28 Feb 12:37:13 - [debug] [zigbee-shepherd:zigbee herdsman] removed deviceInterview listener 28 Feb 12:37:13 - [debug] [zigbee-shepherd:zigbee herdsman] removed message listener 28 Feb 12:37:13 - [info] [zigbee-shepherd:zigbee herdsman] connecting /dev/ttyACM0 undefined 28 Feb 12:37:13 - [debug] [zigbee-controller:controller] adding event listeners 28 Feb 12:37:13 - [debug] [zigbee-converter:9b12832.bf14a8] adding event listeners 28 Feb 12:37:13 - [debug] [zigbee-offline:3a5a7ab7.fbcef6] adding event listeners 28 Feb 12:37:13 - [info] Started flows 28 Feb 12:37:15 - [error] [zigbee-controller:controller] TypeError: Cannot read property 'getEntries' of null 28 Feb 12:37:15 - [debug] [zigbee-shepherd:zigbee herdsman] add deviceAnnounce listener 28 Feb 12:37:15 - [debug] [zigbee-shepherd:zigbee herdsman] add deviceLeave listener 28 Feb 12:37:15 - [debug] [zigbee-shepherd:zigbee herdsman] add adapterDisconnected listener 28 Feb 12:37:15 - [debug] [zigbee-shepherd:zigbee herdsman] add deviceJoined listener 28 Feb 12:37:15 - [debug] [zigbee-shepherd:zigbee herdsman] add deviceInterview listener 28 Feb 12:37:15 - [debug] [zigbee-shepherd:zigbee herdsman] add message listener 28 Feb 12:37:15 - [info] [zigbee-shepherd:zigbee herdsman] Currently 0 devices are joined: 28 Feb 12:37:15 - [info] [zigbee-shepherd:zigbee herdsman] Zigbee network parameters: {"panID":4660,"extendedPanID":"0x5634129078563412","channel":11} 28 Feb 12:37:15 - [info] [zigbee-shepherd:zigbee herdsman] Coordinator: zStack12 2.6.3 20190608 28 Feb 12:37:15 - [debug] [zigbee-shepherd:zigbee herdsman] setLED successfully set disabled 28 Feb 12:37:31 - [info] [zigbee-shepherd:zigbee herdsman] permitJoin true 28 Feb 12:37:51 - [info] [zigbee-shepherd:zigbee herdsman] deviceLeave 0x00158d00044f8243 28 Feb 12:37:53 - [info] [zigbee-shepherd:zigbee herdsman] deviceJoined 0x00158d00044f8243 28 Feb 12:37:53 - [info] [zigbee-shepherd:zigbee herdsman] deviceInterview started 0x00158d00044f8243 28 Feb 12:37:54 - [info] [zigbee-shepherd:zigbee herdsman] deviceAnnounce 0x00158d00044f8243 28 Feb 12:37:54 - [debug] [zigbee-shepherd:zigbee herdsman] message attributeReport 0x00158d00044f8243 28 Feb 12:37:54 - [debug] [zigbee-offline:3a5a7ab7.fbcef6] 0x00158d00044f8243 undefined offline=false 28 Feb 12:37:55 - [debug] [zigbee-shepherd:zigbee herdsman] message attributeReport 0x00158d00044f8243 28 Feb 12:37:59 - [debug] [zigbee-shepherd:zigbee herdsman] message attributeReport 0x00158d00044f8243 28 Feb 12:37:59 - [debug] [zigbee-shepherd:zigbee herdsman] message attributeReport 0x00158d00044f8243 28 Feb 12:37:59 - [debug] [zigbee-shepherd:zigbee herdsman] message attributeReport 0x00158d00044f8243 28 Feb 12:38:03 - [debug] [zigbee-shepherd:zigbee herdsman] message attributeReport 0x00158d00044f8243 28 Feb 12:38:03 - [debug] [zigbee-shepherd:zigbee herdsman] message attributeReport 0x00158d00044f8243 28 Feb 12:38:03 - [debug] [zigbee-shepherd:zigbee herdsman] message attributeReport 0x00158d00044f8243 28 Feb 12:38:06 - [debug] [zigbee-shepherd:zigbee herdsman] message readResponse 0x00158d00044f8243 28 Feb 12:38:06 - [debug] [zigbee-shepherd:zigbee herdsman] message attributeReport 0x00158d00044f8243 28 Feb 12:38:06 - [debug] [zigbee-shepherd:zigbee herdsman] message attributeReport 0x00158d00044f8243 28 Feb 12:38:06 - [debug] [zigbee-shepherd:zigbee herdsman] message attributeReport 0x00158d00044f8243 28 Feb 12:38:09 - [debug] [zigbee-shepherd:zigbee herdsman] message readResponse 0x00158d00044f8243 28 Feb 12:38:16 - [debug] [zigbee-shepherd:zigbee herdsman] message readResponse 0x00158d00044f8243 28 Feb 12:38:19 - [debug] [zigbee-shepherd:zigbee herdsman] message readResponse 0x00158d00044f8243 28 Feb 12:38:22 - [debug] [zigbee-shepherd:zigbee herdsman] message readResponse 0x00158d00044f8243 28 Feb 12:38:26 - [debug] [zigbee-shepherd:zigbee herdsman] message readResponse 0x00158d00044f8243 28 Feb 12:38:29 - [debug] [zigbee-shepherd:zigbee herdsman] message readResponse 0x00158d00044f8243 28 Feb 12:38:29 - [info] [zigbee-shepherd:zigbee herdsman] deviceInterview successful 0x00158d00044f8243 LUMI lumi.weather 28 Feb 12:38:57 - [debug] [zigbee-shepherd:zigbee herdsman] message attributeReport 0x00158d00044f8243 28 Feb 12:38:57 - [debug] [zigbee-shepherd:zigbee herdsman] message attributeReport 0x00158d00044f8243 28 Feb 12:38:57 - [debug] [zigbee-shepherd:zigbee herdsman] message attributeReport 0x00158d00044f8243

Please find below the log after restart, no device paired

[root@rpi3 node-red1]# docker restart node-red ; docker logs -f node-red node-red 28 Feb 12:39:57 - [info] Stopping flows 28 Feb 12:39:57 - [debug] red/nodes/flows.stop : stopping flow : global 28 Feb 12:39:57 - [debug] [zigbee-shepherd:zigbee herdsman] stopping 28 Feb 12:39:57 - [debug] [zigbee-shepherd:zigbee herdsman] removed deviceAnnounce listener 28 Feb 12:39:57 - [debug] [zigbee-shepherd:zigbee herdsman] removed deviceLeave listener 28 Feb 12:39:57 - [debug] [zigbee-shepherd:zigbee herdsman] removed adapterDisconnected listener 28 Feb 12:39:57 - [debug] [zigbee-shepherd:zigbee herdsman] removed deviceJoined listener 28 Feb 12:39:57 - [debug] [zigbee-shepherd:zigbee herdsman] removed deviceInterview listener 28 Feb 12:39:57 - [debug] [zigbee-shepherd:zigbee herdsman] removed message listener 28 Feb 12:39:57 - [debug] red/nodes/flows.stop : stopping flow : 779294db.e6ee1c 28 Feb 12:39:57 - [debug] [zigbee-controller:controller] removing event listeners 28 Feb 12:39:57 - [debug] [zigbee-converter:9b12832.bf14a8] removing event listeners 28 Feb 12:39:57 - [debug] [zigbee-offline:3a5a7ab7.fbcef6] removing event listeners 28 Feb 12:39:58 - [debug] [zigbee-shepherd:zigbee herdsman] stopped shepherd 28 Feb 12:39:58 - [debug] [zigbee-shepherd:zigbee herdsman] remaining proxy listeners for event nodeStatus 0 28 Feb 12:39:58 - [debug] [zigbee-shepherd:zigbee herdsman] remaining proxy listeners for event ready 0 28 Feb 12:39:58 - [debug] [zigbee-shepherd:zigbee herdsman] remaining proxy listeners for event devices 0 28 Feb 12:39:58 - [debug] [zigbee-shepherd:zigbee herdsman] remaining proxy listeners for event permitJoin 0 28 Feb 12:39:58 - [debug] [zigbee-shepherd:zigbee herdsman] remaining proxy listeners for event message 0 28 Feb 12:39:58 - [debug] [zigbee-shepherd:zigbee herdsman] remaining proxy listeners removed 28 Feb 12:39:58 - [info] Stopped flows

node-red-docker@1.2.9 start /usr/src/node-red node $NODE_OPTIONS node_modules/node-red/red.js $FLOWS "--userDir" "/data"

28 Feb 12:40:04 - [info]

Welcome to Node-RED

28 Feb 12:40:04 - [info] Node-RED version: v1.2.9 28 Feb 12:40:04 - [info] Node.js version: v10.23.2 28 Feb 12:40:04 - [info] Linux 5.10.17-2-ARCH arm LE 28 Feb 12:40:06 - [info] Loading palette nodes 28 Feb 12:40:06 - [debug] Module: node-red-contrib-zigbee 0.20.2 28 Feb 12:40:06 - [debug] /data/node_modules/node-red-contrib-zigbee 28 Feb 12:40:06 - [debug] Module: node-red-node-rbe 0.2.9 28 Feb 12:40:06 - [debug] /usr/src/node-red/node_modules/node-red-node-rbe 28 Feb 12:40:06 - [debug] Module: node-red-node-tail 0.1.1 28 Feb 12:40:06 - [debug] /usr/src/node-red/node_modules/node-red-node-tail 28 Feb 12:40:10 - [info] Settings file : /data/settings.js 28 Feb 12:40:10 - [info] Context store : 'default' [module=memory] 28 Feb 12:40:10 - [info] User directory : /data 28 Feb 12:40:10 - [warn] Projects disabled : editorTheme.projects.enabled=false 28 Feb 12:40:10 - [info] Flows file : /data/flows.json 28 Feb 12:40:10 - [debug] loaded flow revision: b9ddad08e650c4c1aa0b7f3f6c925e38 28 Feb 12:40:10 - [debug] red/runtime/nodes/credentials.load : no user key present 28 Feb 12:40:10 - [debug] red/runtime/nodes/credentials.load : using default key 28 Feb 12:40:10 - [debug] red/runtime/nodes/credentials.load : keyType=system 28 Feb 12:40:10 - [warn]


Your flow credentials file is encrypted using a system-generated key.

If the system-generated key is lost for any reason, your credentials file will not be recoverable, you will have to delete it and re-enter your credentials.

You should set your own key using the 'credentialSecret' option in your settings file. Node-RED will then re-encrypt your credentials file using your chosen key the next time you deploy a change.

28 Feb 12:40:10 - [info] Starting flows 28 Feb 12:40:10 - [debug] red/nodes/flows.start : starting flow : global 28 Feb 12:40:10 - [debug] red/nodes/flows.start : starting flow : 779294db.e6ee1c 28 Feb 12:40:10 - [info] [zigbee-shepherd:zigbee herdsman] Herdsman version: v0.13.40 28 Feb 12:40:10 - [info] [zigbee-shepherd:zigbee herdsman] Converters version: v13.0.38 28 Feb 12:40:10 - [info] [zigbee-shepherd:zigbee herdsman] persistPath /data/zigbee/2c23fd8f.e8a7e2 28 Feb 12:40:10 - [debug] [zigbee-shepherd:zigbee herdsman] creating new herdsman instance 28 Feb 12:40:10 - [debug] [zigbee-shepherd:zigbee herdsman] removed deviceAnnounce listener 28 Feb 12:40:10 - [debug] [zigbee-shepherd:zigbee herdsman] removed deviceLeave listener 28 Feb 12:40:10 - [debug] [zigbee-shepherd:zigbee herdsman] removed adapterDisconnected listener 28 Feb 12:40:10 - [debug] [zigbee-shepherd:zigbee herdsman] removed deviceJoined listener 28 Feb 12:40:10 - [debug] [zigbee-shepherd:zigbee herdsman] removed deviceInterview listener 28 Feb 12:40:10 - [debug] [zigbee-shepherd:zigbee herdsman] removed message listener 28 Feb 12:40:10 - [info] [zigbee-shepherd:zigbee herdsman] connecting /dev/ttyACM0 undefined 28 Feb 12:40:10 - [debug] [zigbee-controller:controller] adding event listeners 28 Feb 12:40:10 - [debug] [zigbee-converter:9b12832.bf14a8] adding event listeners 28 Feb 12:40:10 - [debug] [zigbee-offline:3a5a7ab7.fbcef6] adding event listeners 28 Feb 12:40:10 - [info] Started flows 28 Feb 12:40:10 - [info] Server now running at http://127.0.0.1:1880/ 28 Feb 12:40:12 - [error] [zigbee-controller:controller] TypeError: Cannot read property 'getEntries' of null 28 Feb 12:40:13 - [debug] [zigbee-shepherd:zigbee herdsman] add deviceAnnounce listener 28 Feb 12:40:13 - [debug] [zigbee-shepherd:zigbee herdsman] add deviceLeave listener 28 Feb 12:40:13 - [debug] [zigbee-shepherd:zigbee herdsman] add adapterDisconnected listener 28 Feb 12:40:13 - [debug] [zigbee-shepherd:zigbee herdsman] add deviceJoined listener 28 Feb 12:40:13 - [debug] [zigbee-shepherd:zigbee herdsman] add deviceInterview listener 28 Feb 12:40:13 - [debug] [zigbee-shepherd:zigbee herdsman] add message listener 28 Feb 12:40:13 - [info] [zigbee-shepherd:zigbee herdsman] Currently 0 devices are joined: 28 Feb 12:40:13 - [info] [zigbee-shepherd:zigbee herdsman] Zigbee network parameters: {"panID":4660,"extendedPanID":"0x5634129078563412","channel":11} 28 Feb 12:40:13 - [info] [zigbee-shepherd:zigbee herdsman] Coordinator: zStack12 2.6.3 20190608 28 Feb 12:40:13 - [debug] [zigbee-shepherd:zigbee herdsman] setLED successfully set disabled 28 Feb 12:40:23 - [info] [zigbee-shepherd:zigbee herdsman] permitJoin false

Thanks

Sineos commented 3 years ago

Looks like dependencies of the zigbee-node are not correctly installed. You need to provide full nodejs and (iirc) Python 2 in your Docker env.

ckhmer1 commented 3 years ago

I use the latest official node-red image, the nodered/node-red:latest. Up to the next week, all was working fine. Have You some suggestions on how to fix the problem? Thanks

Sineos commented 3 years ago

I have no experience running it in docker:

The path where the zigbee-node saves its device database /data/zigbee/2c23fd8f.e8a7e2 This folder is dynamically created. Make sure it exists, is writeable and persistent across docker restarts.

If you want to start fresh:

ckhmer1 commented 3 years ago

Hi, this is what I've done. I think it is a common problem, see also issue #144

Sineos commented 3 years ago

It surely is not a common problem. I run an installation with Rasperrymatic since over 1 year with countless reboots.

I had instances where my paired devices where gone but it was always my fault, e.g. switching coordinator, wrong network settings etc.

We also had some reports here and all where user / installation topics.

Sineos commented 3 years ago

Attach your dev.db file here:

ckhmer1 commented 3 years ago

Hi, for some reason the zigbee/2c23fd8f.e8a7e2/dev.db contains several copy of the coordinator, please find below the content:

{"id":1,"type":"Coordinator","ieeeAddr":"0x00124b000be8a559","nwkAddr":0,"manufId":0,"epList":[242,47,13,12,110,11,10,8,6,5,4,3,2,1],"endpoints":{"1":{"profId":260,"epId":1,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"2":{"profId":257,"epId":2,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"3":{"profId":261,"epId":3,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"4":{"profId":263,"epId":4,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"5":{"profId":264,"epId":5,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"6":{"profId":265,"epId":6,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"8":{"profId":260,"epId":8,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"10":{"profId":260,"epId":10,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"11":{"profId":260,"epId":11,"devId":1024,"inClusterList":[1281],"outClusterList":[1280,1282],"clusters":{},"binds":[],"meta":{}},"12":{"profId":49246,"epId":12,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"13":{"profId":260,"epId":13,"devId":5,"inClusterList":[25],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"47":{"profId":260,"epId":47,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"110":{"profId":260,"epId":110,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"242":{"profId":41440,"epId":242,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}}},"interviewCompleted":true,"meta":{"name":"Coordinator","isCoordinator":true,"version":"2.6.3","revision":20190608,"type":"zStack12"},"lastSeen":null} {"id":2,"type":"EndDevice","ieeeAddr":"0x00158d00044f8243","nwkAddr":53750,"manufId":4151,"manufName":"LUMI","powerSource":"Battery","modelId":"lumi.weather","epList":[1],"endpoints":{"1":{"profId":260,"epId":1,"devId":24321,"inClusterList":[0,3,65535,1026,1027,1029],"outClusterList":[0,4,65535],"clusters":{"msTemperatureMeasurement":{"attributes":{"measuredValue":2030}},"msRelativeHumidity":{"attributes":{"measuredValue":6881}},"msPressureMeasurement":{"attributes":{"measuredValue":1017,"scale":-1,"scaledValue":10175}},"genBasic":{"attributes":{"manufacturerName":"LUMI","powerSource":3,"zclVersion":1,"stackVersion":2,"hwVersion":30,"dateCode":"20161129","swBuildId":"3000-0001"}}},"binds":[],"meta":{}}},"appVersion":3,"stackVersion":2,"hwVersion":30,"dateCode":"20161129","swBuildId":"3000-0001","zclVersion":1,"interviewCompleted":true,"meta":{"name":"Sensore Cucina"},"lastSeen":1614451522984} {"id":3,"type":"Coordinator","ieeeAddr":"0x00124b000be8a559","nwkAddr":0,"manufId":0,"epList":[242,47,13,12,110,11,10,8,6,5,4,3,2,1],"endpoints":{"1":{"profId":260,"epId":1,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"2":{"profId":257,"epId":2,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"3":{"profId":261,"epId":3,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"4":{"profId":263,"epId":4,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"5":{"profId":264,"epId":5,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"6":{"profId":265,"epId":6,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"8":{"profId":260,"epId":8,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"10":{"profId":260,"epId":10,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"11":{"profId":260,"epId":11,"devId":1024,"inClusterList":[1281],"outClusterList":[1280,1282],"clusters":{},"binds":[],"meta":{}},"12":{"profId":49246,"epId":12,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"13":{"profId":260,"epId":13,"devId":5,"inClusterList":[25],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"47":{"profId":260,"epId":47,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"110":{"profId":260,"epId":110,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"242":{"profId":41440,"epId":242,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}}},"interviewCompleted":true,"meta":{"name":"Coordinator","isCoordinator":true,"version":"2.6.3","revision":20190608,"type":"zStack12"},"lastSeen":null} {"id":4,"type":"Coordinator","ieeeAddr":"0x00124b000be8a559","nwkAddr":0,"manufId":0,"epList":[242,47,13,12,110,11,10,8,6,5,4,3,2,1],"endpoints":{"1":{"profId":260,"epId":1,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"2":{"profId":257,"epId":2,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"3":{"profId":261,"epId":3,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"4":{"profId":263,"epId":4,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"5":{"profId":264,"epId":5,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"6":{"profId":265,"epId":6,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"8":{"profId":260,"epId":8,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"10":{"profId":260,"epId":10,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"11":{"profId":260,"epId":11,"devId":1024,"inClusterList":[1281],"outClusterList":[1280,1282],"clusters":{},"binds":[],"meta":{}},"12":{"profId":49246,"epId":12,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"13":{"profId":260,"epId":13,"devId":5,"inClusterList":[25],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"47":{"profId":260,"epId":47,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"110":{"profId":260,"epId":110,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"242":{"profId":41440,"epId":242,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}}},"interviewCompleted":true,"meta":{},"lastSeen":null} {"id":5,"type":"Coordinator","ieeeAddr":"0x00124b000be8a559","nwkAddr":0,"manufId":0,"epList":[242,47,13,12,110,11,10,8,6,5,4,3,2,1],"endpoints":{"1":{"profId":260,"epId":1,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"2":{"profId":257,"epId":2,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"3":{"profId":261,"epId":3,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"4":{"profId":263,"epId":4,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"5":{"profId":264,"epId":5,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"6":{"profId":265,"epId":6,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"8":{"profId":260,"epId":8,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"10":{"profId":260,"epId":10,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"11":{"profId":260,"epId":11,"devId":1024,"inClusterList":[1281],"outClusterList":[1280,1282],"clusters":{},"binds":[],"meta":{}},"12":{"profId":49246,"epId":12,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"13":{"profId":260,"epId":13,"devId":5,"inClusterList":[25],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"47":{"profId":260,"epId":47,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"110":{"profId":260,"epId":110,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"242":{"profId":41440,"epId":242,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}}},"interviewCompleted":true,"meta":{},"lastSeen":null} {"id":6,"type":"Coordinator","ieeeAddr":"0x00124b000be8a559","nwkAddr":0,"manufId":0,"epList":[242,47,13,12,110,11,10,8,6,5,4,3,2,1],"endpoints":{"1":{"profId":260,"epId":1,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"2":{"profId":257,"epId":2,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"3":{"profId":261,"epId":3,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"4":{"profId":263,"epId":4,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"5":{"profId":264,"epId":5,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"6":{"profId":265,"epId":6,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"8":{"profId":260,"epId":8,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"10":{"profId":260,"epId":10,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"11":{"profId":260,"epId":11,"devId":1024,"inClusterList":[1281],"outClusterList":[1280,1282],"clusters":{},"binds":[],"meta":{}},"12":{"profId":49246,"epId":12,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"13":{"profId":260,"epId":13,"devId":5,"inClusterList":[25],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"47":{"profId":260,"epId":47,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"110":{"profId":260,"epId":110,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"242":{"profId":41440,"epId":242,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}}},"interviewCompleted":true,"meta":{"name":"Coordinator","isCoordinator":true,"version":"2.6.3","revision":20190608,"type":"zStack12"},"lastSeen":1614528123346} {"id":7,"type":"EndDevice","ieeeAddr":"0x000d6ffffe344802","nwkAddr":1904,"manufId":4476,"modelId":"TRADFRI motion sensor","epList":[1],"endpoints":{"1":{"profId":260,"epId":1,"devId":2128,"inClusterList":[0,1,3,9,32,4096,64636],"outClusterList":[3,4,6,8,25,4096],"clusters":{"genBasic":{"attributes":{"modelId":"TRADFRI motion sensor","stackVersion":98,"hwVersion":1,"dateCode":"20190308","swBuildId":"2.0.022"}}},"binds":[],"meta":{}}},"stackVersion":98,"hwVersion":1,"dateCode":"20190308","swBuildId":"2.0.022","interviewCompleted":true,"meta":{"offline":false},"lastSeen":1614582371077} {"id":8,"type":"Coordinator","ieeeAddr":"0x00124b000be8a559","nwkAddr":0,"manufId":0,"epList":[242,47,13,12,110,11,10,8,6,5,4,3,2,1],"endpoints":{"1":{"profId":260,"epId":1,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"2":{"profId":257,"epId":2,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"3":{"profId":261,"epId":3,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"4":{"profId":263,"epId":4,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"5":{"profId":264,"epId":5,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"6":{"profId":265,"epId":6,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"8":{"profId":260,"epId":8,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"10":{"profId":260,"epId":10,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"11":{"profId":260,"epId":11,"devId":1024,"inClusterList":[1281],"outClusterList":[1280,1282],"clusters":{},"binds":[],"meta":{}},"12":{"profId":49246,"epId":12,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"13":{"profId":260,"epId":13,"devId":5,"inClusterList":[25],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"47":{"profId":260,"epId":47,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"110":{"profId":260,"epId":110,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"242":{"profId":41440,"epId":242,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}}},"interviewCompleted":true,"meta":{"name":"Coordinator","isCoordinator":true,"version":"2.6.3","revision":20190608,"type":"zStack12"},"lastSeen":null} {"id":9,"type":"Unknown","ieeeAddr":"0x000d6ffffe344802","nwkAddr":1904,"epList":[],"endpoints":{},"interviewCompleted":false,"meta":{},"lastSeen":1614608367716} {"id":10,"type":"Coordinator","ieeeAddr":"0x00124b000be8a559","nwkAddr":0,"manufId":0,"epList":[242,47,13,12,110,11,10,8,6,5,4,3,2,1],"endpoints":{"1":{"profId":260,"epId":1,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"2":{"profId":257,"epId":2,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"3":{"profId":261,"epId":3,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"4":{"profId":263,"epId":4,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"5":{"profId":264,"epId":5,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"6":{"profId":265,"epId":6,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"8":{"profId":260,"epId":8,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"10":{"profId":260,"epId":10,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"11":{"profId":260,"epId":11,"devId":1024,"inClusterList":[1281],"outClusterList":[1280,1282],"clusters":{},"binds":[],"meta":{}},"12":{"profId":49246,"epId":12,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"13":{"profId":260,"epId":13,"devId":5,"inClusterList":[25],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"47":{"profId":260,"epId":47,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"110":{"profId":260,"epId":110,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"242":{"profId":41440,"epId":242,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}}},"interviewCompleted":true,"meta":{"name":"Coordinator","isCoordinator":true,"version":"2.6.3","revision":20190608,"type":"zStack12"},"lastSeen":null} {"id":11,"type":"Unknown","ieeeAddr":"0x000d6ffffe344802","nwkAddr":1904,"epList":[],"endpoints":{},"interviewCompleted":false,"meta":{},"lastSeen":1614609199618} {"id":12,"type":"Coordinator","ieeeAddr":"0x00124b000be8a559","nwkAddr":0,"manufId":0,"epList":[242,47,13,12,110,11,10,8,6,5,4,3,2,1],"endpoints":{"1":{"profId":260,"epId":1,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"2":{"profId":257,"epId":2,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"3":{"profId":261,"epId":3,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"4":{"profId":263,"epId":4,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"5":{"profId":264,"epId":5,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"6":{"profId":265,"epId":6,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"8":{"profId":260,"epId":8,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"10":{"profId":260,"epId":10,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"11":{"profId":260,"epId":11,"devId":1024,"inClusterList":[1281],"outClusterList":[1280,1282],"clusters":{},"binds":[],"meta":{}},"12":{"profId":49246,"epId":12,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"13":{"profId":260,"epId":13,"devId":5,"inClusterList":[25],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"47":{"profId":260,"epId":47,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"110":{"profId":260,"epId":110,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"242":{"profId":41440,"epId":242,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}}},"interviewCompleted":true,"meta":{"name":"Coordinator","isCoordinator":true,"version":"2.6.3","revision":20190608,"type":"zStack12"},"lastSeen":null} {"id":13,"type":"Unknown","ieeeAddr":"0x000d6ffffe344802","nwkAddr":1904,"epList":[],"endpoints":{},"interviewCompleted":false,"meta":{},"lastSeen":1614610672210} {"id":14,"type":"Coordinator","ieeeAddr":"0x00124b000be8a559","nwkAddr":0,"manufId":0,"epList":[242,47,13,12,110,11,10,8,6,5,4,3,2,1],"endpoints":{"1":{"profId":260,"epId":1,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"2":{"profId":257,"epId":2,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"3":{"profId":261,"epId":3,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"4":{"profId":263,"epId":4,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"5":{"profId":264,"epId":5,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"6":{"profId":265,"epId":6,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"8":{"profId":260,"epId":8,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"10":{"profId":260,"epId":10,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"11":{"profId":260,"epId":11,"devId":1024,"inClusterList":[1281],"outClusterList":[1280,1282],"clusters":{},"binds":[],"meta":{}},"12":{"profId":49246,"epId":12,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"13":{"profId":260,"epId":13,"devId":5,"inClusterList":[25],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"47":{"profId":260,"epId":47,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"110":{"profId":260,"epId":110,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"242":{"profId":41440,"epId":242,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}}},"interviewCompleted":true,"meta":{"name":"Coordinator","isCoordinator":true,"version":"2.6.3","revision":20190608,"type":"zStack12"},"lastSeen":null} {"id":15,"type":"Coordinator","ieeeAddr":"0x00124b000be8a559","nwkAddr":0,"manufId":0,"epList":[242,47,13,12,110,11,10,8,6,5,4,3,2,1],"endpoints":{"1":{"profId":260,"epId":1,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"2":{"profId":257,"epId":2,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"3":{"profId":261,"epId":3,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"4":{"profId":263,"epId":4,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"5":{"profId":264,"epId":5,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"6":{"profId":265,"epId":6,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"8":{"profId":260,"epId":8,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"10":{"profId":260,"epId":10,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"11":{"profId":260,"epId":11,"devId":1024,"inClusterList":[1281],"outClusterList":[1280,1282],"clusters":{},"binds":[],"meta":{}},"12":{"profId":49246,"epId":12,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"13":{"profId":260,"epId":13,"devId":5,"inClusterList":[25],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"47":{"profId":260,"epId":47,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"110":{"profId":260,"epId":110,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"242":{"profId":41440,"epId":242,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}}},"interviewCompleted":true,"meta":{"name":"Coordinator","isCoordinator":true,"version":"2.6.3","revision":20190608,"type":"zStack12"},"lastSeen":null} {"id":16,"type":"Unknown","ieeeAddr":"0x000d6ffffe344802","nwkAddr":1904,"epList":[],"endpoints":{},"interviewCompleted":false,"meta":{"name":"undefined"},"lastSeen":1614611836500} {"id":17,"type":"EndDevice","ieeeAddr":"0x00158d00044f8243","nwkAddr":41391,"manufId":4151,"manufName":"LUMI","powerSource":"Battery","modelId":"lumi.weather","epList":[1],"endpoints":{"1":{"profId":260,"epId":1,"devId":24321,"inClusterList":[0,3,65535,1026,1027,1029],"outClusterList":[0,4,65535],"clusters":{"msTemperatureMeasurement":{"attributes":{"measuredValue":2022}},"msRelativeHumidity":{"attributes":{"measuredValue":5350}},"msPressureMeasurement":{"attributes":{"measuredValue":1020,"scale":-1,"scaledValue":10209}},"genBasic":{"attributes":{"manufacturerName":"LUMI","powerSource":3,"zclVersion":1,"stackVersion":2,"hwVersion":30,"dateCode":"20161129","swBuildId":"3000-0001"}}},"binds":[],"meta":{}}},"appVersion":3,"stackVersion":2,"hwVersion":30,"dateCode":"20161129","swBuildId":"3000-0001","zclVersion":1,"interviewCompleted":true,"meta":{"name":"Presenza Corridoio"},"lastSeen":1614611859269} {"id":18,"type":"Coordinator","ieeeAddr":"0x00124b000be8a559","nwkAddr":0,"manufId":0,"epList":[242,47,13,12,110,11,10,8,6,5,4,3,2,1],"endpoints":{"1":{"profId":260,"epId":1,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"2":{"profId":257,"epId":2,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"3":{"profId":261,"epId":3,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"4":{"profId":263,"epId":4,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"5":{"profId":264,"epId":5,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"6":{"profId":265,"epId":6,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"8":{"profId":260,"epId":8,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"10":{"profId":260,"epId":10,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"11":{"profId":260,"epId":11,"devId":1024,"inClusterList":[1281],"outClusterList":[1280,1282],"clusters":{},"binds":[],"meta":{}},"12":{"profId":49246,"epId":12,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"13":{"profId":260,"epId":13,"devId":5,"inClusterList":[25],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"47":{"profId":260,"epId":47,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"110":{"profId":260,"epId":110,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"242":{"profId":41440,"epId":242,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}}},"interviewCompleted":true,"meta":{"name":"Coordinator","isCoordinator":true,"version":"2.6.3","revision":20190608,"type":"zStack12"},"lastSeen":null} {"id":19,"type":"Unknown","ieeeAddr":"0x000d6ffffe344802","nwkAddr":1904,"epList":[],"endpoints":{},"interviewCompleted":false,"meta":{},"lastSeen":1614611991379} {"id":20,"type":"Coordinator","ieeeAddr":"0x00124b000be8a559","nwkAddr":0,"manufId":0,"epList":[242,47,13,12,110,11,10,8,6,5,4,3,2,1],"endpoints":{"1":{"profId":260,"epId":1,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"2":{"profId":257,"epId":2,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"3":{"profId":261,"epId":3,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"4":{"profId":263,"epId":4,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"5":{"profId":264,"epId":5,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"6":{"profId":265,"epId":6,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"8":{"profId":260,"epId":8,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"10":{"profId":260,"epId":10,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"11":{"profId":260,"epId":11,"devId":1024,"inClusterList":[1281],"outClusterList":[1280,1282],"clusters":{},"binds":[],"meta":{}},"12":{"profId":49246,"epId":12,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"13":{"profId":260,"epId":13,"devId":5,"inClusterList":[25],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"47":{"profId":260,"epId":47,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"110":{"profId":260,"epId":110,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"242":{"profId":41440,"epId":242,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}}},"interviewCompleted":true,"meta":{"name":"Coordinator","isCoordinator":true,"version":"2.6.3","revision":20190608,"type":"zStack12"},"lastSeen":null}

fry42 commented 3 years ago

Hi, Got the same issue as ckhmer1. It seems a new db is created everytime changes are deployed? Anyway, one db contains the paired device, the next one doesn't. Then I re-paired it => got a db file with the device, in the next it is gone again... The new db only contains the coordinator.

My system: raspberrymatic 3.53.30.20201024 redmatic 7.1.3 node-red-contrib-zigbee 20.1

Update: I only have the coordinator once, so my case could be different...

dev.db without the device {"id":1,"type":"Coordinator","ieeeAddr":"0x00124b0021b49882","nwkAddr":0,"manufId":0,"epList":[242,47,13,12,110,11,10,8,6,5,4,3,2,1],"endpoints":{"1":{"profId":260,"epId":1,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"2":{"profId":257,"epId":2,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"3":{"profId":261,"epId":3,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"4":{"profId":263,"epId":4,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"5":{"profId":264,"epId":5,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"6":{"profId":265,"epId":6,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"8":{"profId":260,"epId":8,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"10":{"profId":260,"epId":10,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"11":{"profId":260,"epId":11,"devId":1024,"inClusterList":[1281],"outClusterList":[1280,1282],"clusters":{},"binds":[],"meta":{}},"12":{"profId":49246,"epId":12,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"13":{"profId":260,"epId":13,"devId":5,"inClusterList":[25],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"47":{"profId":260,"epId":47,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"110":{"profId":260,"epId":110,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"242":{"profId":41440,"epId":242,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}}},"interviewCompleted":true,"meta":{},"lastSeen":null}

dev.db with the 2nd device: {"id":1,"type":"Coordinator","ieeeAddr":"0x00124b0021b49882","nwkAddr":0,"manufId":0,"epList":[242,47,13,12,110,11,10,8,6,5,4,3,2,1],"endpoints":{"1":{"profId":260,"epId":1,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"2":{"profId":257,"epId":2,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"3":{"profId":261,"epId":3,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"4":{"profId":263,"epId":4,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"5":{"profId":264,"epId":5,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"6":{"profId":265,"epId":6,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"8":{"profId":260,"epId":8,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"10":{"profId":260,"epId":10,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"11":{"profId":260,"epId":11,"devId":1024,"inClusterList":[1281],"outClusterList":[1280,1282],"clusters":{},"binds":[],"meta":{}},"12":{"profId":49246,"epId":12,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"13":{"profId":260,"epId":13,"devId":5,"inClusterList":[25],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"47":{"profId":260,"epId":47,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"110":{"profId":260,"epId":110,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}},"242":{"profId":41440,"epId":242,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"meta":{}}},"interviewCompleted":true,"meta":{"name":"Coordinator","isCoordinator":true,"version":"2.7.1","revision":20210120,"type":"zStack3x0"},"lastSeen":null} {"id":2,"type":"Router","ieeeAddr":"0x5c0272fffedaa92f","nwkAddr":2934,"manufId":4098,"manufName":"_TYZB01_v8gtiaed","powerSource":"Mains (single phase)","modelId":"TS110F","epList":[1,2],"endpoints":{"1":{"profId":260,"epId":1,"devId":257,"inClusterList":[0,4,5,6,8],"outClusterList":[25,10],"clusters":{"genOnOff":{"attributes":{"onOff":1,"onTime":0}},"genBasic":{"attributes":{"modelId":"TS110F","manufacturerName":"_TYZB01_v8gtiaed","powerSource":1,"zclVersion":3,"appVersion":65,"stackVersion":0,"hwVersion":1,"dateCode":""}},"genLevelCtrl":{"attributes":{"64512":1023,"currentLevel":255}}},"binds":[],"meta":{}},"2":{"profId":260,"epId":2,"devId":257,"inClusterList":[4,5,6,8],"outClusterList":[],"clusters":{"genOnOff":{"attributes":{"onOff":1,"onTime":0}},"genLevelCtrl":{"attributes":{"64512":1023,"currentLevel":255}}},"binds":[],"meta":{}}},"appVersion":65,"stackVersion":0,"hwVersion":1,"dateCode":"","zclVersion":3,"interviewCompleted":true,"meta":{"offline":false,"name":"DImmmmm"},"lastSeen":1614609650650}

ckhmer1 commented 3 years ago

Hi, is it possible that if the user tries to change the device name via node configuration GUI (where there is the list of all paired devices) before a pairing for a device has been completed, the list is saved corrupted?

Also, in the sherpherd.js row 576 there is:

        this.log('connecting ' + this.config.path + ' ' + JSON.stringify(this.herdsmanOptions.sp));

but the herdsmanOptions structure doesn't contain the sp attribute.

Thanks again for your work. Claudio

ckhmer1 commented 3 years ago

Hi, I think I've found the problem. In my flow, I have an inject in the sending a getDevice to the controller just after 2 second from the startup.

Unfortunately, when the inject is fired, the database in the Zigbee herdsman module has not been injected yet (because the start() returns a promise and it has not been executed yet) (around row 120 in controller.ts of zigbee-herdsman module).

Because of this, the loadFromDatabaseIfNecessary function in model/device.ts of zigbee-herdsman module try to call

        const entries = Entity.database.getEntries(['Coordinator', 'EndDevice', 'Router', 'GreenPower', 'Unknown']);

but Entity.database is null, and goes in error, but Device.devices has been initialized, and never again the Entity.database.getEntries is called.

Below some logs, modified to find the problem:

Welcome to Node-RED

2 Mar 10:23:13 - [info] Node-RED version: v1.2.9 2 Mar 10:23:13 - [info] Node.js version: v10.23.2 2 Mar 10:23:13 - [info] Linux 5.10.17-2-ARCH arm LE 2 Mar 10:23:14 - [info] Loading palette nodes 2 Mar 10:23:22 - [info] Dashboard version 2.28.1 started at /ui 2 Mar 10:23:26 - [info] Settings file : /data/settings.js 2 Mar 10:23:26 - [info] Context store : 'default' [module=memory] 2 Mar 10:23:26 - [info] User directory : /data 2 Mar 10:23:26 - [warn] Projects disabled : editorTheme.projects.enabled=false 2 Mar 10:23:26 - [info] Flows file : /data/flows.json 2 Mar 10:23:26 - [info] Server now running at http://127.0.0.1:1880/ 2 Mar 10:23:26 - [info] Starting flows 2 Mar 10:23:26 - [info] [zigbee-shepherd:zigbee herdsman] Herdsman version: v0.13.40 2 Mar 10:23:26 - [info] [zigbee-shepherd:zigbee herdsman] Converters version: v13.0.21 2 Mar 10:23:26 - [info] [zigbee-shepherd:zigbee herdsman] persistPath /data/zigbee/2c23fd8f.e8a7e2 2 Mar 10:23:26 - [info] [zigbee-shepherd:zigbee herdsman] connecting /dev/ttyACM0 {"serialPort":{"adapter":"zstack","path":"/dev/ttyACM0","baudRate":115200,"rtscts":true},"network":{"panID":XXXXX ,"extendedPanID":[YYYYYYYY],"networkKey":[XXXXXXXXXXXXXX],"channelList":[11]},"databasePath":"/data/zigbee/2c23fd8f.e8a7e2/dev.db","backupPath":"/data/zigbee/2c23fd8f.e8a7e2/backup.db"} CCHI hersman controller start CCHI ZigbeeController getNode(config.shepherd) OK 2 Mar 10:23:26 - [error] [zigbee-controller:controller] CCHI ZigbeeController getNode(config.shepherd) OK CCHI ZigbeeConverter getNode(config.shepherd) OK CCHI ZigbeeEvent getNode(config.shepherd) OK CCHI ZigbeeOffline getNode(config.shepherd) OK 2 Mar 10:23:27 - [info] [alexa-home-controller:Alexa Controller] 0 - alexa-home - Starting SSDP 2 Mar 10:23:27 - [info] [alexa-home-controller:Alexa Controller] 0 - announcing: http://*:80/alexa-home/setup.xml 2 Mar 10:23:27 - [info] Assigning alexa-home nodes to this controller 2 Mar 10:23:27 - [info] Started flows 2 Mar 10:23:28 - [info] [aedes broker:5a99226e.6801ec] Binding aedes mqtt server on port: 1883 2 Mar 10:23:29 - [info] [alexa-remote-account:d5b73937.390a68] intialising with the PROXY method and saved data... 2 Mar 10:23:29 - [info] [mqtt-broker:MQTT] Connected to broker: mqtt://localhost:1883 CCHI ZigbeeController input CCHI loadFromDatabaseIfNecessary 2 Mar 10:23:29 - [error] [zigbee-controller:controller] TypeError: Cannot read property 'getEntries' of null 2 Mar 10:23:29 - [info] [telegram bot:81f6f716.ae39b8] Webhook enabled: {"url":"https://smart-home.chimera.dynu.com:443//tg/","has_custom_certificate":false,"pending_update_count":0,"max_connections":40,"ip_address":"151.53.202.170"} 2 Mar 10:23:30 - [warn] [alexa-remote-account:d5b73937.390a68] failed to load routines: "no body" CCHI Injected database CCHI loadFromDatabaseIfNecessary CCHI loadFromDatabaseIfNecessary CCHI loadFromDatabaseIfNecessary 2 Mar 10:23:31 - [info] [zigbee-shepherd:zigbee herdsman] CCHI this.herdsman.getDevices() CCHI loadFromDatabaseIfNecessary 2 Mar 10:23:31 - [info] [zigbee-shepherd:zigbee herdsman] Currently 0 devices are joined: 2 Mar 10:23:31 - [info] [zigbee-shepherd:zigbee herdsman] CCHI logStartupInfo CCHI loadFromDatabaseIfNecessary CCHI loadFromDatabaseIfNecessary 2 Mar 10:23:31 - [info] [zigbee-shepherd:zigbee herdsman] Zigbee network parameters: {"panID":TTTTTTTT,"extendedPanID":"AAAAAAAAAAAA","channel":11} 2 Mar 10:23:31 - [info] [zigbee-shepherd:zigbee herdsman] Coordinator: zStack12 2.6.3 20190608 CCHI loadFromDatabaseIfNecessary CCHI loadFromDatabaseIfNecessary

ckhmer1 commented 3 years ago

Hi, if you want to reproduce the problem, just import the following flow (one inject and one controller):

[{"id":"ced4c81a.d9c328","type":"inject","z":"797754e1.399a9c","name":"getDevices","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":true,"onceDelay":"2","topic":"getDevices","payload":"","payloadType":"str","x":370,"y":140,"wires":[["319f5b0d.4798c4"]]},{"id":"319f5b0d.4798c4","type":"zigbee-controller","z":"797754e1.399a9c","shepherd":"","name":"controller","x":560,"y":140,"wires":[[]]}]

Thanks