iobroker.zigbee 1.8.1 → 1.8.5

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
@@ -10,12 +10,17 @@
10
10
  [![Downloads](https://img.shields.io/npm/dm/iobroker.zigbee.svg)](https://www.npmjs.com/package/iobroker.zigbee)
11
11
 
12
12
  ## ioBroker adapter for Zigbee devices via TI cc2531/cc2530/cc26x2r/cc2538 and deCONZ ConBee/RaspBee.
13
- 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).
13
+
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).
14
15
 
15
16
  ## Hardware
17
+
18
+
16
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)
17
20
 
21
+
18
22
  ### Texas Instruments SoC
23
+
19
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.
20
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.
21
26
  Current firmware files for these devices can be found [on GitHub](https://github.com/Koenkk/Z-Stack-firmware)
@@ -27,7 +32,9 @@ Current firmware files for these devices can be found [on GitHub](https://github
27
32
  <span><img src="docs/de/img/CC2538_CC2592_PA.PNG" width="100"></span>
28
33
  <span><img src="docs/de/img/cc26x2r.PNG" width="100"></span>
29
34
 
35
+
30
36
  ### Dresden Elektronik SoC
37
+
31
38
  <span><img src="docs/en/img/deconz.png"></span>
32
39
 
33
40
  recommended:
@@ -38,18 +45,23 @@ no longer recommended:
38
45
  - ConBee I
39
46
  - RaspBee
40
47
 
41
- 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:
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:
42
49
  - link quality display may be incorrect
43
50
  - device map metrics may be incorrect
44
51
  - NVRam Backup is not supported.
45
52
 
46
53
  ### Silicon Labs SoC
47
- Support for [Silicon Lab Zigbee](https://www.silabs.com/wireless/zigbee) based adapters is experimental. The initial support for EZSP v8 is still not yet considered stable and the project is in need of more developers volunteering to help with this integration. Please refer to the respective documentation on [this page](https://www.zigbee2mqtt.io/guide/adapters/) and [ongoing development discussion](https://github.com/Koenkk/zigbee-herdsman/issues/319) with regard to the state of Silabs EmberZNet Serial Protocol (EZSP) adapter implementation integration into the zigbee-herdsman and zigbee-herdsman-converters libraries which it depends on.
54
+
55
+ Support for [Silicon Lab Zigbee](https://www.silabs.com/wireless/zigbee) based adapters is experimental. The initial support for EZSP v8 is still not yet considered stable and the project is in need of more developers volenteering to help with this integration. Please refer to the respective documentation on [this page](https://www.zigbee2mqtt.io/guide/adapters/) and [ongoing development discussion](https://github.com/Koenkk/zigbee-herdsman/issues/319) with regards to the state of Silabs EmberZNet Serial Protocol (EZSP) adapter implementation integration into the zigbee-herdsman and zigbee-herdsman-converters libraries which it depends on.
56
+
48
57
 
49
58
  ### ZiGate SoC
50
- Support for [ZiGate](https://zigate.fr) based adapters is experimental. The initial support for ZiGate is still not yet considered stable and the project is in need of more developers volunteering to help with this integration. Please refer to the respective documentation on [this page](https://www.zigbee2mqtt.io/guide/adapters/) and [ongoing development discussion](https://github.com/Koenkk/zigbee-herdsman/issues/242) with regard to the state of ZiGate adapter implementation into the zigbee-herdsman and zigbee-herdsman-converters libraries which it depends on.
59
+
60
+ Support for [ZiGate](https://zigate.fr) based adapters is experimental. The initial support for ZiGate is still not yet considered stable and the project is in need of more developers volenteering to help with this integration. Please refer to the respective documentation on [this page](https://www.zigbee2mqtt.io/guide/adapters/) and [ongoing development discussion](https://github.com/Koenkk/zigbee-herdsman/issues/242) with regards to the state of ZiGate adapter implementation into the zigbee-herdsman and zigbee-herdsman-converters libraries which it depends on.
61
+
51
62
 
52
63
  ## Work with adapter
64
+
53
65
  ![](docs/tutorial/zigbee.png)
54
66
 
55
67
  To start the driver, you must specify the name of the port on which the Zigbee-module (stick) is connected. Usually this is the port `/dev/ttyACM0` or `/dev/ttyUSB0` for the UART-connection. Or you can find with `ls -l /dev/serial/by-id` the device direct.
@@ -57,6 +69,7 @@ To start the driver, you must specify the name of the port on which the Zigbee-m
57
69
  open the settings and change port
58
70
  ![](docs/tutorial/settings.png)
59
71
 
72
+
60
73
  For Windows this will be the COM port number.
61
74
 
62
75
  Starting from version 1.0.0 you can also use *tcp connection* for cases using esp8266 (or other microcontrollers) as serial-bridge. For example `tcp://192.168.1.46:8880`. Read more info here https://www.zigbee2mqtt.io/information/connecting_cc2530#via-an-esp8266
@@ -79,14 +92,18 @@ It is a Zigbee feature, intended for example to switch bulbs synchronized. Assig
79
92
 
80
93
  Note: Not all devices support groups (not supported by end devices like sensors).
81
94
 
95
+
82
96
  ### Binding
97
+
83
98
  https://www.zigbee2mqtt.io/information/binding
84
99
 
85
100
  ### Developer Tab
86
- This is a tool for advanced users to test currently unsupported devices or enhance this adapter's functionality. More instructions can be found on tab.
101
+
102
+ This is a tool for advanced users to test currently unsupported devices or enhance this adapters functionality. More instructions can be found on tab.
87
103
  ![](docs/tutorial/tab-dev-1.png)
88
104
 
89
105
  ## Additional info
106
+
90
107
  There is a [friendly project](https://github.com/koenkk/zigbee2mqtt) with similar functionality on the same technologies, where you can work with the same devices using the MQTT protocol. Therefore, if any improvements or support for new zigbee-devices occur in the Zigbee2MQTT project, we can transfer and add the same functionality to this adapter. If you notice this, then write the issue - we'll postpone it.
91
108
 
92
109
  There are knowledge bases that can be useful for working with Zigbee-devices and equipment:
@@ -94,9 +111,11 @@ There are knowledge bases that can be useful for working with Zigbee-devices and
94
111
  * in Russian https://myzigbee.ru/
95
112
 
96
113
  ## Supported devices
114
+
97
115
  Works with devices from this list https://github.com/ioBroker/ioBroker.zigbee/wiki/Supported-devices
98
116
 
99
117
  ## Donate
118
+
100
119
  You can thank the authors by these links:
101
120
  * to Kirov Ilya https://www.paypal.me/goofyk
102
121
  * to Arthur Rupp https://paypal.me/ArthurRupp
@@ -112,7 +131,14 @@ You can thank the authors by these links:
112
131
  ### **WORK IN PROGRESS**
113
132
  -->
114
133
 
134
+
115
135
  ## Changelog
136
+ ### 1.8.5 (2022-11-30)
137
+ * (arteck) fix for new code
138
+
139
+ ### 1.8.3 (2022-11-30)
140
+ * (arteck) back to old source
141
+
116
142
  ### 1.8.1 (2022-11-28)
117
143
  * (bluefox) Packages updated
118
144
  * (bluefox) Added names of serial ports in configuration dialog
@@ -163,8 +189,8 @@ You can thank the authors by these links:
163
189
  - when a pingable device is marked active (from being inactive) it will be pinged again.
164
190
  - inactive devices are excluded from OTA updates.
165
191
  * (asgothian) Group rework part 2:
166
- - state `device.groups` will now be deleted with state Cleanup
167
- - state `info.groups` is now obsolete and will be deleted at adapter start (after transferring data to
192
+ - state device.groups will now be deleted with state Cleanup
193
+ - state info.groups is now obsolete and will be deleted at adapter start (after transferring data to
168
194
  the new storage)
169
195
  * (asgothian) Device name persistance.
170
196
  - Changes to device names made within the zigbee adapter are stored in the file dev_names.json. This file
@@ -178,7 +204,7 @@ You can thank the authors by these links:
178
204
 
179
205
  ### 1.6.12 (2022-01)
180
206
  * (asgothian) Groups were newly revised (read [here](https://github.com/ioBroker/ioBroker.zigbee/pull/1327) )
181
- - object `device.groups` is obsolet. The old one is no longer up to date
207
+ - object device.groups is obsolet..the old one is no longer up to date
182
208
 
183
209
  ### 1.6.9 (2021-12)
184
210
  * (simatec) fix admin Dark-Mode
package/admin/admin.js CHANGED
@@ -597,21 +597,22 @@ function showDevices() {
597
597
  deleteGroupConfirmation(id, getDevName(dev_block));
598
598
  });
599
599
  $('.card-reveal-buttons button[name=\'edit\']').click(function () {
600
- const dev_block = $(this).parents('div.device'),
601
- id = getDevId(dev_block),
602
- name = getDevName(dev_block);
600
+ const dev_block = $(this).parents('div.device');
601
+ const id = getDevId(dev_block);
602
+ const name = getDevName(dev_block);
603
603
  editName(id, name);
604
604
  });
605
605
  $('.card-reveal-buttons button[name=\'editgrp\']').click(function () {
606
- const dev_block = $(this).parents('div.device'),
607
- id = dev_block.attr('id').replace(namespace + '.group_', ''),
608
- name = getDevName(dev_block);
606
+ const dev_block = $(this).parents('div.device');
607
+ const id = dev_block.attr('id').replace(namespace + '.group_', '');
608
+ const name = getDevName(dev_block);
609
609
  editGroupName(id, name, false);
610
610
  });
611
611
  $('button.btn-floating[name=\'join\']').click(function () {
612
612
  const dev_block = $(this).parents('div.device');
613
- if (!$('#pairing').hasClass('pulse'))
613
+ if (!$('#pairing').hasClass('pulse')) {
614
614
  joinProcess(getDevId(dev_block));
615
+ }
615
616
  showPairingProcess();
616
617
  });
617
618
  $('.card-reveal-buttons button[name=\'info\']').click(function () {
@@ -685,10 +686,8 @@ function checkFwUpdate() {
685
686
  function letsPairing() {
686
687
  messages = [];
687
688
  sendTo(namespace, 'letsPairing', {}, function (msg) {
688
- if (msg) {
689
- if (msg.error) {
690
- showMessage(msg.error, _('Error'));
691
- }
689
+ if (msg && msg.error) {
690
+ showMessage(msg.error, _('Error'));
692
691
  }
693
692
  });
694
693
  }
@@ -696,10 +695,8 @@ function letsPairing() {
696
695
  function touchlinkReset() {
697
696
  messages = [];
698
697
  sendTo(namespace, 'touchlinkReset', {}, function (msg) {
699
- if (msg) {
700
- if (msg.error) {
701
- showMessage(msg.error, _('Error'));
702
- }
698
+ if (msg && msg.error) {
699
+ showMessage(msg.error, _('Error'));
703
700
  }
704
701
  });
705
702
  }
@@ -707,10 +704,8 @@ function touchlinkReset() {
707
704
  function joinProcess(devId) {
708
705
  messages = [];
709
706
  sendTo(namespace, 'letsPairing', {id: devId}, function (msg) {
710
- if (msg) {
711
- if (msg.error) {
712
- showMessage(msg.error, _('Error'));
713
- }
707
+ if (msg && msg.error) {
708
+ showMessage(msg.error, _('Error'));
714
709
  }
715
710
  });
716
711
  }
@@ -727,7 +722,6 @@ function getCoordinatorInfo() {
727
722
  });
728
723
  }
729
724
 
730
-
731
725
  function getDevices() {
732
726
  getCoordinatorInfo();
733
727
  sendTo(namespace, 'getDevices', {}, function (msg) {
@@ -773,17 +767,25 @@ function getMap() {
773
767
  // the function loadSettings has to exist ...
774
768
  // eslint-disable-next-line no-unused-vars
775
769
  function load(settings, onChange) {
776
- if (settings.panID === undefined) settings.panID = 6754;
777
- if (settings.extPanID === undefined) settings.extPanID = 'DDDDDDDDDDDDDDDD';
770
+ settings.panID = settings.panID || 6754;
771
+ settings.extPanID = settings.extPanID || 'DDDDDDDDDDDDDDDD';
778
772
  // fix for previous wrong value
779
- if (settings.extPanID === 'DDDDDDDDDDDDDDD') settings.extPanID = 'DDDDDDDDDDDDDDDD';
780
- if (settings.precfgkey === undefined) settings.precfgkey = '01030507090B0D0F00020406080A0C0D';
781
- if (settings.channel === undefined) settings.channel = 11;
782
- if (settings.disablePing === undefined) settings.disablePing = false;
773
+ if (settings.extPanID === 'DDDDDDDDDDDDDDD') {
774
+ settings.extPanID = 'DDDDDDDDDDDDDDDD';
775
+ }
776
+ settings.precfgkey = settings.precfgkey || '01030507090B0D0F00020406080A0C0D';
777
+ if (settings.channel === undefined){
778
+ settings.channel = 11;
779
+ }
780
+ if (settings.disablePing === undefined) {
781
+ settings.disablePing = false;
782
+ }
783
783
 
784
784
  // example: select elements with id=key and class=value and insert value
785
785
  for (const key in settings) {
786
- if (savedSettings.indexOf(key) === -1) continue;
786
+ if (savedSettings.indexOf(key) === -1) {
787
+ continue;
788
+ }
787
789
  // example: select elements with id=key and class=value and insert value
788
790
  const value = $('#' + key + '.value');
789
791
  if (value.attr('type') === 'checkbox') {
@@ -820,8 +822,9 @@ function load(settings, onChange) {
820
822
  showPairingProcess();
821
823
  });
822
824
  $('#pairing').click(function () {
823
- if (!$('#pairing').hasClass('pulse'))
825
+ if (!$('#pairing').hasClass('pulse')) {
824
826
  letsPairing();
827
+ }
825
828
  showPairingProcess();
826
829
  });
827
830
 
@@ -98,10 +98,10 @@
98
98
  "notImplementedText": "Sie können hier eigene Befehle an Ihre Geräte senden, die noch nicht als Objekte implementiert sind. Es kann auch verwendet werden, um undokumentierte Einstellungen Ihrer Geräte zu finden. Oder um die Auswirkungen von Einstellungen zu testen und zu entscheiden, ob es sich lohnt, sie als Objekt zu implementieren. Und so weiter...",
99
99
  "to make it available for other user too": "um es auch für andere Benutzer verfügbar zu machen",
100
100
  "Excludes": "ausschließen",
101
- "ExcludeTextTranslation": "Sie können hier einige Geräte hinzufügen, die von unserer Verarbeitungausgeschlossen werden sollten. Sie verwenden dann nur exposes vom ZigBee-Herdsman-Converter. Nach dem Hinzufügen starten Sie bitte den Adapter neu.",
101
+ "ExcludeTextTranslation": "Sie können hier einige Geräte hinzufügen, die von unserer Verarbeitung ausgeschlossen werden sollten. Sie verwenden dann nur exposes vom ZigBee-Herdsman-Converter. Nach dem Hinzufügen starten Sie bitte den Adapter neu.",
102
102
  "Please contribute your discoveries": "Bitte geben Sie uns Ihre Vorschläge",
103
103
  "zigbee-shepherd": "Sie können die zu sendenden Rohdaten hier bearbeiten. Verwenden Sie diese nicht, wenn Sie sich nicht sicher sind, was Sie tun! Verwenden Sie das JSON-Format (Attributnamen in doppelten Anführungszeichen!). Es können auch zusätzliche Eigenschaften hinzugefügt werden. Siehe Beispiele oben. (Format wie von zigbee-shepherd verwendet)",
104
- "SettingsExclude": "Erzwingen Sie den Start des Adapters mit inkonsistenter Konfiguration (nicht empfohlen). Bitte aktualisieren Sie den Adapter auf kompatible Firmware und erstellen Sie Ihr Netzwerk so schnell wie möglich neu.",
104
+ "SettingsExclude": "Den Start des Adapters mit inkonsistenter Konfiguration erzwingen(nicht empfohlen). Bitte aktualisieren Sie den Adapter auf kompatible Firmware und erstellen Sie Ihr Netzwerk so schnell wie möglich neu.",
105
105
  "disable internal Backup": "Deaktiviere die interne Sicherung",
106
106
  "Disable active availability check": "Aktive Verfügbarkeitsprüfung deaktivieren",
107
107
  "Others": "andere Einstellungen"