ioBroker / ioBroker.zigbee

Zigbee communcation with Hue, Xiaomi, Lighttify... via TI CC2xxx USB stick
MIT License
309 stars 191 forks source link

Update 1.2.0 WXKG11LM Xiaomi Switch (triple, quad click not working any more) #720

Closed vaaarg closed 4 years ago

vaaarg commented 4 years ago

after upgrading to newest version aquara switch does not recognize triple and quad click anymore.

Deleting, repairing, restarting did not help. All 4 actions worked before. (hold also not working) model:WXKG11LM description:Aqara wireless switch supports:single, double click (and triple, quadruple, hold, release depending on model) model:lumi.sensor_switch.aq2 type:EndDevice nwk:59725 manuf id:4151 manufacturer:LUMI power:Battery app version:3 hard version:2 zcl version:1 stack version:2 date code:20161128 build:3000-0001 interviewed:true configured:false

endpoint:1 profile:260 input clusters:genBasic (0) 65535 genOnOff (6) output clusters:genBasic (0) genGroups (4) 65535

zigbee.0 | 2020-08-10 07:05:18.050 | info | (9441) 0x00158d00023e6543 (addr 59725): WXKG11LM - Xiaomi Aqara wireless switch (EndDevice) zigbee.0 | 2020-08-10 07:05:17.966 | info | (9441) Currently 32 devices are joined: zigbee.0 | 2020-08-10 07:05:17.941 | info | (9441) --> transmitPower : normal zigbee.0 | 2020-08-10 07:05:17.940 | info | (9441) Unable to disable LED, unsupported function. zigbee.0 | 2020-08-10 07:05:11.924 | info | (9441) Coordinator firmware version: {"type":"zStack12","meta":{"transportrev":2,"product":0,"majorrel":2,"minorrel":6,"maintrel":3,"revision":20190608}} zigbee.0 | 2020-08-10 07:05:09.668 | info | (9441) Starting Zigbee... zigbee.0 | 2020-08-10 07:05:09.560 | info | (9441) starting. Version 1.2.0 in /opt/iobroker/node_modules/iobroker.zigbee, node: v10.22.0, js-controller: 3.1.6

kirovilya commented 4 years ago

hmm... some conflict with https://github.com/ioBroker/ioBroker.zigbee/pull/711 we need to think about how to solve out the situation... for now, you can restore this lines in local file https://github.com/ioBroker/ioBroker.zigbee/pull/711/files#diff-6416e6f3ffdcce0e42c767cf0b85b4a8L124

Shadesh commented 4 years ago

Those two methods (tripe and quad) didn't work for me and it seems neither for the guy from the issue https://github.com/ioBroker/ioBroker.zigbee/issues/699 here. Maybe you have a different version if this button?

tipp88 commented 4 years ago

It must be different hardware. WXKG11LM does not support triple and quad click

Shadesh commented 4 years ago

Yep its a different model. lumi.remote.b1acn01 does not support tripe and quad but _lumi.sensorswitch.aq2 does.

kirovilya commented 4 years ago

now this is a problem - device identification by model - in converters it is one model https://github.com/Koenkk/zigbee-herdsman-converters/blob/master/devices.js#L428 solutions: 1) split models in converters and then split models in our devices 2) make "lazy" states that appear only if the corresponding event arrives

kirovilya commented 4 years ago

You can try to update from github and check

Shadesh commented 4 years ago

At least the lumi.remote.b1acn01 does still work as expected after updating the adapter from Github.

Bibo13 commented 4 years ago

Ok. lumi.sensor_switch.aq2 has now tripple and quad chlick again

vaaarg commented 4 years ago

You can try to update from github and check

thank you ... working again.

following output while updating:

$ ./iobroker url "https://github.com/ioBroker/ioBroker.zigbee/tarball/master" zigbee install https://github.com/ioBroker/ioBroker.zigbee/tarball/master NPM version: 6.14.6 npm install https://github.com/ioBroker/ioBroker.zigbee/tarball/master --loglevel error --prefix "/opt/iobroker" (System call) In file included from ../src/./serialport.h:6, from ../src/serialport.cpp:1:../node_modules/nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’:../node_modules/nan/nan.h:2294:62: 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] , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete) ^ ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Open(Nan::NAN_METHOD_ARGS_TYPE)’:../src/serialport.cpp:78:69: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type] uv_queue_work(uv_default_loop(), req, EIO_Open, (uv_after_work_cb)EIO_AfterOpen); ^~~~~~~~~~~~~ ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Update(Nan::NAN_METHOD_ARGS_TYPE)’:../src/serialport.cpp:135:71: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type] uv_queue_work(uv_default_loop(), req, EIO_Update, (uv_after_work_cb)EIO_AfterUpdate); ^~~~~~~~~~~~~~~ ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Close(Nan::NAN_METHOD_ARGS_TYPE)’:../src/serialport.cpp:175:70: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type] uv_queue_work(uv_default_loop(), req, EIO_Close, (uv_after_work_cb)EIO_AfterClose); ^~~~~~~~~~~~~~ ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Flush(Nan::NAN_METHOD_ARGS_TYPE)’:../src/serialport.cpp:215:70: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type] uv_queue_work(uv_default_loop(), req, EIO_Flush, (uv_after_work_cb)EIO_AfterFlush); ^~~~~~~~~~~~~~../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Set(Nan::NAN_METHOD_ARGS_TYPE)’:../src/serialport.cpp:270:68: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type] uv_queue_work(uv_default_loop(), req, EIO_Set, (uv_after_work_cb)EIO_AfterSet); ^~~~~~~~~~~~../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Get(Nan::NAN_METHOD_ARGS_TYPE)’:../src/serialport.cpp:314:68: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type] uv_queue_work(uv_default_loop(), req, EIO_Get, (uv_after_work_cb)EIO_AfterGet); ^~~~~~~~~~~~../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE GetBaudRate(Nan::NAN_METHOD_ARGS_TYPE)’:../src/serialport.cpp:363:76: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type] uv_queue_work(uv_default_loop(), req, EIO_GetBaudRate, (uv_after_work_cb)EIO_AfterGetBaudRate); ^~~~~~~~~~~~~~~~~~~~ ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Drain(Nan::NAN_METHOD_ARGS_TYPE)’:../src/serialport.cpp:409:70: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type] uv_queue_work(uv_default_loop(), req, EIO_Drain, (uv_after_work_cb)EIO_AfterDrain); ^~~~~~~~~~~~~~../src/serialport.cpp: At global scope:../src/serialport.cpp:430:28: warning: unnecessary parentheses in declaration of ‘ToParityEnum’ [-Wparentheses] SerialPortParity NAN_INLINE(ToParityEnum(const v8::Local<v8::String>& v8str)) { ^ ../src/serialport.cpp:449:30: warning: unnecessary parentheses in declaration of ‘ToStopBitEnum’ [-Wparentheses] SerialPortStopBits NAN_INLINE(ToStopBitEnum(double stopBits)) { ^ In file included from ../node_modules/nan/nan.h:56, from ../src/./serialport.h:6, from ../src/serialport.cpp:1:/home/iobroker/.cache/node-gyp/10.22.0/include/node/node.h:573:43: warning: cast between incompatible function types from ‘void (*)(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)’ {aka ‘void (*)(v8::Local<v8::Object>)’} to ‘node::addon_register_func’ {aka ‘void (*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)’} [-Wcast-function-type] (node::addon_register_func) (regfunc), \ ^/home/iobroker/.cache/node-gyp/10.22.0/include/node/node.h:607:3: note: in expansion of macro ‘NODE_MODULE_X’ NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage) ^~~~~~~~~~~~~../src/serialport.cpp:483:1: note: in expansion of macro ‘NODE_MODULE’ NODE_MODULE(serialport, init); ^~~~~~~~~~~ In file included from /home/iobroker/.cache/node-gyp/10.22.0/include/node/node.h:63, from ../node_modules/nan/nan.h:56, from ../src/./serialport.h:6, from ../src/serialport.cpp:1:/home/iobroker/.cache/node-gyp/10.22.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)]’:/home/iobroker/.cache/node-gyp/10.22.0/include/node/node_object_wrap.h:84:78: required from here/home/iobroker/.cache/node-gyp/10.22.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<node::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type] reinterpret_cast<Callback>(callback), type); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/iobroker/.cache/node-gyp/10.22.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)]’:../node_modules/nan/nan_object_wrap.h:65:61: required from here/home/iobroker/.cache/node-gyp/10.22.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<Nan::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type] In file included from ../src/serialport.h:6, from ../src/serialport_unix.cpp:2:../node_modules/nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’:../node_modules/nan/nan.h:2294:62: 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] , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete) ^ In file included from /home/iobroker/.cache/node-gyp/10.22.0/include/node/node.h:63, from ../node_modules/nan/nan.h:56, from ../src/serialport.h:6, from ../src/serialport_unix.cpp:2:/home/iobroker/.cache/node-gyp/10.22.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)]’:/home/iobroker/.cache/node-gyp/10.22.0/include/node/node_object_wrap.h:84:78: required from here/home/iobroker/.cache/node-gyp/10.22.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<node::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type] reinterpret_cast<Callback>(callback), type); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/iobroker/.cache/node-gyp/10.22.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)]’:../node_modules/nan/nan_object_wrap.h:65:61: required from here/home/iobroker/.cache/node-gyp/10.22.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<Nan::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type] ../src/serialport_unix.cpp: In function ‘int setup(int, OpenBaton*)’:../src/serialport_unix.cpp:176:60: warning: ‘%s’ directive output may be truncated writing up to 1023 bytes into a region of size 1005 [-Wformat-truncation=] snprintf(data->errorString, sizeof(data->errorString), "Error %s Cannot open %s", strerror(errno), data->path); ^~~~~~~~~~~~~~~~~~~~~~~~~../src/serialport_unix.cpp:176:13: note: ‘snprintf’ output 20 or more bytes (assuming 1043) into a destination of size 1024 snprintf(data->errorString, sizeof(data->errorString), "Error %s Cannot open %s", strerror(errno), data->path); ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/serialport_unix.cpp: In function ‘void EIO_Open(uv_work_t*)’:../src/serialport_unix.cpp:86:60: warning: ‘%s’ directive output may be truncated writing up to 1023 bytes into a region of size 1003 [-Wformat-truncation=] snprintf(data->errorString, sizeof(data->errorString), "Error: %s, cannot open %s", strerror(errno), data->path); ^~~~~~~~~~~~~~~~~~~~~~~~~~~../src/serialport_unix.cpp:86:13: note: ‘snprintf’ output 22 or more bytes (assuming 1045) into a destination of size 1024 snprintf(data->errorString, sizeof(data->errorString), "Error: %s, cannot open %s", strerror(errno), data->path); ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../src/poller.cpp:1:../node_modules/nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’:../node_modules/nan/nan.h:2294:62: 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] , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete) ^ In file included from /home/iobroker/.cache/node-gyp/10.22.0/include/node/node.h:63, from ../node_modules/nan/nan.h:56, from ../src/poller.cpp:1:/home/iobroker/.cache/node-gyp/10.22.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)]’:/home/iobroker/.cache/node-gyp/10.22.0/include/node/node_object_wrap.h:84:78: required from here/home/iobroker/.cache/node-gyp/10.22.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<node::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type] reinterpret_cast<Callback>(callback), type); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/iobroker/.cache/node-gyp/10.22.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)]’:../node_modules/nan/nan_object_wrap.h:65:61: required from here/home/iobroker/.cache/node-gyp/10.22.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<Nan::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type] upload [200] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/img/philips_white_ambiance_being.png img/philips_white_ambiance_being.png image/png upload [150] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/img/motion.png img/motion.png image/png upload [100] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/img/ikea_wireless_dimmer1.png img/ikea_wireless_dimmer1.png image/png upload [90] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/img/ikea_e14_bulb2.png img/ikea_e14_bulb2.png image/png upload [80] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/img/hue-smart-button.png img/hue-smart-button.png image/png upload [70] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/img/gledopto_bulb.png img/gledopto_bulb.png image/png upload [60] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/img/ewelink_TH01.png img/ewelink_TH01.png image/png upload [50] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/img/cube.png img/cube.png image/png upload [40] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/img/bitron_motion.png img/bitron_motion.png image/png upload [30] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/img/ZWLD-100.png img/ZWLD-100.png image/png upload [20] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/img/DIYRuZ_R8_8.png img/DIYRuZ_R8_8.png image/png upload [19] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/img/DIYRuZ_Geiger.png img/DIYRuZ_Geiger.png image/png upload [18] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/img/DIYRuZ_FreePad.png img/DIYRuZ_FreePad.png image/png upload [17] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/img/DIYRuZ.png img/DIYRuZ.png image/png upload [16] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/img/Bitron_AV201021A.png img/Bitron_AV201021A.png image/png upload [15] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/img/BW-IS3.png img/BW-IS3.png image/png upload [14] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/img/AV2010_32.png img/AV2010_32.png image/png upload [13] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/img/86sw2.png img/86sw2.png image/png upload [12] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/img/86sw1.png img/86sw1.png image/png upload [11] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/img/86plug.png img/86plug.png image/png upload [10] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/i18n/zh-cn/translations.json i18n/zh-cn/translations.json application/json upload [9] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/i18n/ru/translations.json i18n/ru/translations.json application/json upload [8] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/i18n/pt/translations.json i18n/pt/translations.json application/json upload [7] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/i18n/pl/translations.json i18n/pl/translations.json application/json upload [6] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/i18n/nl/translations.json i18n/nl/translations.json application/json upload [5] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/i18n/it/translations.json i18n/it/translations.json application/json upload [4] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/i18n/fr/translations.json i18n/fr/translations.json application/json upload [3] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/i18n/es/translations.json i18n/es/translations.json application/json upload [2] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/i18n/en/translations.json i18n/en/translations.json application/json upload [1] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/i18n/de/translations.json i18n/de/translations.json application/json upload [0] zigbee.admin /opt/iobroker/node_modules/iobroker.zigbee/admin/admin.js admin.js application/javascript Update "system.adapter.zigbee.0" process exited with code 0

kirovilya commented 4 years ago

If work for all - close issue please