Skip to content
This repository has been archived by the owner on Dec 28, 2022. It is now read-only.

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

Open
ckhmer1 opened this issue Feb 27, 2021 · 15 comments
Open

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

ckhmer1 opened this issue Feb 27, 2021 · 15 comments

Comments

@ckhmer1
Copy link

ckhmer1 commented Feb 27, 2021

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
Copy link
Contributor

Sineos commented Feb 27, 2021

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
Copy link
Author

ckhmer1 commented Feb 27, 2021

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
Copy link
Contributor

Sineos commented Feb 27, 2021

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
Copy link
Author

ckhmer1 commented Feb 28, 2021

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::Localv8::String& 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::Localv8::Object)'} to 'node::addon_register_func' {aka 'void ()(v8::Localv8::Object, v8::Localv8::Value, 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::WeakCallbackInfonode::ObjectWrap&)]':
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::WeakCallbackInfonode::ObjectWrap::Callback' {aka 'void (
)(const v8::WeakCallbackInfonode::ObjectWrap&)'} 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::WeakCallbackInfoNan::ObjectWrap&)]':
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::WeakCallbackInfoNan::ObjectWrap::Callback' {aka 'void (
)(const v8::WeakCallbackInfoNan::ObjectWrap&)'} 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::WeakCallbackInfonode::ObjectWrap&)]':
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::WeakCallbackInfonode::ObjectWrap::Callback' {aka 'void (
)(const v8::WeakCallbackInfonode::ObjectWrap&)'} 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::WeakCallbackInfoNan::ObjectWrap&)]':
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::WeakCallbackInfoNan::ObjectWrap::Callback' {aka 'void (
)(const v8::WeakCallbackInfoNan::ObjectWrap&)'} 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::WeakCallbackInfonode::ObjectWrap&)]':
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::WeakCallbackInfonode::ObjectWrap::Callback' {aka 'void (
)(const v8::WeakCallbackInfonode::ObjectWrap&)'} 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::WeakCallbackInfoNan::ObjectWrap&)]':
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::WeakCallbackInfoNan::ObjectWrap::Callback' {aka 'void (
)(const v8::WeakCallbackInfoNan::ObjectWrap&)'} 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::Localv8::String& 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::Localv8::Object)'} to 'node::addon_register_func' {aka 'void ()(v8::Localv8::Object, v8::Localv8::Value, 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::WeakCallbackInfonode::ObjectWrap&)]':
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::WeakCallbackInfonode::ObjectWrap::Callback' {aka 'void (
)(const v8::WeakCallbackInfonode::ObjectWrap&)'} 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::WeakCallbackInfoNan::ObjectWrap&)]':
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::WeakCallbackInfoNan::ObjectWrap::Callback' {aka 'void (
)(const v8::WeakCallbackInfoNan::ObjectWrap&)'} 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::WeakCallbackInfonode::ObjectWrap&)]':
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::WeakCallbackInfonode::ObjectWrap::Callback' {aka 'void (
)(const v8::WeakCallbackInfonode::ObjectWrap&)'} 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::WeakCallbackInfoNan::ObjectWrap&)]':
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::WeakCallbackInfoNan::ObjectWrap::Callback' {aka 'void (
)(const v8::WeakCallbackInfoNan::ObjectWrap&)'} 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::WeakCallbackInfonode::ObjectWrap&)]':
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::WeakCallbackInfonode::ObjectWrap::Callback' {aka 'void (
)(const v8::WeakCallbackInfonode::ObjectWrap&)'} 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::WeakCallbackInfoNan::ObjectWrap&)]':
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::WeakCallbackInfoNan::ObjectWrap::Callback' {aka 'void (
)(const v8::WeakCallbackInfoNan::ObjectWrap&)'} 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
Copy link
Contributor

Sineos commented Feb 28, 2021

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
Copy link
Author

ckhmer1 commented Feb 28, 2021

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
Copy link
Contributor

Sineos commented Feb 28, 2021

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:

  • Shut down node-red
  • Delete /data/zigbee/*
  • Start NR
  • Provide a new panID
  • Restart NR
  • Try pairing a device

@ckhmer1
Copy link
Author

ckhmer1 commented Mar 1, 2021

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

@Sineos
Copy link
Contributor

Sineos commented Mar 1, 2021

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
Copy link
Contributor

Sineos commented Mar 1, 2021

Attach your dev.db file here:

  • After pairing the device
  • After rebooting and provoking the error

@ckhmer1
Copy link
Author

ckhmer1 commented Mar 1, 2021

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
Copy link

fry42 commented Mar 2, 2021

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
Copy link
Author

ckhmer1 commented Mar 2, 2021

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
Copy link
Author

ckhmer1 commented Mar 2, 2021

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
Copy link
Author

ckhmer1 commented Mar 3, 2021

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

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants