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 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. 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.
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
  ![](docs/tutorial/zigbee.png)
64
68
 
65
- 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.
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
  ![](docs/tutorial/settings.png)
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-coordinator to pairing mode by pressing the green button. The countdown will begin (60 seconds) until the device connectivity is available.
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 can not be work 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.
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 adapters functionality. More instructions can be found on tab.
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
  ![](docs/tutorial/tab-dev-1.png)
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 Informations
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( 38400 )
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 to open the network after first entering a pairing code
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 github for zigbee-herdsman-converters
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
- var query = (window.location.search || '').replace(/^\?/, '').replace(/#.*$/, '');
8
- var args = {};
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
- var name = parts[0];
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
- var instance = args.instance;
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
- systemLang = res.common.language || systemLang;
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
- // 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
- }
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">' +