iobroker.zigbee 1.6.0 → 1.6.12

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/admin/tab_m.html CHANGED
@@ -144,7 +144,7 @@
144
144
  border: none;
145
145
  bottom: 0;
146
146
  height: 50px;
147
- background: #fff;
147
+ /*background: #fff;*/
148
148
  right: 0;
149
149
  /*text-align: right;*/
150
150
  padding: 10px;
@@ -174,18 +174,42 @@
174
174
  i.icon-green {
175
175
  color: green;
176
176
  }
177
+ .m.react-dark i.icon-green {
178
+ color: green!important;
179
+ }
180
+ .m.react-blue i.icon-green {
181
+ color: green!important;
182
+ }
177
183
  i.icon-black {
178
184
  color: black;
179
185
  }
180
186
  i.icon-blue {
181
187
  color: blue;
182
188
  }
189
+ .m.react-dark i.icon-blue {
190
+ color: rgb(100, 181, 246)!important;
191
+ }
192
+ .m.react-blue i.icon-blue {
193
+ color: rgb(100, 181, 246)!important;
194
+ }
183
195
  i.icon-red {
184
196
  color: red;
185
197
  }
198
+ .m.react-dark i.icon-red {
199
+ color: red!important;
200
+ }
201
+ .m.react-blue i.icon-red {
202
+ color: red!important;
203
+ }
186
204
  i.icon-orange {
187
205
  color: orange;
188
206
  }
207
+ .m.react-dark i.icon-orange {
208
+ color: orange!important;
209
+ }
210
+ .m.react-blue i.icon-orange {
211
+ color: orange!important;
212
+ }
189
213
  .m .btn-small.btn-flat {
190
214
  padding: 0 4px;
191
215
  }
@@ -243,7 +267,7 @@
243
267
  position:absolute;
244
268
  height: 100%;
245
269
  width: 100%;
246
- background: #fff;
270
+ /*background: #fff;*/
247
271
  z-index: 2;
248
272
  -webkit-transform: rotateY( 0deg );
249
273
  -moz-transform: rotateY( 0deg );
@@ -257,7 +281,7 @@
257
281
  box-sizing: border-box;
258
282
  height: 100%;
259
283
  width: 100%;
260
- background: #fff;
284
+ /*background: #fff;*/
261
285
  -webkit-transform: rotateY( -180deg );
262
286
  -moz-transform: rotateY( -180deg );
263
287
  -o-transform: rotateY( -180deg );
@@ -269,6 +293,9 @@
269
293
  -o-transform: rotateY( 180deg );
270
294
  transform: rotateY( 180deg );
271
295
  }
296
+ .m .card .card-action {
297
+ padding: 22px 24px;
298
+ }
272
299
  .m .switch label .lever {
273
300
  width: 30px;
274
301
  height: 12px;
@@ -307,6 +334,25 @@
307
334
  .m .idletime {
308
335
  padding-left: 15px;
309
336
  }
337
+ .m.react-blue .switch label input[type="checkbox"]:checked + .lever {
338
+ background-color: #436a93;
339
+ }
340
+ .m.react-blue .switch label .lever {
341
+ background-color: #4dabf5;
342
+ }
343
+ .m.react-blue .switch label .lever:after {
344
+ background-color: #436a93;
345
+ }
346
+
347
+ .m.react-dark .switch label input[type="checkbox"]:checked + .lever {
348
+ background-color: #436a93;
349
+ }
350
+ .m.react-dark .switch label .lever {
351
+ background-color: #4dabf5;
352
+ }
353
+ .m.react-dark .switch label .lever:after {
354
+ background-color: #436a93;
355
+ }
310
356
  </style>
311
357
  </head>
312
358
  <body>
@@ -323,7 +369,7 @@
323
369
  </div>
324
370
  <ul id="nav-mobile" class="right">
325
371
  <li>
326
- <a id="state_cleanup_btn" class="btn-floating waves-effect waves-light blue tooltipped center-align hoverable translateT" title="State Cleanup">
372
+ <a id="state_cleanup_btn" class="btn-floating waves-effect waves-light red tooltipped center-align hoverable translateT" title="State Cleanup">
327
373
  <i class="material-icons large icon-blue">sync</i></a>
328
374
  </li>
329
375
  <li>
@@ -331,7 +377,7 @@
331
377
  <i class="material-icons large icon-blue">system_update</i></a>
332
378
  </li>
333
379
  <li>
334
- <a id="add_grp_btn" class="btn-floating waves-effect waves-light green tooltipped center-align hoverable translateT" title="Add Group">
380
+ <a id="add_grp_btn" class="btn-floating waves-effect waves-light brown tooltipped center-align hoverable translateT" title="Add Group">
335
381
  <i class="material-icons large">group_work</i></a>
336
382
  </li>
337
383
  <li>
@@ -347,12 +393,11 @@
347
393
  <div class="nav-content">
348
394
  <ul class="tabs tabs-transparent">
349
395
  <li class="tab col s2"><a href="#tab-main" id="devs" class="translate">Devices</a></li>
350
- <!-- <li class="tab col s2"><a href="#tab-groups" class="translate">Groups</a></li>-->
351
396
  <li class="tab col s2"><a href="#tab-map" id="tabmap" class="translate">Network map</a></li>
352
397
  <li class="tab col s2"><a href="#tab-binding" class="translate">Binding</a></li>
353
398
  <li class="tab col s2"><a href="#tab-exclude" class="translate">Excludes</a></li>
354
399
  <!--li class="tab col s2"><a href="#tab-sett" id="settings" class="translate">Settings</a></li-->
355
- <li class="tab col s2"><a href="#tab-dev" id="develop" class="translate">Developer</a></li>
400
+ <!-- li class="tab col s2"><a href="#tab-dev" id="develop" class="translate">Developer</a></li-->
356
401
  </ul>
357
402
  </div>
358
403
  </nav>
@@ -373,7 +418,7 @@
373
418
  <input id="device-search" class="filter-input translateP" placeholder="Искать" autocomplete="new-password" readonly="readonly" onfocus="if (this.hasAttribute('readonly')) {this.removeAttribute('readonly'); this.blur(); this.focus();}" data-lang-placeholder="Filter">
374
419
  <a class="filter-clear btn-floating btn-very-small translateT red lighten-3" title="Очистить" data-lang-title="clear" style="display: none;"><i class="material-icons">clear</i></a>
375
420
  </div>
376
-
421
+
377
422
  </li>
378
423
  <li>
379
424
  <div class="col input-field" style="line-height: 24px;">
@@ -507,6 +552,7 @@
507
552
  <option value="-22">low</option>
508
553
  <option value="0">norm</option>
509
554
  <option value="19">high</option>
555
+ <option value="20">high+</option>
510
556
  </select>
511
557
  <label class="translate" for="transmitPower">transmitPower</label>
512
558
  </div>
@@ -519,173 +565,7 @@
519
565
  </div>
520
566
  </div>
521
567
  </div>
522
- <div id="tab-dev" class="col s12 page">
523
- <div id="develop" class="row">
524
- <div class="row">
525
- <div class="col s12">
526
- <h6 class="translate">This page is needed only for advanced users that like to extend adapter functionalities!</h6>
527
- </div>
528
- </div>
529
- <div class="row">
530
- <div class="col s4">
531
- <p class="translate">notImplementedText</p>
532
- <p><span class="translate">You find good explanations what the settings mean</span>&nbsp;
533
- <a href="https://docs.smartthings.com/en/latest/device-type-developers-guide/zigbee-primer.html" target="_blank" class="translate">here</a>&nbsp;
534
- <span class="translate">and in</span>&nbsp<a href="https://www.nxp.com/docs/en/user-guide/JN-UG-3115.pdf" target="_blank">ZigBee Cluster Library</a>.
535
- </p>
536
- <p><span class="translate">Please contribute your discoveries</span>&nbsp;(<a href="https://github.com/Koenkk/zigbee-herdsman-converters" target="_blank">
537
- zigbee-herdsman-converters</a>)&nbsp;<span class="translate">to make it available for other user too</span>.
538
- </p>
539
- </div>
540
- <div class="col s8">
541
- <div class="blue-grey-text">
542
- <h6 class="translate">Examples:</h6>
543
- <ul class="collapsible">
544
- <li>
545
- <div class="collapsible-header translate">Read Firmware</div>
546
- <div class="collapsible-body">Hue Motion Detector: <b>Device:</b> SML001, <b>Endpoint:</b> 2, <b>ClusterId:</b> genBasic (0),
547
- <b>Command Type: </b>Foundation, <b>Command:</b> read (0), <b>AttributeId:</b> swBuildId (16384)<br>
548
- => Result: "6.1.0.18912" (You read the device Firmware version)
549
- </div>
550
- </li>
551
- <li>
552
- <div class="collapsible-header translate">Write Attribute</div>
553
- <div class="collapsible-body"><b>Device:</b> SML001, <b>Endpoint:</b> 2,
554
- <b>ClusterId:</b> msOccupancySensing (1030), <b>Command Type: </b>Foundation,
555
- <b>Command:</b> write (2), <b>AttributeId:</b>
556
- pirOToUDelay (16, type 33), <b>Value:</b> 55<br>
557
- => (You set the timeout until motion detector changes from occupied not unoccupied,
558
- test it be <b>reading</b> same attribute)
559
- </div>
560
- </li>
561
- <li>
562
- <div class="collapsible-header translate">Send Functional command</div>
563
- <div class="collapsible-body"><b>Device:</b> TRADFRI bulb..., <b>Endpoint:</b> 1,
564
- <b>ClusterId:</b> genOnOff (6), <b>Command Type: </b>Functional,
565
- <b>Command:</b> on (1), <b>AttributeId:</b>
566
- onOff (0, type 16)<br>
567
- => You switched on your bulb
568
- <p>For details about needed arguments (expert mode) see
569
- <a href="https://github.com/zigbeer/zcl-packet/wiki/6.-Appendix#621-general">
570
- zcl-packet - Appendix</a></p></div>
571
- </li>
572
- <li>
573
- <div class="collapsible-header translate">Expert Mode</div>
574
- <div class="collapsible-body">Example:<br>
575
- <b>JSON:</b> { "devId": "zigbee.0.yourDevId",
576
- "ep": "2", "cid": "msOccupancySensing", "cmd": "write", "cmdType": "foundation", "zclData": { "pirOToUDelay": 30 },
577
- "cfg": { "manufCode": 4107, "manufSpec": 1}}<br>
578
- (You may use selectors together with expert mode to get prepared JSON)</div>
579
- </li>
580
- <li>
581
- <div class="collapsible-header translate">Configure reporting</div>
582
- <div class="collapsible-body">Example (Expert Mode):<br>
583
- <b>JSON:</b> { "devId": "zigbee.0.yourDevId",
584
- "ep": "2", "cid": "msTemperatureMeasurement", "cmd": "configReport", "cmdType": "foundation",<br>
585
- "zclData": [{<br>
586
- "attribute": "measuredValue", <br>"minimumReportInterval": 1, <br>"maximumReportInterval": 600,<br>
587
- "reportableChange": 1 }],<br>
588
- "cfg": null}
589
- </div>
590
- </li>
591
- </ul>
592
- </div>
593
- </div>
594
- </div>
595
- <div class="col s9">
596
- <div class="row">
597
- <div class="input-field col s8">
598
- <select id ="dev-selector">
599
- <option value="" disabled selected class="translate">Select a device</option>
600
- </select>
601
- <label for="dev-selector" class="translate">Device</label>
602
- </div>
603
- <div class="input-field col s4 admin-tooltip-icon translateT" title="Some kind of 'device within device'. Every endpoint may have different functions. If one does not work, test another.">
604
- <select id ="ep-selector">
605
- <option value="" disabled selected class="translate">Select an Endpoint</option>
606
- </select>
607
- <label for="ep-selector" class="translate">Endpoint</label>
608
- </div>
609
- </div>
610
- <div class="row">
611
- <div class="row">
612
- <div class="input-field col s4 admin-tooltip-icon" title="Group of functions. AttributeIds will change depending on your choice here.">
613
- <select id ="cid-selector">
614
- <option value="" disabled selected class="translate">Select cid</option>
615
- </select>
616
- <label for="cid-selector" class="translate">Cluster ID</label>
617
- </div>
618
- <div class="input-field col s4 admin-tooltip-icon" title="Command type. Available commands will change depending on your choice here. Some actions need Foundation, others Functional, you may test both.">
619
- <select id ="cmd-type-selector">
620
- <option value="foundation" selected>Foundation</option>
621
- <option value="functional">Functional</option>
622
- </select>
623
- <label for="cid-selector" class="translate">Command Type</label>
624
- </div>
625
- <div class="input-field col s4 admin-tooltip-icon" title="The action you want to run.">
626
- <select id ="cmd-selector">
627
- <option value="" disabled selected class="translate">Select Command</option>
628
- </select>
629
- <label for="cmd-selector" class="translate">Command</label>
630
- </div>
631
- <div class="input-field col s4 admin-tooltip-icon" title="The setting you are interested in.">
632
- <select id ="attrid-selector">
633
- <option value="" disabled selected class="translate">Select Attribute</option>
634
- </select>
635
- <label for="attrid-selector" class="translate">Attribute ID</label>
636
- </div>
637
- <div class="col s8">
638
- <div class="input-field col s5 offset-s1 admin-tooltip-icon translateT" title="Check if your Command needs to submit a value. For example, cmd 'write' needs the value you want to write to your device.">
639
- <label for="value-needed" style="pointer-events: auto;">
640
- <!-- workaround input not clickable https://codepen.io/alexisdiel/pen/gxwPWj -->
641
- <input style="pointer-events: none;" id="value-needed" type="checkbox" class="filled-in"/>
642
- <span style="pointer-events: none;" class="translate">Needs value</span>
643
- </label>
644
- </div>
645
- <div class="input-field col s6 admin-tooltip-icon translateT" title="The value to send to your device (use douple-quotes if a number is a string).">
646
- <input id ="value-input" disabled placeholder="0">
647
- <label for="value-input">Value</label>
648
- </div>
649
- </div>
650
- </div>
651
- </div>
652
- </div>
653
- <div class="col s3">
654
- <div class="row">
655
- <div id="expert-toggle" class="input-field col s12 admin-tooltip-icon translateT" title="Switch expert mode to enter raw data, sent to zigbee device.">
656
- <label for="expert-mode" style="pointer-events: auto;">
657
- <!-- workaround input not clickable https://codepen.io/alexisdiel/pen/gxwPWj -->
658
- <input style="pointer-events: none;" id="expert-mode" type="checkbox" class="filled-in"/>
659
- <span style="pointer-events: none;" class="translate">Expert mode</span>
660
- </label>
661
- </div>
662
- <div id="expert-json-box" class="input-field col s12" style="display:none;">
663
- <p class="translate">zigbee-shepherd</p>
664
- <div class="input-field col s12">
665
- <textarea id="expert-json" class="materialize-textarea"></textarea>
666
- <label for="expert-json">JSON</label>
667
- </div>
668
- </div>
669
- </div>
670
- <div id="dev-action-card" class=".center-align blue card-panel">
671
- <div class="card-content white-text">
672
- <h5 id="devActResult" class="card-title"></h5>
673
- <p id="devInfoMsg" class="translate">Select your settings. Then click RUN to send command to your Zigbee device.</p>
674
- </div>
675
- <div class="card-action">
676
- <a id="dev-send-btn" class="waves-effect waves-light white-text btn-large tooltipped translateT translate" data-position="bottom" title="Send data to Zigbee">Run</a>
677
- </div>
678
- </div>
679
- </div>
680
- </div>
681
- <div id="sett" class="row">
682
- <a class="col s1 offset-s11 btn-small" onClick="$('#dev_result_log').html('');">Clear Log</a>
683
- <div class="col s12" class="card-panel ">
684
- <div id="dev_result_log" class="card-content black white-text"></div>
685
- <label for="dev_result_log" class="translate">Results</label>
686
- </div>
687
- </div>
688
- </div>
568
+
689
569
  <div id="tab-groups" class="col s12 page">
690
570
  <div class="row">
691
571
  <div class="col s12">
@@ -714,8 +594,8 @@
714
594
  </div>
715
595
  </div>
716
596
  <div id="tab-exclude" class="col s12 page">
717
- <div class="col s4">
718
- <p class="translate">ExcludeTextTranslation</p>&nbsp;
597
+ <div class="row">
598
+ <p class="translate">ExcludeTextTranslation</p>
719
599
  </div>
720
600
  <div class="fixed-action-btn" style="margin-bottom: 100px">
721
601
  <a id="add_exclude" class="btn-floating waves-effect waves-light blue tooltipped center-align hoverable translateT" title="Add exlude"><i class="material-icons large">add</i></a>
@@ -727,47 +607,110 @@
727
607
  </div>
728
608
 
729
609
  <div class="materialize-dialogs m">
730
- <div id="modaledit" class="modal">
731
- <div class="modal-content">
732
- <!-- <h3 class="translate">Config device</h3> -->
733
- <div class="row">
734
- <div class="input-field">
735
- <input id="d_name" type="text" class="value validate">
736
- <label for="d_name" class="translate">Name</label>
737
- </div>
738
- <div class="input-field groups">
739
- <select id="d_groups" class="materialSelect" multiple><option value="1">Значение</option></select>
740
- <label for="d_groups" class="translate">Groups</label>
741
- </div>
742
- </div>
743
- </div>
744
- <div class="modal-footer">
745
- <a name="save" href="#!" class="modal-action modal-close waves-effect waves-green btn green translate">Save</a>
746
- <a href="#!" class="modal-action modal-close waves-effect waves-red btn-flat translate">Cancel</a>
747
- </div>
748
- </div>
610
+ <div id="modaledit" class="modal">
611
+ <div class="modal-content">
612
+ <h3 class="translate">Config device</h3>
613
+ <div class="row">
614
+ <div class="col">
615
+ <div class="input-field">
616
+ <input id="d_name" type="text" class="value validate">
617
+ <label for="d_name" class="translate">Name</label>
618
+ </div>
619
+ </div>
620
+ </div>
621
+ <div class="row epid0">
622
+ <div class="col">
623
+ <div class=endpointid>
624
+ <p class="translate device_with_endpoint">Main Endpoint</p>
625
+ </div>
626
+ </div>
627
+ <div class="col">
628
+ <div class="input-field groups">
629
+ <select id="d_groups_ep0" class="materialSelect" multiple><option value="1">Значение</option></select>
630
+ <label for="d_groups_ep0" class="translate">Groups</label>
631
+ </div>
632
+ </div>
633
+ </div>
634
+ <div class="row epid1">
635
+ <div class="col epid">
636
+ <div class=endpointid>
637
+ <p class="translate device_with_endpoint">Sub Endpoint 1</p>
638
+ </div>
639
+ </div>
640
+ <div class="col">
641
+ <div class="input-field groups">
642
+ <select id="d_groups_ep1" class="materialSelect" multiple><option value="1">Значение</option></select>
643
+ <label for="d_groups_ep1" class="translate">Groups</label>
644
+ </div>
645
+ </div>
646
+ </div>
647
+ <div class="row epid2">
648
+ <div class="col epid">
649
+ <div class=endpointid>
650
+ <p class="translate device_with_endpoint">Sub Endpoint 2</p>
651
+ </div>
652
+ </div>
653
+ <div class="col">
654
+ <div class="input-field groups">
655
+ <select id="d_groups_ep2" class="materialSelect" multiple><option value="1">Значение</option></select>
656
+ <label for="d_groups_ep2" class="translate">Groups</label>
657
+ </div>
658
+ </div>
659
+ </div>
660
+ <div class="row epid3">
661
+ <div class="col epid">
662
+ <div class=endpointid>
663
+ <p class="translate device_with_endpoint">Sub Endpoint 3</p>
664
+ </div>
665
+ </div>
666
+ <div class="col">
667
+ <div class="input-field groups">
668
+ <select id="d_groups_ep3" class="materialSelect" multiple><option value="1">Значение</option></select>
669
+ <label for="d_groups_ep3" class="translate">Groups</label>
670
+ </div>
671
+ </div>
672
+ </div>
673
+ </div>
674
+ <div class="modal-footer">
675
+ <a name="save" href="#!" class="modal-action modal-close waves-effect waves-green btn green translate">Save</a>
676
+ <a href="#!" class="modal-action modal-close waves-effect waves-red btn-flat translate">Cancel</a>
677
+ </div>
678
+ </div>
749
679
 
750
- <div id="groupedit" class="modal">
751
- <div class="modal-content">
752
- <h3 class="translate">Add/Edit Group</h3>
753
- <div class="row">
754
- <div class="input-field col s12 m4 l2">
755
- <input id="g_index" type="number" min="1" class="value validate">
756
- <label for="g_index" class="translate">№</label>
757
- </div>
758
- </div>
759
- <div class="row">
760
- <div class="input-field col s12">
761
- <input id="g_name" type="text" class="value validate">
762
- <label for="g_name" class="translate">Name</label>
680
+ <div id="groupedit" class="modal">
681
+ <div class="modal-content">
682
+ <div class = "addgroup">
683
+ <h3 class="translate">Add Group</h3>
684
+ </div>
685
+ <div class = "editgroup">
686
+ <h3 class="translate">Edit Group</h3>
687
+ </div>
688
+ <div class="row">
689
+ <div class="col s4 m4 l2">
690
+ <div class="input-field groupid">
691
+ <input id="g_index" type="number" min="1" class="value validate">
692
+ <label for="g_index" class="translate">№</label>
763
693
  </div>
764
- </div>
765
- </div>
766
- <div class="modal-footer">
767
- <a name="save" href="#!" class="modal-action modal-close waves-effect waves-green btn green translate">Save</a>
768
- <a href="#!" class="modal-action modal-close waves-effect waves-red btn-flat translate">Cancel</a>
769
- </div>
770
- </div>
694
+ </div>
695
+ <div class="input-field col s8 m8 l10">
696
+ <input id="g_name" type="text" class="value validate">
697
+ <label for="g_name" class="translate">Name</label>
698
+ </div>
699
+ </div>
700
+ <div class="row hide">
701
+ <div class="col s12">
702
+ <div class="input-field members">
703
+ <label for="g_members" class="translate">Members</label>
704
+ <select id="g_members" class="materialSelect" multiple><option value="1">Значение</option></select>
705
+ </div>
706
+ </div>
707
+ </div>
708
+ </div>
709
+ <div class="modal-footer">
710
+ <a name="save" href="#!" class="modal-action modal-close waves-effect waves-green btn green translate">Save</a>
711
+ <a href="#!" class="modal-action modal-close waves-effect waves-red btn-flat translate">Cancel</a>
712
+ </div>
713
+ </div>
771
714
 
772
715
  <div id="modaldelete" class="modal">
773
716
  <div class="modal-content">
@@ -801,6 +744,17 @@
801
744
  </div>
802
745
  </div>
803
746
 
747
+ <div id="modalreconfigure" class="modal">
748
+ <div class="modal-content">
749
+ <h3 class="translate">Reconfigure device</h3>
750
+ <p>A bunch of text</p>
751
+ </div>
752
+ <div class="modal-footer">
753
+ <a name="yes" href="#!" class="modal-action modal-close waves-effect waves-green btn green translate">Yes</a>
754
+ <a href="#!" class="modal-action modal-close waves-effect waves-red btn-flat translate">Cancel</a>
755
+ </div>
756
+ </div>
757
+
804
758
  <div id="modalpairing" class="modal modal-fixed-footer">
805
759
  <div class="modal-content">
806
760
  <h3 class="translate">Pairing process</h3>