iobroker.zigbee 1.6.3 → 1.6.14

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.
package/README.md CHANGED
@@ -11,13 +11,19 @@
11
11
 
12
12
  ## ioBroker adapter for Zigbee devices via TI cc2531/cc2530/cc26x2r/cc2538 and deCONZ ConBee/RaspBee.
13
13
 
14
- With the Zigbee-coordinator based on Texas Instruments SoC cc253x (and others models) or deCONZ ConBee/RaspBee modules, it creates its own zigbee-network, into which zigbee-devices are connected. By work directly with the coordinator, the driver allows you to manage devices without additional application / gateways / bridge from device manufacturers (Xiaomi / TRADFRI / Hue / Tuya). About the device Zigbee-network can be read [here (in English)](https://www.zigbee2mqtt.io/information/zigbee_network.html).
14
+ With the Zigbee-coordinator based on Texas Instruments SoC, deCONZ ConBee/RaspBee modules, Silicon Labs EZSP v8 or ZIGate USB-TTL it creates its own zigbee-network, into which zigbee-devices are connected. By work directly with the coordinator, the driver allows you to manage devices without additional application / gateways / bridge from device manufacturers (Xiaomi / TRADFRI / Hue / Tuya). About the device Zigbee-network can be read [here (in English)](https://www.zigbee2mqtt.io/information/zigbee_network.html).
15
15
 
16
16
  ## Hardware
17
17
 
18
+
19
+ One coordinator device is required for each zigbee Adapter instance. The device must be flashed with the respective coordinator firmware. A list of supported coordinators, the necessary equipment for the firmware and the device preparation process for different coordinator devices are described [here (in English)](https://www.zigbee2mqtt.io/guide/adapters/) or [here (in Russian)](https://myzigbee.ru/books/%D0%BF%D1%80%D0%BE%D1%88%D0%B8%D0%B2%D0%BA%D0%B8/page/%D0%BF%D1%80%D0%BE%D1%88%D0%B8%D0%B2%D0%BA%D0%B0-cc2531cc2530)
20
+
21
+
18
22
  ### Texas Instruments SoC
19
- ..
20
- For work, you need one of the following Adapters [all are listed here](https://www.zigbee2mqtt.io/information/supported_adapters.html) , flashed with a special ZNP firmware: [cc2531, cc2530, cc26x2r, cc2538](https://github.com/Koenkk/Z-Stack-firmware)
23
+
24
+ Recommended devices are based on either the CC2652 or CC1352 chip. Devices based on cc253x chips are still supported but are no longer recommended.
25
+ Only CC26xx/cc1352/cc2538 Devices support extraction of the NVRam backup which should allow to swap coordinator hardware without having to reconnect all zigbee devices to the network.
26
+ Current firmware files for these devices can be found [on GitHub](https://github.com/Koenkk/Z-Stack-firmware)
21
27
 
22
28
  <span><img src="https://ae01.alicdn.com/kf/HTB1Httue3vD8KJjSsplq6yIEFXaJ/Wireless-Zigbee-CC2531-Sniffer-Bare-Board-Packet-Protocol-Analyzer-Module-USB-Interface-Dongle-Capture-Packet.jpg_640x640.jpg" width="100"></span>
23
29
  <span><img src="http://img.dxcdn.com/productimages/sku_429478_2.jpg" width="100"></span>
@@ -26,17 +32,30 @@ For work, you need one of the following Adapters [all are listed here](https://w
26
32
  <span><img src="docs/de/img/CC2538_CC2592_PA.PNG" width="100"></span>
27
33
  <span><img src="docs/de/img/cc26x2r.PNG" width="100"></span>
28
34
 
29
- The necessary equipment for the firmware and the device preparation process are described [here (in English)](https://www.zigbee2mqtt.io/getting_started/what_do_i_need.html) or [here (in Russian)](https://myzigbee.ru/books/%D0%BF%D1%80%D0%BE%D1%88%D0%B8%D0%B2%D0%BA%D0%B8/page/%D0%BF%D1%80%D0%BE%D1%88%D0%B8%D0%B2%D0%BA%D0%B0-cc2531cc2530)
30
35
 
31
36
  ### Dresden Elektronik SoC
32
37
 
33
- (experimental support)
34
-
35
38
  <span><img src="docs/en/img/deconz.png"></span>
36
39
 
37
- ConBee I
38
- ConBee II
39
- RaspBee
40
+ recommended:
41
+ - ConBee II
42
+ - RaspBee II
43
+
44
+ no longer recommended:
45
+ - ConBee I
46
+ - RaspBee
47
+
48
+ While Conbee/RaspBee Support is no longer considered experimental in the zigbee-herdsman and zigbee-herdsman-converters libraries used by the zigbee Adapter, use of these devices with the adapter may limit functionality. Known issues are:
49
+ - link quality display may be incorrect
50
+ - device map metrics may be incorrect
51
+ - NVRam Backup is not supported.
52
+
53
+ ### Silicon Labs EZPS v8 / Zigate USB-TTL
54
+
55
+ Support for these chipsets is experimental. Please refer to the respective documentation on [this page](https://www.zigbee2mqtt.io/guide/adapters/) with regards to the state of the integration into the zigbee-herdsman and zigbee-herdsman-converters libraries.
56
+
57
+
58
+
40
59
 
41
60
 
42
61
  ## Work with adapter
@@ -101,7 +120,7 @@ You can thank the authors by these links:
101
120
 
102
121
  <!--
103
122
  Placeholder for the next version (at the beginning of the line):
104
-
123
+
105
124
  https://github.com/AlCalzone/release-script#usage
106
125
  npm run release minor -- --all 0.9.8 -> 0.10.0
107
126
  npm run release patch -- --all 0.9.8 -> 0.9.9
@@ -111,11 +130,46 @@ You can thank the authors by these links:
111
130
  -->
112
131
 
113
132
  ## Changelog
133
+ ### 1.6.14 (2022-01)
134
+ * (asgothian) OTA limitation
135
+ - devices with the available state set to false are excluded from OTA updates (and the update check)
136
+ - devices with link_quality 0 are excluded from OTA updates (and the update check)
137
+ * (asgothian) Device deactivation:
138
+ - Devices can be marked inactive from the device card.
139
+ - inactive devices are not pinged
140
+ - state changes by the user are not sent to inactive devices.
141
+ - when a pingable device is marked active (from being inactive) it will be pinged again.
142
+ - inactive devices are excluded from OTA updates.
143
+ * (asgothian) Group rework part 2:
144
+ - state device.groups will now be deleted with state Cleanup
145
+ - state info.groups is now obsolete and will be deleted at adapter start (after transferring data to
146
+ the new storage)
147
+ * (asgothian) Device name persistance.
148
+ - Changes to device names made within the zigbee adapter are stored in the file dev_names.json. This file
149
+ is not deleted when the adapter is removed, and will be referenced when a device is added to the zigbee adapter. Deleting and reinstalling the adapter will no longer remove custom device names, nor will deleting and adding the device anew.
150
+ * (asgothian) Readme edit to reflect the current information on zigbee coordinator hardware.
151
+ * (arteck) Zigbee-Herdsman 0.14.4, Zigbee-Herdsman-Converters 14.0.394
152
+
153
+ ### 1.6.13 (2022-01)
154
+
155
+ * (kirovilya) update to Zigbee-Herdsman 0.14
156
+
157
+
158
+ ### 1.6.12 (2022-01)
159
+ * (asgothian) Groups were newly revised (read [here](https://github.com/ioBroker/ioBroker.zigbee/pull/1327) )
160
+ - object device.groups is obsolet..the old one is no longer up to date
161
+
162
+
163
+ ### 1.6.9 (2021-12)
164
+ * (simatec) fix admin Dark-Mode
165
+ * (asgothian) Expose Access Handling
166
+ * (arteck) translations
167
+ * (asgothian) fix groups
168
+ * (agross) use different normalization rules
114
169
 
115
170
  ### 1.6.1 (2021-08)
116
171
  * (kirovilya) herdsman compatibility
117
172
 
118
-
119
173
  ### 1.6.0 (2021-08-09)
120
174
  ## Attention! Attention! Attention! Attention! Attention! Attention! Attention!
121
175
 
@@ -194,7 +248,7 @@ in this case, the *states* attribute will be formed based on the *exposes* descr
194
248
 
195
249
  ### 1.3.1 (2020-10-30)
196
250
  * [Experimental Zigate support](https://github.com/Koenkk/zigbee-herdsman/issues/242) (zigbee-herdsman)
197
- * New devices by:
251
+ * New devices by:
198
252
  asgothian, arteck, kirovilya, PaulchenPlump
199
253
 
200
254
  ### 1.3.0 (2020-10-07)
@@ -203,8 +257,8 @@ in this case, the *states* attribute will be formed based on the *exposes* descr
203
257
  * Allow to select bind cluster
204
258
  * Admin Tab support (experimental)
205
259
  * (UncleSamSwiss, DutchmanNL) Translation
206
- * New devices by:
207
- arteck, kirovilya, Shade, krumbholz, fre, Alex18081, ae, asgothian,
260
+ * New devices by:
261
+ arteck, kirovilya, Shade, krumbholz, fre, Alex18081, ae, asgothian,
208
262
  Strunzdesign, kairauer, VLGorskij, Hesse-Bub, PaulchenPlump, blackrozes
209
263
 
210
264
  ### 1.2.1 (2020-08-16)
@@ -3,8 +3,33 @@ const path = location.pathname;
3
3
  const parts = path.split('/');
4
4
  parts.splice(-3);
5
5
 
6
- const socket = io.connect('/', {path: parts.join('/') + '/socket.io'});
7
- const instance = window.location.search.slice(-1) || 0;
6
+ const socket = io.connect('/', { path: parts.join('/') + '/socket.io' });
7
+ var query = (window.location.search || '').replace(/^\?/, '').replace(/#.*$/, '');
8
+ var args = {};
9
+ let theme = null;
10
+
11
+ // parse parameters
12
+ query.trim().split('&').filter(function (t) { return t.trim(); }).forEach(function (b, i) {
13
+ const parts = b.split('=');
14
+ if (!i && parts.length === 1 && !isNaN(parseInt(b, 10))) {
15
+ args.instance = parseInt(b, 10);
16
+ }
17
+ var name = parts[0];
18
+ args[name] = parts.length === 2 ? parts[1] : true;
19
+
20
+ if (name === 'instance') {
21
+ args.instance = parseInt(args.instance, 10) || 0;
22
+ }
23
+
24
+ if (args[name] === 'true') {
25
+ args[name] = true;
26
+ } else if (args[name] === 'false') {
27
+ args[name] = false;
28
+ }
29
+ });
30
+
31
+ var instance = args.instance;
32
+
8
33
  let common = null; // common information of adapter
9
34
  const host = null; // host object on which the adapter runs
10
35
  const changed = false;
@@ -71,6 +96,17 @@ function loadSettings(callback) {
71
96
  if (typeof load === 'undefined') {
72
97
  alert('Please implement save function in your admin/index.html');
73
98
  } else {
99
+ // detect, that we are now in react container (themeNames = ['dark', 'blue', 'colored', 'light'])
100
+
101
+ const _query = query.split('&');
102
+
103
+ for (var q = 0; q < _query.length; q++) {
104
+ if (_query[q].indexOf('react=') !== -1) {
105
+ $('.adapter-container').addClass('react-' + _query[q].substring(6));
106
+ theme = 'react-' + _query[q].substring(6);
107
+ }
108
+ }
109
+
74
110
  load(res.native, onChange);
75
111
  }
76
112
  if (typeof callback === 'function') {
@@ -205,4 +241,4 @@ function showMessage(message, title, icon) {
205
241
  }
206
242
  $dialogMessage.find('.dialog-text').html(message);
207
243
  $dialogMessage.modal().modal('open');
208
- }
244
+ }