iobroker.zigbee 1.8.3 → 1.8.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/README.md +6 -0
  2. package/admin/adapter-settings.js +244 -0
  3. package/admin/admin.js +520 -494
  4. package/admin/index_m.html +1171 -1001
  5. package/admin/tab_m.html +44 -2
  6. package/docs/de/img/CC2531.png +0 -0
  7. package/docs/de/img/CC2538_CC2592_PA.PNG +0 -0
  8. package/docs/de/img/CC2591.png +0 -0
  9. package/docs/de/img/boards.jpg +0 -0
  10. package/docs/de/img/cc26x2r.PNG +0 -0
  11. package/docs/de/img/results.jpg +0 -0
  12. package/docs/de/img/sku_429478_2.png +0 -0
  13. package/docs/de/img/sku_429601_2.png +0 -0
  14. package/docs/de/readme.md +27 -0
  15. package/docs/en/img/CC2531.png +0 -0
  16. package/docs/en/img/CC2591.png +0 -0
  17. package/docs/en/img/deconz.png +0 -0
  18. package/docs/en/img/sku_429478_2.png +0 -0
  19. package/docs/en/img/sku_429601_2.png +0 -0
  20. package/docs/en/readme.md +30 -0
  21. package/docs/flashing_via_arduino_(en).md +110 -0
  22. package/docs/ru/img/CC2531.png +0 -0
  23. package/docs/ru/img/CC2591.png +0 -0
  24. package/docs/ru/img/sku_429478_2.png +0 -0
  25. package/docs/ru/img/sku_429601_2.png +0 -0
  26. package/docs/ru/readme.md +28 -0
  27. package/docs/tutorial/CC2530_20190425.zip +0 -0
  28. package/docs/tutorial/CC2530_CC2591_20190515.zip +0 -0
  29. package/docs/tutorial/CC2530_CC2592_20190515.zip +0 -0
  30. package/docs/tutorial/CC2531_20190425.zip +0 -0
  31. package/docs/tutorial/adm5_1.PNG +0 -0
  32. package/docs/tutorial/adm5_2.PNG +0 -0
  33. package/docs/tutorial/cat.PNG +0 -0
  34. package/docs/tutorial/groups-1.png +0 -0
  35. package/docs/tutorial/groups-2.png +0 -0
  36. package/docs/tutorial/inst.PNG +0 -0
  37. package/docs/tutorial/reflash-finish.PNG +0 -0
  38. package/docs/tutorial/reflash-step0.png +0 -0
  39. package/docs/tutorial/reflash-step1.PNG +0 -0
  40. package/docs/tutorial/reflash-step2.PNG +0 -0
  41. package/docs/tutorial/settings.png +0 -0
  42. package/docs/tutorial/tab-dev-1.png +0 -0
  43. package/docs/tutorial/zigbee.png +0 -0
  44. package/docs/tutorial/zigbee15.png +0 -0
  45. package/io-package.json +34 -33
  46. package/lib/backup.js +2 -2
  47. package/lib/binding.js +32 -37
  48. package/lib/colors.js +163 -158
  49. package/lib/commands.js +100 -91
  50. package/lib/developer.js +9 -12
  51. package/lib/devices.js +168 -178
  52. package/lib/exclude.js +30 -36
  53. package/lib/exposes.js +168 -143
  54. package/lib/groups.js +81 -83
  55. package/lib/json.js +5 -6
  56. package/lib/networkmap.js +2 -3
  57. package/lib/ota.js +34 -18
  58. package/lib/rgb.js +114 -72
  59. package/lib/seriallist.js +25 -20
  60. package/lib/statescontroller.js +206 -183
  61. package/lib/utils.js +29 -23
  62. package/lib/zbBaseExtension.js +4 -4
  63. package/lib/zbDelayedAction.js +5 -13
  64. package/lib/zbDeviceAvailability.js +69 -65
  65. package/lib/zbDeviceConfigure.js +9 -21
  66. package/lib/zbDeviceEvent.js +3 -4
  67. package/lib/zigbeecontroller.js +133 -128
  68. package/main.js +169 -154
  69. package/package.json +28 -14
  70. package/.eslintignore +0 -2
  71. package/.eslintrc.json +0 -37
  72. package/.github/FUNDING.yml +0 -3
  73. package/.github/auto-merge.yml +0 -17
  74. package/.github/dependabot.yml +0 -24
  75. package/.github/stale.yml +0 -13
  76. package/.github/workflows/codeql.yml +0 -41
  77. package/.github/workflows/dependabot-automerge.yml +0 -22
  78. package/.github/workflows/test-and-release.yml +0 -149
  79. package/.releaseconfig.json +0 -3
  80. package/.travis/wiki.sh +0 -28
  81. package/.travis.yml +0 -41
  82. package/gulpfile.js +0 -464
  83. package/test/integration.js +0 -5
  84. package/test/mocha.custom.opts +0 -2
  85. package/test/mocha.setup.js +0 -14
  86. package/test/package.js +0 -5
  87. package/test/unit.js +0 -5
package/lib/exclude.js CHANGED
@@ -27,13 +27,12 @@ class Exclude {
27
27
  debug(msg) {
28
28
  this.adapter.log.debug(msg);
29
29
  }
30
-
30
+
31
31
  warn(msg) {
32
32
  this.adapter.log.warn(msg);
33
33
  }
34
34
 
35
35
 
36
-
37
36
  /**
38
37
  * @param {ioBroker.Message} obj
39
38
  */
@@ -42,24 +41,21 @@ class Exclude {
42
41
  switch (obj.command) {
43
42
  case 'addExclude':
44
43
  if (obj && obj.message && typeof obj.message === 'object') {
45
- this.addExclude(obj.from, obj.command, obj.message, (err)=>{
46
- this.adapter.sendTo(obj.from, obj.command, err, obj.callback);
47
- });
44
+ this.addExclude(obj.from, obj.command, obj.message, err =>
45
+ this.adapter.sendTo(obj.from, obj.command, err, obj.callback));
48
46
  }
49
47
  break;
50
48
 
51
49
  case 'getExclude':
52
50
  if (obj && obj.message && typeof obj.message === 'object') {
53
- this.getExclude((exclude)=>{
54
- this.adapter.sendTo(obj.from, obj.command, exclude, obj.callback);
55
- });
51
+ this.getExclude(exclude =>
52
+ this.adapter.sendTo(obj.from, obj.command, exclude, obj.callback));
56
53
  }
57
54
  break;
58
55
  case 'delExclude':
59
56
  if (obj && obj.message) {
60
- this.delExclude(obj.from, obj.command, obj.message, (err)=>{
61
- this.adapter.sendTo(obj.from, obj.command, err, obj.callback);
62
- });
57
+ this.delExclude(obj.from, obj.command, obj.message, err =>
58
+ this.adapter.sendTo(obj.from, obj.command, err, obj.callback));
63
59
  }
64
60
  break;
65
61
  }
@@ -69,13 +65,14 @@ class Exclude {
69
65
  getExcludeId(exclude_target) {
70
66
  return `${this.extractDeviceId(exclude_target)}`;
71
67
  }
72
-
68
+
73
69
  extractDeviceId(stateId) {
74
- if (stateId)
70
+ if (stateId) {
75
71
  return stateId.replace(`${this.adapter.namespace}.`, '');
72
+ }
76
73
  return '';
77
74
  }
78
-
75
+
79
76
  extractExcludeId(stateId) {
80
77
  return stateId.replace(`${this.adapter.namespace}.exclude.`, '');
81
78
  }
@@ -94,27 +91,25 @@ class Exclude {
94
91
  {
95
92
  type: 'state',
96
93
  common: {name: exclude_mod},
97
- }, () => {
98
- this.adapter.setState(stateId, exclude_mod, true, () => {
99
- callback();
100
- });
101
- }
94
+ },
95
+ () => this.adapter.setState(stateId, exclude_mod, true, () =>
96
+ callback()),
102
97
  );
103
98
  } catch (error) {
104
99
  this.error(`Failed to addExclude ${error.stack}`);
105
100
  throw new Error(`Failed to addExclude ${error.stack}`);
106
101
  }
107
102
  }
103
+
108
104
  async delExclude(from, command, exclude_id, callback) {
109
105
  try {
110
- this.debug('delExclude message: ' + JSON.stringify(exclude_id));
106
+ this.debug(`delExclude message: ${JSON.stringify(exclude_id)}`);
111
107
  const stateId = `exclude.${exclude_id}`;
112
108
  this.adapter.getStateAsync(stateId)
113
109
  .then(async (stateV) => {
114
- this.debug('found state: ' + JSON.stringify(stateV));
115
- this.adapter.deleteState(null, 'exclude', exclude_id, async () => {
116
- callback();
117
- });
110
+ this.debug(`found state: ${JSON.stringify(stateV)}`);
111
+ this.adapter.deleteState(null, 'exclude', exclude_id, async () =>
112
+ callback());
118
113
  });
119
114
  } catch (error) {
120
115
  this.error(`Failed to delExclude ${error.stack}`);
@@ -130,32 +125,31 @@ class Exclude {
130
125
  const exc = [];
131
126
  states.forEach(state => {
132
127
  if (state._id.startsWith(`${this.adapter.namespace}.exclude`)) {
133
- exc.push(new Promise(resolve => {
134
- return this.adapter.getStateAsync(state._id)
128
+ exc.push(new Promise(resolve =>
129
+ this.adapter.getStateAsync(state._id)
135
130
  .then(stateVa => {
136
131
  if (stateVa !== null) {
137
132
  const val = {
138
133
  id: this.extractExcludeId(state._id),
139
- name : stateVa.val
134
+ name: stateVa.val
140
135
  };
141
136
  if (this.extractExcludeId(state._id) !== 'all') {
142
137
  exclude.push(val);
143
138
  }
144
139
  }
145
140
  resolve();
146
- });
147
- }));
141
+ })));
148
142
  }
149
143
  });
150
- return Promise.all(exc).then(() => {
151
- const arrExclude = JSON.stringify(exclude);
152
- this.debug('getExclude result: ' + arrExclude);
153
- this.adapter.setState('exclude.all', arrExclude, true, () => {
154
- callback(exclude);
144
+ return Promise.all(exc)
145
+ .then(() => {
146
+ const arrExclude = JSON.stringify(exclude);
147
+ this.debug(`getExclude result: ${arrExclude}`);
148
+ this.adapter.setState('exclude.all', arrExclude, true, () =>
149
+ callback(exclude));
155
150
  });
156
- });
157
151
  } else {
158
- this.debug('getExclude result: ' + JSON.stringify(exclude));
152
+ this.debug(`getExclude result: ${JSON.stringify(exclude)}`);
159
153
  callback(exclude);
160
154
  }
161
155
  });