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 +68 -14
- package/admin/adapter-settings.js +39 -3
- package/admin/admin.js +273 -47
- package/admin/img/14153905L.png +0 -0
- package/admin/img/81855.png +0 -0
- package/admin/img/HG06338.png +0 -0
- package/admin/img/R7060.png +0 -0
- package/admin/img/TI0001-cover.png +0 -0
- package/admin/img/WHD02.png +0 -0
- package/admin/img/ikea_E1812.png +0 -0
- package/admin/img/tuya_rb280.png +0 -0
- package/admin/index_m.html +170 -24
- package/admin/tab_m.html +181 -216
- package/admin/words.js +30 -29
- package/docs/tutorial/zigbee.png +0 -0
- package/io-package.json +28 -1
- package/lib/commands.js +75 -9
- package/lib/developer.js +6 -2
- package/lib/devices.js +46 -1
- package/lib/exposes.js +3 -1
- package/lib/groups.js +54 -28
- package/lib/ota.js +26 -0
- package/lib/rgb.js +30 -0
- package/lib/states.js +40 -14
- package/lib/statescontroller.js +207 -92
- package/lib/utils.js +1 -1
- package/lib/zbBaseExtension.js +4 -3
- package/lib/zbDelayedAction.js +1 -0
- package/lib/zbDeviceAvailability.js +14 -2
- package/lib/zbDeviceConfigure.js +11 -7
- package/lib/zbDeviceEvent.js +6 -0
- package/lib/zigbeecontroller.js +119 -17
- package/main.js +12 -4
- package/package.json +3 -3
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
7
|
-
|
|
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
|
+
}
|