iobroker.zigbee 2.0.5 → 3.0.1

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.
Files changed (42) hide show
  1. package/README.md +22 -3
  2. package/admin/admin.js +420 -115
  3. package/admin/index_m.html +285 -229
  4. package/admin/tab_m.html +108 -91
  5. package/docs/de/img/Bild30.png +0 -0
  6. package/docs/de/img/Bild38.png +0 -0
  7. package/docs/de/img/Info.png +0 -0
  8. package/docs/de/img/Zigbee_config_de.jpg +0 -0
  9. package/docs/de/img/battery.png +0 -0
  10. package/docs/de/img/debug.png +0 -0
  11. package/docs/de/img/delete.png +0 -0
  12. package/docs/de/img/disconnected.png +0 -0
  13. package/docs/de/img/edit_grp.png +0 -0
  14. package/docs/de/img/edit_image.png +0 -0
  15. package/docs/de/img/grp_nok.png +0 -0
  16. package/docs/de/img/grp_ok.png +0 -0
  17. package/docs/de/img/on_off.png +0 -0
  18. package/docs/de/img/reconfigure.png +0 -0
  19. package/docs/de/readme.md +52 -43
  20. package/docs/en/img/Zigbee_config_en.png +0 -0
  21. package/docs/en/img/Zigbee_pairing_en.png +0 -0
  22. package/docs/en/readme.md +66 -66
  23. package/io-package.json +32 -31
  24. package/lib/DeviceDebug.js +2 -1
  25. package/lib/commands.js +203 -40
  26. package/lib/devices.js +2 -2
  27. package/lib/exposes.js +8 -30
  28. package/lib/groups.js +1 -1
  29. package/lib/localConfig.js +33 -10
  30. package/lib/networkmap.js +2 -1
  31. package/lib/seriallist.js +9 -2
  32. package/lib/statescontroller.js +185 -91
  33. package/lib/utils.js +41 -11
  34. package/lib/zbDeviceConfigure.js +10 -3
  35. package/lib/zigbeecontroller.js +121 -94
  36. package/main.js +135 -73
  37. package/package.json +8 -8
  38. package/docs/en/img/Bild23.png +0 -0
  39. package/docs/en/img/Bild25.png +0 -0
  40. package/docs/en/img/Bild26.png +0 -0
  41. package/docs/en/img/Bild4.png +0 -0
  42. package/docs/en/img/Bild9.png +0 -0
@@ -398,6 +398,11 @@
398
398
  height: 12px;
399
399
  }
400
400
 
401
+ .monospaced {
402
+ font-family: monospace !important;
403
+ resize: none;
404
+ }
405
+
401
406
  .m .dash input[type="checkbox"] + span:not(.lever) {
402
407
  width: 10px;
403
408
  height: 12px;
@@ -475,6 +480,21 @@
475
480
  .m .navbar-fixed {
476
481
  z-index: unset;
477
482
  }
483
+ .img-btn {
484
+ padding: 2px;
485
+ height: 100%;
486
+ }
487
+
488
+ @keyframes blinking-icon {
489
+ 0% { opacity: 0; }
490
+ 25% { opacity: 1; }
491
+ 50% { opacity: 0; }
492
+ 75% { opacity: 1; }
493
+ 100% { opacity: 0; }
494
+ }
495
+ .blinking {
496
+ animation: bliking-icon 4s infinite;
497
+ }
478
498
 
479
499
  /* Style for medium Screens */
480
500
  @media screen and (max-width: 900px) {
@@ -650,6 +670,10 @@
650
670
  </p>
651
671
  </div>
652
672
  <ul id="nav-mobile" class="right">
673
+ <li>
674
+ <a id="ErrorNotificationBtn" class="btn-floating waves-effect waves-light black tooltipped center-align hoverable translateT hide" title="Zigbee not running">
675
+ <i id="ErrorNotificationIcon" class="material-icons large icon-red">error</i></a>
676
+ </li>
653
677
  <li>
654
678
  <a id="state_cleanup_btn" class="btn-floating waves-effect waves-light red tooltipped center-align hoverable translateT hide" title="State Cleanup">
655
679
  <i class="material-icons large icon-blue">delete_sweep</i></a>
@@ -693,11 +717,13 @@
693
717
  <div class="nav-content">
694
718
  <ul class="tabs tabs-transparent">
695
719
  <li class="tab col s2"><a href="#tab-sett" id="settings" class="translate tooltipped">Settings</a></li>
720
+ <li class="tab col s2"><a href="#tab-herdsman" id="hardware" class="translate tooltipped">Hardware</a></li>
696
721
  <!--<li class="tab col s2"><a href="#tab-map" id="tabmap" class="translate tooltipped">Network map</a></li> -->
697
722
  <!--<li class="tab col s1"><a href="#tab-binding" class="translate tooltipped">Binding</a></li> -->
698
723
  <li class="tab col s2"><a href="#tab-exclude" class="translate tooltipped">Local Overrides</a></li>
699
724
  <li class="tab col s2"><a href="#tab-main" id="devs" class="translate tooltipped">Devices</a></li>
700
725
  <li class="tab col s2"><a href="#tab-dev" id="develop" class="translate tooltipped">Developer</a>
726
+ <li class="tab col s2"><a href="#tab-debug" id="tabdebug" class="translate">Debug</a></li>
701
727
  </li>
702
728
  </ul>
703
729
  </div>
@@ -773,100 +799,10 @@
773
799
  </div>
774
800
  </div>
775
801
  <div id="tab-sett" class="col s12 page">
776
- <div id="sett" class="row">
777
- <div class="input-field input-group col s12 m6 l4">
778
- <input id="port" type="text" class="value validate"/>
779
- <label for="port" class="translate">COM port name</label>
780
- <span class="suffix">
781
- <a id="selector" class='dropdown-trigger btn' href='#' data-target='ports'><i
782
- class="material-icons">arrow_drop_down</i></a>
783
- <!-- Dropdown Structure -->
784
- <ul id='ports' class='dropdown-content'>
785
- </ul>
786
- </span>
787
- </div>
788
- <div class="input-field col s12 m6 l2">
789
- <select id="adapterType" class="value">
790
- <option value="" disabled selected class="translate">Choose type</option>
791
- <option value="zstack">TI Z-Stack/CCxxxx</option>
792
- <option value="deconz">Deconz/Conbee</option>
793
- <option value="zigate">NXP/Zigate</option>
794
- <option value="ezsp">SL EFR32 (EZSP) FW 7.2.x.x</option>
795
- <option value="ember">SL EFR32 (EMBER) FW 7.4.x.x</option>
796
- </select>
797
- <label class="translate">Type</label>
798
- </div>
799
-
800
- <div class="input-field col s6 m3 l2">
801
- <input id="flowCTRL" type="checkbox" class="value"/>
802
- <label class="translate" for="flowCTRL">flow control</label>
803
- </div>
804
-
805
- <div class="input-field col s6 m3 l2">
806
- <input id="baudRate" type="number" min="38400" max="115200" class="value"/>
807
- <label class="translate" for="baudRate">Baudate Deconz/Conbee</label>
808
- </div>
809
- <div class="input-field col s6 m3 l2">
810
- <input id="countDown" type="number" min="10" max="240" class="value"/>
811
- <label class="translate" for="countDown">Countdown</label>
812
- </div>
813
- </div>
814
802
  <div class="row">
815
- <h6>Network</h6>
816
- <div class="row">
817
- <div class="input-field col s12 m6 l4">
818
- <input id="extPanID" type="text" pattern="[a-fA-F\d]+" minlength="16" maxlength="16"
819
- class="validate value"/>
820
- <label class="translate" for="extPanID">ExtPanID</label>
821
- </div>
822
- <div class="input-field col s12 m6 l8">
823
- <p class="translate">ExtPanIDText</p>
824
- </div>
825
- </div>
826
- <div class="row">
827
- <div class="input-field col s12 m6 l4">
828
- <input id="panID" type="number" min="1" max="65565" class="value"/>
829
- <label class="translate" for="panID">PanID</label>
830
- </div>
831
- <div class="input-field col s12 m6 l8">
832
- <p class="translate">PanIDText</p>
833
- </div>
834
-
835
- </div>
836
- <div class="row">
837
- <div class="input-field suffix col s12 m6 l4">
838
- <select id="channel" class="value">
839
- <option value="" disabled selected class="translate">Choose channel</option>
840
- <option value="11">11</option>
841
- <option value="12">12</option>
842
- <option value="13">13</option>
843
- <option value="14">14</option>
844
- <option value="15">15</option>
845
- <option value="16">16</option>
846
- <option value="17">17</option>
847
- <option value="18">18</option>
848
- <option value="19">19</option>
849
- <option value="20">20</option>
850
- <option value="21">21</option>
851
- <option value="22">22</option>
852
- <option value="23">23</option>
853
- <option value="24">24</option>
854
- <option value="25">25</option>
855
- <option value="26">26</option>
856
- </select>
857
- <label class="translate">Channel</label>
858
- <a id="scan" class='btn' data-target='channel'><i class="material-icons">graphic_eq</i></a>
859
- </div>
860
- <div class="input-field col s12 m6 l8">
861
- <p class="translate">ChannelChangeText</p>
862
- </div>
863
- </div>
864
- <div class="input-field col s12 m6 l4">
865
- <input id="precfgkey" type="text" pattern="[a-fA-F\d]+" class="validate value"/>
866
- <label class="translate" for="precfgkey">Transport Key</label>
867
- </div>
868
- <div class="input-field col s12 m6 l4 col-transmitPower">
869
- <select id="transmitPower" class="value">
803
+ <h6>Adapter</h6>
804
+ <div class="input-field col s12 m6 l8 col-transmitPower">
805
+ <select id="transmitPower" class="value" >
870
806
  <option value="" disabled selected class="translate">transmitPower</option>
871
807
  <option value="-22">low</option>
872
808
  <option value="0">norm</option>
@@ -875,10 +811,10 @@
875
811
  </select>
876
812
  <label class="translate" for="transmitPower">transmitPower</label>
877
813
  </div>
878
- </div>
879
-
880
- <div class="row">
881
- <h6 class="translate">Others</h6>
814
+ <div class="input-field col s12 m6 l2">
815
+ <input id="countDown" type="number" min="10" max="240" class="value"/>
816
+ <label class="translate" for="countDown">Countdown</label>
817
+ </div>
882
818
  <div class="input-field col s12 m6 l4 col-disableLed">
883
819
  <input id="disableLed" type="checkbox" class="value"/>
884
820
  <label class="translate" for="disableLed">Disable LED for cc2531</label>
@@ -895,14 +831,10 @@
895
831
  <input id="warnOnDeviceAnnouncement" type="checkbox" class="value"/>
896
832
  <label class="translate" for="warnOnDeviceAnnouncement">Log warning on Zigbee device announcement</label>
897
833
  </div>
898
- <div class="input-field col s12 m6 l4">
899
- <a id="reset-btn" class="waves-effect waves-light white-text btn-large translate">Reset...</a>
900
- </div>
901
834
  <div class="input-field col s12 m6 l4 col-disableBackup">
902
835
  <input id="disableBackup" type="checkbox" class="value"/>
903
836
  <label class="translate" for="disableBackup">disable internal Backup</label>
904
837
  </div>
905
-
906
838
  </div>
907
839
  <div class="row">
908
840
  <h6 class="translate">External converters</h6>
@@ -916,7 +848,117 @@
916
848
  <label class="translate" for="startWithInconsistent">SettingsExclude</label>
917
849
  </div>
918
850
  </div>
851
+ <div id="tab-herdsman" class="col s12 page">
852
+ <div class="row">
853
+ <h6>Zigbee hardware and network settings</h6>
854
+ </div>
855
+ <div id="port-row" class="row">
856
+ <div class="input-field input-group col">
857
+ <input id="port" type="text" class="value validate"/>
858
+ <label for="port" class="translate">COM port name</label>
859
+ <span class="suffix">
860
+ <a id="selector" class='dropdown-trigger btn' href='#' data-target='ports'><i
861
+ class="material-icons">arrow_drop_down</i></a>
862
+ <!-- Dropdown Structure -->
863
+ <ul id='ports' class='dropdown-content'>
864
+ </ul>
865
+ </span>
866
+ </div>
867
+ </div>
868
+ <div id="sett" class="row">
869
+ <div class="input-field col s12 m6 l2">
870
+ <select id="adapterType" class="value">
871
+ <option value="" disabled selected class="translate">Choose type</option>
872
+ <option value="zstack">TI Z-Stack/CCxxxx</option>
873
+ <option value="deconz">Deconz/Conbee</option>
874
+ <option value="zigate">NXP/Zigate</option>
875
+ <option value="ezsp">SL EFR32 (EZSP) FW 7.2.x.x</option>
876
+ <option value="ember">SL EFR32 (EMBER) FW 7.4.x.x</option>
877
+ </select>
878
+ <label class="translate">Type</label>
879
+ </div>
880
+ <div class="input-field col s6 m3 l2">
881
+ <input id="baudRate" type="number" min="38400" max="115200" class="value"/>
882
+ <label class="translate" for="baudRate">Baudate Deconz/Conbee</label>
883
+ </div>
884
+ <div class="input-field col s6 m3 l2">
885
+ <input id="flowCTRL" type="checkbox" class="value"/>
886
+ <label class="translate" for="flowCTRL">flow control</label>
887
+ </div>
888
+ </div>
889
+ <div class="row">
890
+ <div class="input-field col s9 m4 l3">
891
+ <input id="extPanID" type="text" pattern="[a-fA-F\d]+" minlength="16" maxlength="16"
892
+ class="validate value"/>
893
+ <label class="translate" for="extPanID">ExtPanID
894
+ <i id="extPanID_OK" class="material-icons tiny icon-green">check</i>
895
+ <i id="extPanID_NOK" class="material-icons tiny icon-red">clear</i>
896
+ <i id="extPanID_ALERT" class="material-icons tiny icon-orange hide">report_problem</i>
897
+ </label>
898
+ </div>
899
+ <div class="input-field col s12 m6 l8">
900
+ <p class="translate">ExtPanIDText</p>
901
+ </div>
902
+ </div>
903
+ <div class="row">
904
+ <div class="input-field col s9 m4 l3">
905
+ <input id="panID" type="number" min="1" max="65565" class="value"/>
906
+ <label class="translate" for="panID">PanID
907
+ <i id="panID_OK" class="material-icons tiny icon-green">check</i>
908
+ <i id="panID_NOK" class="material-icons tiny icon-red">clear</i>
909
+ <i id="panID_ALERT" class="material-icons tiny icon-orange hide">report_problem</i>
910
+ </label>
911
+ </div>
912
+ <div class="input-field col s12 m6 l8">
913
+ <p class="translate">PanIDText</p>
914
+ </div>
919
915
 
916
+ </div>
917
+ <div class="row">
918
+ <div class="input-field suffix col s9 m4 l3">
919
+ <input id="channel" type="number" min="11" max=" 26" class="value"/>
920
+ <label class="translate">Channel
921
+ <i id="channel_OK" class="material-icons tiny icon-green">check</i>
922
+ <i id="channel_NOK" class="material-icons tiny icon-red">clear</i>
923
+ <i id="channel_ALERT" class="material-icons tiny icon-orange">report_problem</i>
924
+ </label>
925
+ </div>
926
+ <div class="input-field col s12 m6 l8">
927
+ <a id="scan" class="waves-effect waves-light btn" data-target='channel_a'><img class="img-btn" src="img/channel_scan.png" title="scan zigbee channels" ></a>
928
+ <p class="translate">ChannelChangeText</p>
929
+ </div>
930
+ </div>
931
+ <div class="row">
932
+ <div class="input-field col s9 m4 l3 disabled">
933
+ <input id="precfgkey" type="text" pattern="[a-fA-F\d]+" class="validate value disabled"/>
934
+ <label class="translate" for="precfgkey">Transport Key
935
+ <i id="precfgkey_OK" class="material-icons tiny icon-green">check</i>
936
+ <i id="precfgkey_NOK" class="material-icons tiny icon-red">clear</i>
937
+ </label>
938
+ </div>
939
+ <div class="input-field col s9 m4 l2">
940
+ <input id="autostart" type="checkbox" class="value"/>
941
+ <label class="translate" for="flowCTRL">start the Zigbee network automatically</label>
942
+ </div>
943
+ </div>
944
+ <div class="row">
945
+ <h6>Test and Verification</h6>
946
+ </div>
947
+ <div class="row">
948
+ <div class="col">
949
+ <a id="test-btn" class="waves-effect waves-light white-text btn"><img class="img-btn" src="img/test_port.png" title="test port"></a>&nbsp;
950
+ <a id="show_test_run" class="waves-effect waves-light blue btn"><img class="img-btn" src="img/start_stop.png" title="start / stop" ></a>&nbsp;
951
+ <a id="readNVRam-btn" class="waves-effect waves-light btn"><img class="img-btn" src="img/nvram_read.png" title="read nvram backup" ></a>&nbsp;
952
+ <a id="deleteNVRam-btn" class="waves-effect waves-light btn"><img class="img-btn" src="img/nvram_delete.png" title="remove nvram backup" ></a>&nbsp;
953
+ <a id="reset-btn" class="waves-effect waves-light white-text btn translate"><img class="img-btn" src="img/reset.png" title="reset..." ></a>&nbsp;
954
+ </div>
955
+ </div>
956
+ <div class="row textarea">
957
+ <div class="col">
958
+ <textarea class="monospaced" id="stdout_t" disabled="disabled" cols="120" rows="20" style="height: calc(50% - 115px)"></textarea>
959
+ </div>
960
+ </div>
961
+ </div>
920
962
  <div id="tab-expos" class="col s12 page">
921
963
  <div id="exposes" class="row">
922
964
  <a class="btn-floating waves-effect waves-light blue table-button-add"><i class="material-icons">add</i></a>
@@ -935,7 +977,6 @@
935
977
  </div>
936
978
  </div>
937
979
  </div>
938
-
939
980
  <div id="tab-dev" class="col s12 page">
940
981
  <div id="develop" class="row col s12">
941
982
  <div class="row">
@@ -949,7 +990,7 @@
949
990
  <p class="translate">notImplementedText</p>
950
991
  <p><span class="translate">You find good explanations what the settings mean</span>&nbsp;
951
992
  <a href="https://docs.smartthings.com/en/latest/device-type-developers-guide/zigbee-primer.html"
952
- target="_blank" class="translate">here</a>&nbsp;
993
+ target="_blank" class="translate">here</a>&nbsp;
953
994
  <span class="translate">and in</span>&nbsp<a
954
995
  href="https://www.nxp.com/docs/en/user-guide/JN-UG-3115.pdf" target="_blank">ZigBee
955
996
  Cluster Library</a>.
@@ -1030,7 +1071,7 @@
1030
1071
  <label for="dev-selector" class="translate">Device</label>
1031
1072
  </div>
1032
1073
  <div class="input-field col s12 m6 l4 admin-tooltip-icon translateT"
1033
- title="Some kind of 'device within device'. Every endpoint may have different functions. If one does not work, test another.">
1074
+ title="Some kind of 'device within device'. Every endpoint may have different functions. If one does not work, test another.">
1034
1075
  <select id="ep-selector">
1035
1076
  <option value="" disabled selected class="translate">Select an Endpoint</option>
1036
1077
  </select>
@@ -1040,14 +1081,14 @@
1040
1081
  <div class="row">
1041
1082
  <div class="row">
1042
1083
  <div class="input-field col s12 m6 l4 admin-tooltip-icon"
1043
- title="Group of functions. AttributeIds will change depending on your choice here.">
1084
+ title="Group of functions. AttributeIds will change depending on your choice here.">
1044
1085
  <select id="cid-selector">
1045
1086
  <option value="" disabled selected class="translate">Select cid</option>
1046
1087
  </select>
1047
1088
  <label for="cid-selector" class="translate">Cluster ID</label>
1048
1089
  </div>
1049
1090
  <div class="input-field col s12 m6 l4 admin-tooltip-icon"
1050
- title="Command type. Available commands will change depending on your choice here. Some actions need Foundation, others Functional, you may test both.">
1091
+ title="Command type. Available commands will change depending on your choice here. Some actions need Foundation, others Functional, you may test both.">
1051
1092
  <select id="cmd-type-selector">
1052
1093
  <option value="foundation" selected>Foundation</option>
1053
1094
  <option value="functional">Functional</option>
@@ -1061,7 +1102,7 @@
1061
1102
  <label for="cmd-selector" class="translate">Command</label>
1062
1103
  </div>
1063
1104
  <div class="input-field col s12 m6 l4 admin-tooltip-icon"
1064
- title="The setting you are interested in.">
1105
+ title="The setting you are interested in.">
1065
1106
  <select id="attrid-selector">
1066
1107
  <option value="" disabled selected class="translate">Select Attribute</option>
1067
1108
  </select>
@@ -1069,16 +1110,16 @@
1069
1110
  </div>
1070
1111
  <div class="col s12">
1071
1112
  <div class="input-field col s12 m6 l4 offset-s1 admin-tooltip-icon translateT"
1072
- title="Check if your Command needs to submit a value. For example, cmd 'write' needs the value you want to write to your device.">
1113
+ title="Check if your Command needs to submit a value. For example, cmd 'write' needs the value you want to write to your device.">
1073
1114
  <label for="value-needed" style="pointer-events: auto;">
1074
1115
  <!-- workaround input not clickable https://codepen.io/alexisdiel/pen/gxwPWj -->
1075
1116
  <input style="pointer-events: none;" id="value-needed" type="checkbox"
1076
- class="filled-in"/>
1117
+ class="filled-in"/>
1077
1118
  <span style="pointer-events: none;" class="translate">Needs value</span>
1078
1119
  </label>
1079
1120
  </div>
1080
1121
  <div class="input-field col s12 m6 l4 admin-tooltip-icon translateT"
1081
- title="The value to send to your device (use douple-quotes if a number is a string).">
1122
+ title="The value to send to your device (use douple-quotes if a number is a string).">
1082
1123
  <input id="value-input" disabled placeholder="0">
1083
1124
  <label for="value-input" class="move-label-up">Value</label>
1084
1125
  </div>
@@ -1089,11 +1130,11 @@
1089
1130
  <div class="col s12 m12 l12">
1090
1131
  <div class="row">
1091
1132
  <div id="expert-toggle" class="input-field col s12 m6 l4 admin-tooltip-icon translateT"
1092
- title="Switch expert mode to enter raw data, sent to zigbee device.">
1133
+ title="Switch expert mode to enter raw data, sent to zigbee device.">
1093
1134
  <label for="expert-mode" style="pointer-events: auto;">
1094
1135
  <!-- workaround input not clickable https://codepen.io/alexisdiel/pen/gxwPWj -->
1095
1136
  <input style="pointer-events: none;" id="expert-mode" type="checkbox"
1096
- class="filled-in"/>
1137
+ class="filled-in"/>
1097
1138
  <span style="pointer-events: none;" class="translate">Expert mode</span>
1098
1139
  </label>
1099
1140
  </div>
@@ -1113,8 +1154,8 @@
1113
1154
  </div>
1114
1155
  <div class="card-action">
1115
1156
  <a id="dev-send-btn"
1116
- class="waves-effect waves-light white-text btn-large tooltipped translateT translate"
1117
- data-position="bottom" title="Send data to Zigbee">Run</a>
1157
+ class="waves-effect waves-light white-text btn-large tooltipped translateT translate"
1158
+ data-position="bottom" title="Send data to Zigbee">Run</a>
1118
1159
  </div>
1119
1160
  </div>
1120
1161
  </div>
@@ -1142,8 +1183,8 @@
1142
1183
  </table>
1143
1184
  </div>
1144
1185
  <a id="add_group"
1145
- class="btn-floating waves-effect waves-light blue table-button-add tooltipped hoverable translateT"
1146
- title="Add group">
1186
+ class="btn-floating waves-effect waves-light blue table-button-add tooltipped hoverable translateT"
1187
+ title="Add group">
1147
1188
  <i class="material-icons">add</i>
1148
1189
  </a>
1149
1190
  </div>
@@ -1152,8 +1193,8 @@
1152
1193
  <div id="tab-binding" class="col s12 page">
1153
1194
  <div class="fixed-action-btn" style="margin-bottom: 100px">
1154
1195
  <a id="add_binding"
1155
- class="btn-floating waves-effect waves-light blue tooltipped center-align hoverable translateT"
1156
- title="Add binding"><i class="material-icons large">add</i></a>
1196
+ class="btn-floating waves-effect waves-light blue tooltipped center-align hoverable translateT"
1197
+ title="Add binding"><i class="material-icons large">add</i></a>
1157
1198
  </div>
1158
1199
  <div id="binding" class="row">
1159
1200
  </div>
@@ -1164,12 +1205,16 @@
1164
1205
  </div>
1165
1206
  <div class="fixed-action-btn" style="margin-bottom: 100px">
1166
1207
  <a id="add_exclude"
1167
- class="btn-floating waves-effect waves-light blue tooltipped center-align hoverable translateT"
1168
- title="Add exlude"><i class="material-icons large">add</i></a>
1208
+ class="btn-floating waves-effect waves-light blue tooltipped center-align hoverable translateT"
1209
+ title="Add exlude"><i class="material-icons large">add</i></a>
1169
1210
  </div>
1170
1211
  <div id="exclude" class="row">
1171
1212
  </div>
1172
1213
  </div>
1214
+ <div id="tab-debug" class="col s12 page">
1215
+ <ul id="dbg_data_list">
1216
+ </ul>
1217
+ </div>
1173
1218
  </div>
1174
1219
  </div>
1175
1220
 
@@ -1185,115 +1230,129 @@
1185
1230
  </div>
1186
1231
  </div>
1187
1232
  </div>
1188
- <div class="row epid0">
1189
- <div class="col">
1190
- <div class=endpointid>
1191
- <p class="translate device_with_endpoint">Main Endpoint</p>
1192
- </div>
1193
- </div>
1194
- <div class="col1">
1195
- <div class="input-field groups">
1196
- <select id="d_groups_ep0" class="materialSelect" multiple>
1197
- <option value="1">select</option>
1198
- </select>
1199
- <label for="d_groups_ep0" class="translate">Groups</label>
1200
- </div>
1201
- </div>
1202
- </div>
1203
- <div class="row epid1">
1204
- <div class="col epid">
1205
- <div class=endpointid>
1206
- <p class="translate device_with_endpoint">Sub Endpoint 1</p>
1207
- </div>
1208
- </div>
1209
- <div class="col">
1210
- <div class="input-field groups">
1211
- <select id="d_groups_ep1" class="materialSelect" multiple>
1212
- <option value="1">select</option>
1213
- </select>
1214
- <label for="d_groups_ep1" class="translate">Groups</label>
1215
- </div>
1216
- </div>
1217
- </div>
1218
- <div class="row epid2">
1219
- <div class="col epid">
1220
- <div class=endpointid>
1221
- <p class="translate device_with_endpoint">Sub Endpoint 2</p>
1222
- </div>
1223
- </div>
1224
- <div class="col">
1225
- <div class="input-field groups">
1226
- <select id="d_groups_ep2" class="materialSelect" multiple>
1227
- <option value="1">select</option>
1228
- </select>
1229
- <label for="d_groups_ep2" class="translate">Groups</label>
1230
- </div>
1231
- </div>
1232
- </div>
1233
- <div class="row epid3">
1234
- <div class="col epid">
1235
- <div class=endpointid>
1236
- <p class="translate device_with_endpoint">Sub Endpoint 3</p>
1237
- </div>
1238
- </div>
1239
- <div class="col">
1240
- <div class="input-field groups">
1241
- <select id="d_groups_ep3" class="materialSelect" multiple>
1242
- <option value="1">select</option>
1243
- </select>
1244
- <label for="d_groups_ep3" class="translate">Groups</label>
1245
- </div>
1246
- </div>
1247
- </div>
1248
- <div class="row epid4">
1249
- <div class="col epid">
1250
- <div class=endpointid>
1251
- <p class="translate device_with_endpoint">Sub Endpoint 4</p>
1252
- </div>
1253
- </div>
1254
- <div class="col">
1255
- <div class="input-field groups">
1256
- <select id="d_groups_ep4" class="materialSelect" multiple>
1257
- <option value="1">select</option>
1258
- </select>
1259
- <label for="d_groups_ep4" class="translate">Groups</label>
1260
- </div>
1261
- </div>
1233
+ <div class="groups_available">
1234
+ <div class="row">
1235
+ <h6>Groups</h6>
1262
1236
  </div>
1263
- <div class="row epid5">
1264
- <div class="col epid">
1265
- <div class=endpointid>
1266
- <p class="translate device_with_endpoint">Sub Endpoint 5</p>
1267
- </div>
1268
- </div>
1269
- <div class="col">
1270
- <div class="input-field groups">
1271
- <select id="d_groups_ep5" class="materialSelect" multiple>
1272
- <option value="1">select</option>
1273
- </select>
1274
- <label for="d_groups_ep5" class="translate">Groups</label>
1275
- </div>
1276
- </div>
1237
+ <div class="row epid0">
1238
+ <div class="col">
1239
+ <div class=endpointid>
1240
+ <p class="translate device_with_endpoint">Main Endpoint</p>
1241
+ </div>
1242
+ </div>
1243
+ <div class="col1">
1244
+ <div class="input-field groups">
1245
+ <select id="d_groups_ep0" class="materialSelect" multiple>
1246
+ <option value="1">select</option>
1247
+ </select>
1248
+ <label for="d_groups_ep0" class="translate">Groups</label>
1249
+ </div>
1250
+ </div>
1251
+ </div>
1252
+ <div class="row epid1">
1253
+ <div class="col epid">
1254
+ <div class=endpointid>
1255
+ <p class="translate device_with_endpoint">Sub Endpoint 1</p>
1256
+ </div>
1257
+ </div>
1258
+ <div class="col">
1259
+ <div class="input-field groups">
1260
+ <select id="d_groups_ep1" class="materialSelect" multiple>
1261
+ <option value="1">select</option>
1262
+ </select>
1263
+ <label for="d_groups_ep1" class="translate">Groups</label>
1264
+ </div>
1265
+ </div>
1266
+ </div>
1267
+ <div class="row epid2">
1268
+ <div class="col epid">
1269
+ <div class=endpointid>
1270
+ <p class="translate device_with_endpoint">Sub Endpoint 2</p>
1271
+ </div>
1272
+ </div>
1273
+ <div class="col">
1274
+ <div class="input-field groups">
1275
+ <select id="d_groups_ep2" class="materialSelect" multiple>
1276
+ <option value="1">select</option>
1277
+ </select>
1278
+ <label for="d_groups_ep2" class="translate">Groups</label>
1279
+ </div>
1280
+ </div>
1281
+ </div>
1282
+ <div class="row epid3">
1283
+ <div class="col epid">
1284
+ <div class=endpointid>
1285
+ <p class="translate device_with_endpoint">Sub Endpoint 3</p>
1286
+ </div>
1287
+ </div>
1288
+ <div class="col">
1289
+ <div class="input-field groups">
1290
+ <select id="d_groups_ep3" class="materialSelect" multiple>
1291
+ <option value="1">select</option>
1292
+ </select>
1293
+ <label for="d_groups_ep3" class="translate">Groups</label>
1294
+ </div>
1295
+ </div>
1296
+ </div>
1297
+ <div class="row epid4">
1298
+ <div class="col epid">
1299
+ <div class=endpointid>
1300
+ <p class="translate device_with_endpoint">Sub Endpoint 4</p>
1301
+ </div>
1302
+ </div>
1303
+ <div class="col">
1304
+ <div class="input-field groups">
1305
+ <select id="d_groups_ep4" class="materialSelect" multiple>
1306
+ <option value="1">select</option>
1307
+ </select>
1308
+ <label for="d_groups_ep4" class="translate">Groups</label>
1309
+ </div>
1310
+ </div>
1311
+ </div>
1312
+ <div class="row epid5">
1313
+ <div class="col epid">
1314
+ <div class=endpointid>
1315
+ <p class="translate device_with_endpoint">Sub Endpoint 5</p>
1316
+ </div>
1317
+ </div>
1318
+ <div class="col">
1319
+ <div class="input-field groups">
1320
+ <select id="d_groups_ep5" class="materialSelect" multiple>
1321
+ <option value="1">select</option>
1322
+ </select>
1323
+ <label for="d_groups_ep5" class="translate">Groups</label>
1324
+ </div>
1325
+ </div>
1326
+ </div>
1327
+ <div class="row epid6">
1328
+ <div class="col epid">
1329
+ <div class=endpointid>
1330
+ <p class="translate device_with_endpoint">Sub Endpoint 6</p>
1331
+ </div>
1332
+ </div>
1333
+ <div class="col">
1334
+ <div class="input-field groups">
1335
+ <select id="d_groups_ep6" class="materialSelect" multiple>
1336
+ <option value="1">select</option>
1337
+ </select>
1338
+ <label for="d_groups_ep6" class="translate">Groups</label>
1339
+ </div>
1340
+ </div>
1341
+ </div>
1277
1342
  </div>
1278
- <div class="row epid6">
1279
- <div class="col epid">
1280
- <div class=endpointid>
1281
- <p class="translate device_with_endpoint">Sub Endpoint 6</p>
1282
- </div>
1283
- </div>
1284
- <div class="col">
1285
- <div class="input-field groups">
1286
- <select id="d_groups_ep6" class="materialSelect" multiple>
1287
- <option value="1">select</option>
1288
- </select>
1289
- <label for="d_groups_ep6" class="translate">Groups</label>
1290
- </div>
1291
- </div>
1343
+ <div class="options_available">
1344
+ <div class="row">
1345
+ <h6>Options</h6>
1346
+ </div>
1347
+ <div class="row options">
1348
+
1349
+ </div>
1292
1350
  </div>
1293
1351
  </div>
1294
1352
  <div class="modal-footer">
1295
- <a name="save" href="#!"
1296
- class="modal-action modal-close waves-effect waves-green btn green translate">Save</a>
1353
+ <a name="remove_options" class="waves-effect waves-green btn green translate"><i class="material-icons large">remove_circle</i></a>
1354
+ <a name="add_options" class="waves-effect waves-green btn green translate"><i class="material-icons large">add_circle</i></a>
1355
+ <a name="save" href="#!" class="modal-action modal-close waves-effect waves-green btn green translate">Save</a>
1297
1356
  <a href="#!" class="modal-action modal-close waves-effect waves-red btn-flat translate">Cancel</a>
1298
1357
  </div>
1299
1358
  </div>
@@ -1447,14 +1506,12 @@
1447
1506
  <div id="progress_line" class="determinate" style="width: 0%"></div>
1448
1507
  </div>
1449
1508
  <div class="row textarea">
1450
- <textarea id="stdout" disabled="disabled" cols="120" rows="30"
1451
- style="height: calc(100% - 115px)"></textarea>
1509
+ <textarea id="stdout" disabled="disabled" cols="120" rows="30" style="height: calc(100% - 115px)"></textarea>
1452
1510
  </div>
1453
1511
  </div>
1454
1512
  <div class="modal-footer">
1455
1513
  <!-- <a name="stop" href="#!" class="modal-action modal-close waves-effect waves-red btn-flat left">Stop</a> -->
1456
- <a name="hide" href="#!"
1457
- class="modal-action modal-close waves-effect waves-green btn green translate">Hide</a>
1514
+ <a name="hidepairing" id="hidepairing" href="#!" class="modal-action modal-close waves-effect waves-green btn green translate">Hide</a>
1458
1515
  </div>
1459
1516
  </div>
1460
1517
 
@@ -1464,7 +1521,6 @@
1464
1521
  <p class="translate">Reset Info</p>
1465
1522
  <a id="soft" data-mode="soft" class="modal-action modal-close waves-effect waves-red btn translate">Soft-Reset</a>
1466
1523
  <a id="hard" data-mode="hard" class="modal-action modal-close waves-effect waves-red btn translate">Hard-Reset</a>
1467
- <a id="delNvbackup" data-mode="delNvbackup" class="modal-action modal-close waves-effect waves-red btn translate">delete NVBackup.json</a>
1468
1524
  </div>
1469
1525
  <div class="modal-footer">
1470
1526
  <a href="#!" class="modal-action modal-close waves-effect waves-green btn-flat translate">Cancel</a>