iobroker.zigbee 1.10.3 → 1.10.11
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 +268 -17
- package/admin/adapter-settings.js +105 -18
- package/admin/admin.js +77 -45
- package/admin/i18n/de/translations.json +1 -1
- package/admin/i18n/en/translations.json +1 -1
- package/admin/i18n/fr/translations.json +1 -1
- package/admin/i18n/nl/translations.json +1 -1
- package/admin/i18n/pl/translations.json +1 -1
- package/admin/i18n/pt/translations.json +1 -1
- package/admin/img/E2204.png +0 -0
- package/admin/img/group_1.png +0 -0
- package/admin/img/group_2.png +0 -0
- package/admin/img/group_3.png +0 -0
- package/admin/img/group_4.png +0 -0
- package/admin/img/group_5.png +0 -0
- package/admin/img/group_6.png +0 -0
- package/admin/img/group_7.png +0 -0
- package/admin/index_m.html +286 -32
- package/admin/tab_m.html +312 -7
- package/admin/words.js +2 -2
- package/docs/de/readme.md +15 -16
- package/docs/en/readme.md +19 -19
- package/io-package.json +104 -99
- package/lib/backup.js +1 -2
- package/lib/commands.js +6 -5
- package/lib/developer.js +6 -2
- package/lib/devices.js +6 -2
- package/lib/groups.js +1 -25
- package/lib/ota.js +2 -2
- package/lib/statescontroller.js +48 -39
- package/lib/utils.js +4 -1
- package/lib/zigbeecontroller.js +70 -26
- package/main.js +57 -8
- package/package.json +17 -16
- package/support/docgen.js +3 -1
package/README.md
CHANGED
|
@@ -11,7 +11,11 @@
|
|
|
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, deCONZ ConBee/RaspBee modules, Silicon Labs EZSP v8 or ZIGate USB-TTL it creates its own zigbee-network, into which zigbee-devices are connected.
|
|
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.
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
By working 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
19
|
|
|
16
20
|
## Hardware
|
|
17
21
|
|
|
@@ -50,32 +54,32 @@ While Conbee/RaspBee Support is no longer considered experimental in the zigbee-
|
|
|
50
54
|
|
|
51
55
|
### Silicon Labs SoC
|
|
52
56
|
|
|
53
|
-
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 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.
|
|
57
|
+
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 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.
|
|
54
58
|
|
|
55
59
|
|
|
56
60
|
### ZiGate SoC
|
|
57
61
|
|
|
58
|
-
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 regards to the state of ZiGate adapter implementation into the zigbee-herdsman and zigbee-herdsman-converters libraries which it depends on.
|
|
62
|
+
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 regards to the state of ZiGate adapter implementation into the zigbee-herdsman and zigbee-herdsman-converters libraries which it depends on.
|
|
59
63
|
|
|
60
64
|
|
|
61
65
|
## Work with adapter
|
|
62
66
|
|
|
63
67
|

|
|
64
68
|
|
|
65
|
-
To start the driver, you must specify the name of the port on which the Zigbee
|
|
69
|
+
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.
|
|
66
70
|
|
|
67
71
|
open the settings and change port
|
|
68
72
|

|
|
69
73
|
|
|
70
74
|
|
|
71
|
-
For Windows this will be the COM port number.
|
|
75
|
+
For Windows, this will be the COM port number.
|
|
72
76
|
|
|
73
|
-
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
|
|
77
|
+
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
|
|
74
78
|
|
|
75
|
-
To connect devices, you need to switch the Zigbee
|
|
79
|
+
To connect devices, you need to switch the Zigbee coordinator to pairing mode by pressing the green button. The countdown will begin (60 seconds) until the device connectivity is available.
|
|
76
80
|
To connect Zigbee devices in most cases, just press the pairing button on the device itself. But there are features for some devices. More information about pairing with devices can be found [here (in English)](https://www.zigbee2mqtt.io/getting_started/pairing_devices.html)
|
|
77
81
|
|
|
78
|
-
After successful pairing, the device appears in the configuration panel. If the device appears in the configuration panel but has the type "undefined", then this is an unknown device and
|
|
82
|
+
After successful pairing, the device appears in the configuration panel. If the device appears in the configuration panel but has the type "undefined", then this is an unknown device and cannot be worked with it. If the device is in the list of available devices, but added as "undefined", then try to remove the device and add it again.
|
|
79
83
|
|
|
80
84
|
The devices connected to the Zigbee-network and inform the coordinator of their status and events (button presses, motion detection, temperature change). This information is reflected in the ioBroker object-states. Some ioBroker states have feedback and send commands to the zigbee-device when the value changes (switching the state of the outlet or lamp, changing the scene or the brightness of the lamp).
|
|
81
85
|
|
|
@@ -97,7 +101,7 @@ https://www.zigbee2mqtt.io/information/binding
|
|
|
97
101
|
|
|
98
102
|
### Developer Tab
|
|
99
103
|
|
|
100
|
-
This is a tool for advanced users to test currently unsupported devices or enhance this
|
|
104
|
+
This is a tool for advanced users to test currently unsupported devices or enhance this adapter's functionality. More instructions can be found on the tab.
|
|
101
105
|

|
|
102
106
|
|
|
103
107
|
## Additional info
|
|
@@ -113,7 +117,7 @@ There are knowledge bases that can be useful for working with Zigbee-devices and
|
|
|
113
117
|
[Works with devices from this list](https://github.com/ioBroker/ioBroker.zigbee/wiki/Supported-devices)
|
|
114
118
|
|
|
115
119
|
|
|
116
|
-
## More
|
|
120
|
+
## More Information
|
|
117
121
|
|
|
118
122
|
[in Deutsch](https://github.com/ioBroker/ioBroker.zigbee/blob/master/docs/de/readme.md)
|
|
119
123
|
|
|
@@ -131,17 +135,51 @@ You can thank the authors by these links:
|
|
|
131
135
|
* to Arthur Rupp https://paypal.me/ArthurRupp
|
|
132
136
|
|
|
133
137
|
-----------------------------------------------------------------------------------------------------
|
|
134
|
-
|
|
135
138
|
## Changelog
|
|
139
|
+
### 1.10.11 (2024-11-02)
|
|
140
|
+
* BREAKING CHANGE
|
|
141
|
+
*
|
|
142
|
+
* bugs : ChannelScan is currently not available
|
|
143
|
+
*
|
|
144
|
+
*
|
|
145
|
+
* (lebrinkma) fix linter errors
|
|
146
|
+
* (asgothian) disable map display for deactivated devices
|
|
147
|
+
* (asgothian) new option on map: disable physics interaction
|
|
148
|
+
* (asgothian) new zigbee-herdsman-converters 20.28.0
|
|
149
|
+
* (asgothian) new zigbee-herdsman 2.1.1
|
|
150
|
+
* (asgothian) Allow use of keyless converters (used for TuYa and compatible devices in zigbee-herdsman-converters
|
|
151
|
+
* (arteck) swap from request to axios
|
|
152
|
+
* (arteck) delete groups works again
|
|
153
|
+
|
|
154
|
+
### 1.10.9 (2024-09-05)
|
|
155
|
+
* (arteck) typo admin settings
|
|
156
|
+
* (arteck) eslint config
|
|
157
|
+
|
|
158
|
+
### 1.10.8 (2024-09-05)
|
|
159
|
+
* (arteck) corr admin settings
|
|
160
|
+
* (arteck) add new eslint version
|
|
161
|
+
|
|
162
|
+
### 1.10.7 (2024-09-05)
|
|
163
|
+
* (arteck) add flow control option
|
|
164
|
+
* (asgothian) add new NewHerdsman
|
|
165
|
+
* (arteck) add new ezsp coordinator Firmware (7.4.1.0)
|
|
166
|
+
|
|
167
|
+
### 1.10.5 (2024-06-21)
|
|
168
|
+
* (arteck) icon ota device update
|
|
169
|
+
* (arteck) icon fix
|
|
170
|
+
|
|
171
|
+
### 1.10.4 (2024-04-20)
|
|
172
|
+
* (arteck) core update
|
|
173
|
+
* (arteck) dependency update
|
|
174
|
+
|
|
136
175
|
### 1.10.3 (2024-04-06)
|
|
137
176
|
* (arteck) dependency update
|
|
138
|
-
*
|
|
139
177
|
|
|
140
178
|
### 1.10.2 (2024-01-25)
|
|
141
179
|
* (arteck) dependency update
|
|
142
180
|
|
|
143
181
|
### 1.10.1 (2024-01-21)
|
|
144
|
-
* (arteck) Baudrate is now configurable. works ONLY with Deconz/Conbee(
|
|
182
|
+
* (arteck) Baudrate is now configurable. works ONLY with Deconz/Conbee(38400)
|
|
145
183
|
* (arteck) add nvbackup.json delete button
|
|
146
184
|
|
|
147
185
|
### 1.10.0 (2024-01-13)
|
|
@@ -229,17 +267,17 @@ You can thank the authors by these links:
|
|
|
229
267
|
* (arteck) new Documentation (thx Stefan)
|
|
230
268
|
|
|
231
269
|
### 1.8.11 (2022-12-10)
|
|
232
|
-
* (arteck) fix compsite exposes with list
|
|
270
|
+
* (arteck) fix compsite exposes with a list
|
|
233
271
|
|
|
234
272
|
### 1.8.10 (2022-12-12)
|
|
235
273
|
* (asgothian) fix group access
|
|
236
274
|
* (asgothian) add option for pairing code:
|
|
237
|
-
A new icon allows
|
|
275
|
+
A new icon allows opening the network after first entering a pairing code
|
|
238
276
|
listed on the device
|
|
239
277
|
* (asgothian) easier use of external converters
|
|
240
278
|
- external converters can now be placed in the zigbee adapter data folder
|
|
241
279
|
- no absolite path is required to access them
|
|
242
|
-
- external converters posted on the
|
|
280
|
+
- external converters posted on the GitHub for zigbee-herdsman-converters
|
|
243
281
|
should work as they are - folders for libraries are rewritten to match
|
|
244
282
|
the expected location when 'required' from within the zigbee adapter
|
|
245
283
|
- Log entries will identify which files are entered as converters. Errors
|
|
@@ -335,7 +373,220 @@ You can thank the authors by these links:
|
|
|
335
373
|
### 1.6.1 (2021-08)
|
|
336
374
|
* (kirovilya) herdsman compatibility
|
|
337
375
|
|
|
338
|
-
|
|
376
|
+
### 1.6.0 (2021-08-09)
|
|
377
|
+
|
|
378
|
+
### 1.5.6 (2021-05-26)
|
|
379
|
+
* (kirovilya) new UI add
|
|
380
|
+
|
|
381
|
+
### 1.5.5 (2021-05-05)
|
|
382
|
+
* Fixes for new zigbee-herdsman-converters
|
|
383
|
+
* UI fixes
|
|
384
|
+
|
|
385
|
+
### 1.5.3 (2021-04-30)
|
|
386
|
+
* (arteck) Fix for js-controller 3.3.*
|
|
387
|
+
|
|
388
|
+
### 1.5.2 (2021-04-29)
|
|
389
|
+
* (asgothian) Groups on dashboard
|
|
390
|
+
|
|
391
|
+
### 1.5.1 (2021-04-14)
|
|
392
|
+
* (kirovilya) Dashboard
|
|
393
|
+
* (asgothian) Groups (reworked)
|
|
394
|
+
* [Experimental support EZSP protocol for EFR32 chips](https://github.com/Koenkk/zigbee-herdsman/issues/319) (zigbee-herdsman)
|
|
395
|
+
|
|
396
|
+
### 1.4.4 (2021-02-14)
|
|
397
|
+
* (kirovilya) External converters https://www.zigbee2mqtt.io/information/configuration.html#external-converters-configuration
|
|
398
|
+
* (asgothian) Enhancement ping process
|
|
399
|
+
* (asgothian) Devive query state-button
|
|
400
|
+
* (asgothian) State Cleanup button
|
|
401
|
+
* (arteck) Setting to use exposes instead of internal device description
|
|
402
|
+
|
|
403
|
+
### 1.4.1 (2020-12)
|
|
404
|
+
* (o0shojo0o) added a kelvin possibility into colortemp
|
|
405
|
+
* (asgothian) Hue_calibration for exposed devices (Use requires PR on zigbee-herdsman-converters, PR is being worked on)
|
|
406
|
+
* (asgothian) fix Tuya Thermostat: restore lost property "preset"
|
|
407
|
+
* (asgothian) Change for Device Availability: Stagger initial ping by 200 ms to prevent network congestion due to a large number of ping requests
|
|
408
|
+
* (asgothian) Change for Device Availability: Ping request triggered on reconnect. Before the herdsman Ping function is used, the adapter attempts to read the "state" dp. If this is successful, no ping is sent and the state is set
|
|
409
|
+
* (asgothian) Change for Device Availability: Set link Quality to 0 when a device is not connected, 10 when it is reconnecting.
|
|
410
|
+
* (asgothian) fix for message "illegal properties x,y" - remove color and color_temp from readable states on device available again (Issue #607)
|
|
411
|
+
* (asgothian) RGB Color can now be entered as "named" color. Implemented names are taken from the list of extended web colors on wikipedia (https://en.wikipedia.org/wiki/Web_colors)
|
|
412
|
+
* (asgothian) change in how RGB color is parsed. Incomplete colors will now be parsed successfully. #FFF will result in R 0, G 15, B 255
|
|
413
|
+
* (asgothian) change in OTA: Message that a device does not respond for OTA query downgraded to "info" from "error"
|
|
414
|
+
* (asgothian) new coordinator card
|
|
415
|
+
|
|
416
|
+
### 1.4.0 (2020-12)
|
|
417
|
+
* Many new devices available
|
|
418
|
+
|
|
419
|
+
Starting from version 1.4.0, new devices in iobroker.zigbee will be added automatically, based on the *exposes* described in zigbee-herdsman-converters.
|
|
420
|
+
The *exposes* section describes the device's capabilities, events and control commands. In iobroker.zigbee these descriptions are converted to iobroker states.
|
|
421
|
+
This means that the new device is described correctly enough in zigbee-herdsman-converters to start working with iobroker.zigbee (do not need to add it to our /lib/devices files.js and /lib/states.js).
|
|
422
|
+
|
|
423
|
+
The only thing that is not described (yet, it may change in the future) in zigbee-herdsman-converters is the device image. This is why the device icon on network map uses external links to the resource https://www.zigbee2mqtt.io/images/devices/*.
|
|
424
|
+
If you want to use local images, then you need to put the image file in /admin/img and briefly describe the device in the /lib/devices.js file without the *states*:
|
|
425
|
+
```
|
|
426
|
+
{
|
|
427
|
+
models: [‘01MINIZB’],
|
|
428
|
+
icon: 'img/ITEAD01ZBMINI. png',
|
|
429
|
+
}
|
|
430
|
+
```
|
|
431
|
+
in this case, the *states* attribute will be formed based on the *exposes* description and the image will be local.
|
|
432
|
+
|
|
433
|
+
### 1.3.1 (2020-10-30)
|
|
434
|
+
* [Experimental Zigate support](https://github.com/Koenkk/zigbee-herdsman/issues/242) (zigbee-herdsman)
|
|
435
|
+
* New devices by:
|
|
436
|
+
asgothian, arteck, kirovilya, PaulchenPlump
|
|
437
|
+
|
|
438
|
+
### 1.3.0 (2020-10-07)
|
|
439
|
+
* More stable (zigbee-herdsman)
|
|
440
|
+
* Backup prior database and nv-data (for z-stack 3) before start adapter
|
|
441
|
+
* Allow to select bind cluster
|
|
442
|
+
* Admin Tab support (experimental)
|
|
443
|
+
* (UncleSamSwiss, DutchmanNL) Translation
|
|
444
|
+
* New devices by:
|
|
445
|
+
arteck, kirovilya, Shade, krumbholz, fre, Alex18081, ae, asgothian,
|
|
446
|
+
Strunzdesign, kairauer, VLGorskij, Hesse-Bub, PaulchenPlump, blackrozes
|
|
447
|
+
|
|
448
|
+
### 1.2.1 (2020-08-16)
|
|
449
|
+
* Fixes after changing device identify method
|
|
450
|
+
* (Garfonso) Allow unbinding from coordinator
|
|
451
|
+
|
|
452
|
+
### 1.2.0 (2020-08-09)
|
|
453
|
+
* Serialport 9.0.0. (zigbee-herdsman)
|
|
454
|
+
* Drop support Node < 10 (zigbee-herdsman)
|
|
455
|
+
* Device now identify (for zigbee-herdsman-converters) by model not zigbeeModel
|
|
456
|
+
|
|
457
|
+
Improvements and fixes:
|
|
458
|
+
* (Strunzdesign) Fixed the mapping between bulb levels and adapter levels
|
|
459
|
+
* (kirovilya) Fix ota for unavailable devices
|
|
460
|
+
* (kirovilya) Lazy states - created only when an event arrives
|
|
461
|
+
* (kirovilya) States generator - states are created depending on the device and its endpoints
|
|
462
|
+
* (Shade) Fixed WXKG11LM clicks
|
|
463
|
+
* (allofmex) Improved DeveloperTab logs
|
|
464
|
+
* (allofmex) Add humidity and temperature calibration state to Tuya RH3052
|
|
465
|
+
* (kirovilya) Fixed a typo due to which extPanID was not set
|
|
466
|
+
* (allofmex) Retry reconnect gateway all the time for TCP-connected gateway
|
|
467
|
+
* (kirovilya) Allow collecting zigbee-herdsman logs to iobroker logs
|
|
468
|
+
* (kirovilya) Additional states for QBKG12LM
|
|
469
|
+
|
|
470
|
+
New devices:
|
|
471
|
+
* (kirovilya) BlitzWolf BW-IS3, Paulmann 500.67, Paulmann 798.09
|
|
472
|
+
* (kirovilya) DiY Geiger counter https://modkam.ru/?p=1591
|
|
473
|
+
* (kirovilya) DiY 8 Relays + 8 switches https://modkam.ru/?p=1638
|
|
474
|
+
* (kirovilya) DiY Freepad https://github.com/diyruz/freepad
|
|
475
|
+
* (kirovilya) Neo Zigbee Siren Alarm https://szneo.com/en/products/show.php?id=241
|
|
476
|
+
* (Shade) RB 278 T
|
|
477
|
+
* (arteck) TS0601_thermostat
|
|
478
|
+
* (arteck) TS0121
|
|
479
|
+
* (arteck) GL-D-004Z
|
|
480
|
+
* (Shade) WXKG07LM
|
|
481
|
+
* (drohne200) 1746430P7
|
|
482
|
+
* (sebastian) 4058075816459
|
|
483
|
+
* (itProfi) SGMHM-I1
|
|
484
|
+
* (arteck) owvfni3
|
|
485
|
+
* (arteck) TS0001, TS0111
|
|
486
|
+
* (Daniel Dreier) Paulmann 500.45
|
|
487
|
+
* (arteck) ZK-EU-2U
|
|
488
|
+
* (Newan) Busch-Jaeger 6735/6736/6737
|
|
489
|
+
* (andrico21) ZM-L03E-Z
|
|
490
|
+
* (arteck) 915005106701, 9290018187B
|
|
491
|
+
* (frankjoke) HGZB-20-UK, GL-W-001Z
|
|
492
|
+
* (arteck) 4034031P7, 3435011P7
|
|
493
|
+
* (arteck) TS0041
|
|
494
|
+
* (agross) 5062231P7, 5062431P7
|
|
495
|
+
* (kirovilya) TI0001-switch, TI0001-socket
|
|
496
|
+
* (arteck) RB 178 T
|
|
497
|
+
* (arteck) HGZB-07A, AV2010/22, AV2010/22A, TS0041, TS0043
|
|
498
|
+
* (nbars) E1744
|
|
499
|
+
* (Florian Look) GS361A-H04
|
|
500
|
+
* (arteck) ICZB-IW11SW
|
|
501
|
+
* (kirovilya) HS2WD-E
|
|
502
|
+
* (Sacred-Shadow) FL 130 C
|
|
503
|
+
* (arteck) HS3SA, 9290022169, 4096730U7, AC10787, SP 220, SP 222, SP 224, 07004D, BW-IS2, InstaRemote
|
|
504
|
+
* (kirovilya) MCLH-08, MCLH-05
|
|
505
|
+
* (Sacred-Shadow) 1746130P7
|
|
506
|
+
* (mar565) GUNNARP panel round
|
|
507
|
+
* (Erdnuss3003) 4090531P7
|
|
508
|
+
|
|
509
|
+
### 1.1.1 (2020-04-17)
|
|
510
|
+
* (kirovilya) Critical. Fixed error starting adapter if cc-chip was only flashed
|
|
511
|
+
* (kirovilya) Nue/3A FNB56-ZSW02LX2.0
|
|
512
|
+
* (Strunzdesign) Added missing raw button events for Philips Hue Smart Button ROM001
|
|
513
|
+
* (Sacred-Shadow) Fix Color for Outdoor Lantern W RGBW OSRAM
|
|
514
|
+
|
|
515
|
+
### 1.1.0 (2020-04-12)
|
|
516
|
+
new Zigbee-herdsman features:
|
|
517
|
+
* ConBee/RaspBee (experimental support) https://github.com/Koenkk/zigbee-herdsman/issues/72
|
|
518
|
+
* OTA update for some devices (IKEA, OSRAM and other) https://github.com/Koenkk/zigbee2mqtt/issues/2921
|
|
519
|
+
* Touchlink reset and join https://github.com/Koenkk/zigbee2mqtt/issues/2396
|
|
520
|
+
* Green Power devices support https://github.com/Koenkk/zigbee2mqtt/issues/3322
|
|
521
|
+
* (peterfido) iCasa KPD14S und KPD18S hinzu
|
|
522
|
+
* (kirovilya) Moes Zigbee Thermostatic Radiator
|
|
523
|
+
* (kirovilya) LifeControl power plug MCLH-03, bulb MCLH-02, water leak MCLH-07, door sensor MCLH-04
|
|
524
|
+
* (kirovilya) Philips LCT002, LCT011, LTW015, LWG004
|
|
525
|
+
* (kirovilya) Gledopto GL-C-007 with a channel
|
|
526
|
+
* (MultivitaminJuice) Iluminize 511.040
|
|
527
|
+
* (Sacred-Shadow) Bitron 902010/24
|
|
528
|
+
* (kirovilya) Color indication of LQI and Battery icon
|
|
529
|
+
* (kirovilya) Device info modal dialog
|
|
530
|
+
* (arteck) Philips LCT026
|
|
531
|
+
* (obakuhl) Improvements Osram switch mini
|
|
532
|
+
* (arteck) Nue / 3A FB56+ZSW1GKJ2.5, LXN-1S27LX1.0
|
|
533
|
+
* (agross) Philips Signe Floor and Table
|
|
534
|
+
* (arteck) TRADFRI bulb E14 WS 470lm, OSRAM PAR16 TW Z3
|
|
535
|
+
* (kirovilya) Smart remote controller (4 buttons)
|
|
536
|
+
* (allofmex) OTA updates
|
|
537
|
+
* (kirovilya) Aqara opple change mode keys (for binding)
|
|
538
|
+
* (palsch) Heiman HS2WD-E siren
|
|
539
|
+
|
|
540
|
+
### 1.0.4 (2020-03-14)
|
|
541
|
+
* (kirovilya) Philips Hue Adore Bathroom Mirror Light
|
|
542
|
+
* (kirovilya) Oujiabao Gas and carbon monoxide alarm
|
|
543
|
+
* (kirovilya) Tuya SOS button
|
|
544
|
+
* (Erdnuss3003) Schwaiger ZBT-DIMLight-GLS0800
|
|
545
|
+
* (arteck) Smart Home Pty FB56-ZCW11HG1.4, LXT56-LS27LX1.7
|
|
546
|
+
* (arteck) Xiaomi plug lumi.plug.mmeu01
|
|
547
|
+
* (arteck) Innr RS 228 T, RS 230 C
|
|
548
|
+
* (arteck) Gledopto GL-MC-001, GL-D-003ZS
|
|
549
|
+
* (allmyjoes) Bitron AV2010/21A
|
|
550
|
+
* (arteck) Osram Panel TW 595 UGR22
|
|
551
|
+
* (kirovilya) IKEA SURTE door WS 38x64
|
|
552
|
+
* (andigandi) Philips Hue LCG002, Hue LTG002
|
|
553
|
+
* (arteck) iCasa ICZB-FC
|
|
554
|
+
* (arteck) Osram A60 DIM Z3
|
|
555
|
+
* (arteck) Paulmann 371000001
|
|
556
|
+
* (DaCHRIS) Osram PAR16 DIM Z3
|
|
557
|
+
* (DaCHRIS) Philips LWG001
|
|
558
|
+
* (DaCHRIS) Illuminize 511.202
|
|
559
|
+
* (SchumyHao) TERNCY-SD01 knob dimmer
|
|
560
|
+
* (SchumyHao) Xiaomi lumi.lock.aq1
|
|
561
|
+
* (kirovilya) New eWeLink devices: button, TH sensor, contact sensor, motion sensor
|
|
562
|
+
* (kirovilya) Allow pairing to routers (again)
|
|
563
|
+
* (Erdnuss3003) Philips Hue LCT021
|
|
564
|
+
* (root) Trust ZWLD-100 water leak sensor
|
|
565
|
+
* (smartpran) Bitron AV2010/32
|
|
566
|
+
|
|
567
|
+
### 1.0.3 (2020-02-09)
|
|
568
|
+
* (Tw1nh34d) Hornbach FLAIR LED
|
|
569
|
+
* (asgothian) Hue smart button, Heiman smoke sensor
|
|
570
|
+
* (kirovilya) Philips LTC014, LTC015
|
|
571
|
+
* (kirovilya) Power states for QBKG11LM
|
|
572
|
+
* (Garfonso) Change role for occupancy state to 'sensor.motion'
|
|
573
|
+
* (kirovilya) Change illuminance state to illuminance_lux (for lux value)
|
|
574
|
+
* (arteck) Philips LCF002
|
|
575
|
+
* (arteck) TRADFRI open/close remote
|
|
576
|
+
* (kirovilya) Tuya sensor TS0201
|
|
577
|
+
|
|
578
|
+
### 1.0.2 (2020-01-29)
|
|
579
|
+
* (kirovilya) All button events for Aqara Opple switch
|
|
580
|
+
* (ma-john) OSRAM PAR16 RGBW Z3
|
|
581
|
+
* (arteck) Phillips LWA004
|
|
582
|
+
* (MiniMe6666) Heiman SmokeSendor-N-3.0
|
|
583
|
+
* (kirovilya) Force remove device
|
|
584
|
+
* (kirovilya) Fix some networkmap bugs
|
|
585
|
+
* (kirovilya) Extended info button
|
|
586
|
+
* (kirovilya) Long press for WXKG01LM
|
|
587
|
+
|
|
588
|
+
### 1.0.1 (2020-01-23)
|
|
589
|
+
* fix for old z-stack firmware
|
|
339
590
|
|
|
340
591
|
### 1.0.0 (2020-01-22)
|
|
341
592
|
* Powered by new [zigbee-herdsman](https://github.com/Koenkk/zigbee-herdsman) library and new [converters database](https://github.com/Koenkk/zigbee-herdsman-converters)
|
|
@@ -4,8 +4,8 @@ const parts = path.split('/');
|
|
|
4
4
|
parts.splice(-3);
|
|
5
5
|
|
|
6
6
|
const socket = io.connect('/', { path: parts.join('/') + '/socket.io' });
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
const query = (window.location.search || '').replace(/^\?/, '').replace(/#.*$/, '');
|
|
8
|
+
const args = {};
|
|
9
9
|
let theme = null;
|
|
10
10
|
|
|
11
11
|
// parse parameters
|
|
@@ -14,7 +14,7 @@ query.trim().split('&').filter(function (t) { return t.trim(); }).forEach(functi
|
|
|
14
14
|
if (!i && parts.length === 1 && !isNaN(parseInt(b, 10))) {
|
|
15
15
|
args.instance = parseInt(b, 10);
|
|
16
16
|
}
|
|
17
|
-
|
|
17
|
+
const name = parts[0];
|
|
18
18
|
args[name] = parts.length === 2 ? parts[1] : true;
|
|
19
19
|
|
|
20
20
|
if (name === 'instance') {
|
|
@@ -28,7 +28,7 @@ query.trim().split('&').filter(function (t) { return t.trim(); }).forEach(functi
|
|
|
28
28
|
}
|
|
29
29
|
});
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
const instance = args.instance;
|
|
32
32
|
|
|
33
33
|
let common = null; // common information of adapter
|
|
34
34
|
const host = null; // host object on which the adapter runs
|
|
@@ -55,7 +55,7 @@ $(document).ready(function () {
|
|
|
55
55
|
function loadSystemConfig(callback) {
|
|
56
56
|
socket.emit('getObject', 'system.config', function (err, res) {
|
|
57
57
|
if (!err && res && res.common) {
|
|
58
|
-
|
|
58
|
+
// systemLang = res.common.language || systemLang;
|
|
59
59
|
systemConfig = res;
|
|
60
60
|
}
|
|
61
61
|
socket.emit('getObject', 'system.certificates', function (err, res) {
|
|
@@ -96,17 +96,13 @@ function loadSettings(callback) {
|
|
|
96
96
|
if (typeof load === 'undefined') {
|
|
97
97
|
alert('Please implement save function in your admin/index.html');
|
|
98
98
|
} else {
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
$('.adapter-container').addClass('react-' + _query[q].substring(6));
|
|
106
|
-
theme = 'react-' + _query[q].substring(6);
|
|
107
|
-
}
|
|
99
|
+
const _query = query.split('&');
|
|
100
|
+
for (let q = 0; q < _query.length; q++) {
|
|
101
|
+
if (_query[q].indexOf('react=') !== -1) {
|
|
102
|
+
$('.adapter-container').addClass('react-' + _query[q].substring(6));
|
|
103
|
+
theme = 'react-' + _query[q].substring(6);
|
|
104
|
+
}
|
|
108
105
|
}
|
|
109
|
-
|
|
110
106
|
load(res.native, onChange);
|
|
111
107
|
}
|
|
112
108
|
if (typeof callback === 'function') {
|
|
@@ -118,9 +114,101 @@ function loadSettings(callback) {
|
|
|
118
114
|
}
|
|
119
115
|
alert('error loading settings for ' + _adapterInstance + '\n\n' + err);
|
|
120
116
|
}
|
|
117
|
+
// Design Fix simatec
|
|
118
|
+
checkMediaQuery();
|
|
121
119
|
});
|
|
122
120
|
}
|
|
123
121
|
|
|
122
|
+
window.addEventListener('resize', checkMediaQuery);
|
|
123
|
+
|
|
124
|
+
function checkMediaQuery() {
|
|
125
|
+
const mediaQuery = window.matchMedia('(max-width: 600px)');
|
|
126
|
+
|
|
127
|
+
if (mediaQuery.matches) {
|
|
128
|
+
designFix();
|
|
129
|
+
console.log('Screen < 600px.');
|
|
130
|
+
} else {
|
|
131
|
+
console.log('Screen > 600px.');
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
// Design Fix simatec
|
|
136
|
+
function designFix() {
|
|
137
|
+
const dropdownToggle = document.querySelector('.dropdown-toggle');
|
|
138
|
+
|
|
139
|
+
if (!dropdownToggle) {
|
|
140
|
+
const cols = document.querySelectorAll('.col:not(.tab)');
|
|
141
|
+
const sClasses = ['s1', 's2', 's3', 's4', 's5', 's6', 's7', 's8', 's9', 's10', 's11'];
|
|
142
|
+
|
|
143
|
+
cols.forEach(col => {
|
|
144
|
+
sClasses.forEach(sClass => {
|
|
145
|
+
if (col.classList.contains(sClass)) {
|
|
146
|
+
col.classList.remove(sClass);
|
|
147
|
+
}
|
|
148
|
+
});
|
|
149
|
+
|
|
150
|
+
col.classList.add('s12');
|
|
151
|
+
});
|
|
152
|
+
|
|
153
|
+
const logo = document.querySelector('.logo');
|
|
154
|
+
|
|
155
|
+
if (logo) {
|
|
156
|
+
const col = logo.closest('.col');
|
|
157
|
+
if (col) {
|
|
158
|
+
const sClasses = ['s1', 's2', 's3', 's4', 's5', 's6', 's7', 's8', 's9', 's10', 's11', 's12', 'm2', 'm4', 'm8', 'm10', 'm12', 'l2', 'l4', 'l8', 'l10', 'l12',];
|
|
159
|
+
sClasses.forEach(sClass => {
|
|
160
|
+
if (col.classList.contains(sClass)) {
|
|
161
|
+
col.classList.remove(sClass);
|
|
162
|
+
}
|
|
163
|
+
});
|
|
164
|
+
col.classList.add('s10');
|
|
165
|
+
col.classList.add('m6');
|
|
166
|
+
col.classList.add('l6');
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
const allTabs = document.querySelectorAll('.tabs');
|
|
171
|
+
|
|
172
|
+
allTabs.forEach(function (tabs) {
|
|
173
|
+
const dropdownToggle = document.createElement('div');
|
|
174
|
+
dropdownToggle.classList.add('dropdown-toggle');
|
|
175
|
+
|
|
176
|
+
const icon = document.createElement('i');
|
|
177
|
+
icon.classList.add('material-icons');
|
|
178
|
+
icon.textContent = 'menu';
|
|
179
|
+
dropdownToggle.appendChild(icon);
|
|
180
|
+
|
|
181
|
+
tabs.insertAdjacentElement('beforebegin', dropdownToggle);
|
|
182
|
+
|
|
183
|
+
const dropdownMenu = document.createElement('div');
|
|
184
|
+
dropdownMenu.classList.add('dropdown-menu');
|
|
185
|
+
|
|
186
|
+
const tabLinks = tabs.querySelectorAll('li a');
|
|
187
|
+
|
|
188
|
+
tabLinks.forEach(function (tab) {
|
|
189
|
+
const dropdownLink = document.createElement('a');
|
|
190
|
+
dropdownLink.href = tab.getAttribute('href');
|
|
191
|
+
dropdownLink.textContent = tab.textContent;
|
|
192
|
+
dropdownMenu.appendChild(dropdownLink);
|
|
193
|
+
dropdownLink.addEventListener('click', function () {
|
|
194
|
+
tab.click();
|
|
195
|
+
dropdownMenu.classList.remove('show');
|
|
196
|
+
});
|
|
197
|
+
});
|
|
198
|
+
|
|
199
|
+
tabs.insertAdjacentElement('beforebegin', dropdownMenu);
|
|
200
|
+
|
|
201
|
+
dropdownToggle.addEventListener('click', function () {
|
|
202
|
+
dropdownMenu.classList.toggle('show');
|
|
203
|
+
});
|
|
204
|
+
|
|
205
|
+
const rect = dropdownToggle.getBoundingClientRect();
|
|
206
|
+
dropdownMenu.style.top = `${rect.bottom}px`;
|
|
207
|
+
dropdownMenu.style.right = '10px';
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
|
|
124
212
|
function prepareTooltips() {
|
|
125
213
|
$('.admin-icon').each(function () {
|
|
126
214
|
let id = $(this).data('id');
|
|
@@ -156,7 +244,7 @@ function prepareTooltips() {
|
|
|
156
244
|
link = 'https://github.com/ioBroker/ioBroker.' + common.name + '#' + id;
|
|
157
245
|
}
|
|
158
246
|
}
|
|
159
|
-
if (!link.match('^https?:\/\/')) {
|
|
247
|
+
if (!link.match('^https?:\/\/')) { //eslint-disable-line no-useless-escape
|
|
160
248
|
if (common.readme) {
|
|
161
249
|
link = common.readme + '#' + link;
|
|
162
250
|
} else {
|
|
@@ -211,9 +299,8 @@ function onChange(isChanged) {
|
|
|
211
299
|
}
|
|
212
300
|
|
|
213
301
|
function showMessage(message, title, icon) {
|
|
214
|
-
var $dialogMessage;
|
|
215
302
|
// noinspection JSJQueryEfficiency
|
|
216
|
-
$dialogMessage = $('#dialog-message');
|
|
303
|
+
let $dialogMessage = $('#dialog-message');
|
|
217
304
|
if (!$dialogMessage.length) {
|
|
218
305
|
$('body').append(
|
|
219
306
|
'<div class="m"><div id="dialog-message" class="modal modal-fixed-footer">' +
|