iobroker.zigbee 1.8.1 → 1.8.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +34 -8
- package/admin/admin.js +31 -28
- package/admin/i18n/de/translations.json +2 -2
- package/admin/index_m.html +1171 -1001
- package/admin/words.js +2 -2
- package/io-package.json +34 -49
- package/lib/commands.js +1 -1
- package/lib/devices.js +3 -3
- package/lib/zigbeecontroller.js +25 -26
- package/main.js +9 -10
- package/package.json +7 -7
package/admin/index_m.html
CHANGED
|
@@ -1,1161 +1,1331 @@
|
|
|
1
1
|
<html>
|
|
2
2
|
<head>
|
|
3
|
-
<!-- these 4 files always have to be included -->
|
|
4
|
-
<link rel="stylesheet" type="text/css" href="../../lib/css/materialize.css">
|
|
5
|
-
<link rel="stylesheet" type="text/css" href="../../css/adapter.css"/>
|
|
6
|
-
|
|
7
|
-
<script type="text/javascript" src="../../lib/js/jquery-3.2.1.min.js"></script>
|
|
8
|
-
<script type="text/javascript" src="../../socket.io/socket.io.js"></script>
|
|
9
|
-
<!-- <script src="https://cdnjs.cloudflare.com/ajax/libs/vis/4.21.0/vis.min.js"></script>
|
|
10
|
-
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/vis/4.21.0/vis.min.css"/> -->
|
|
11
|
-
<script type="text/javascript" src="vis-network.min.js"></script>
|
|
12
|
-
<link rel="stylesheet" type="text/css" href="vis-network.min.css"/>
|
|
13
|
-
|
|
14
|
-
<!-- these files always have to be included -->
|
|
15
|
-
<script type="text/javascript" src="../../js/translate.js"></script>
|
|
16
|
-
<script type="text/javascript" src="../../lib/js/materialize.js"></script>
|
|
17
|
-
<script type="text/javascript" src="../../js/adapter-settings.js"></script>
|
|
18
|
-
<script type="text/javascript" src="words.js"></script>
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
<script type="text/javascript" src="
|
|
22
|
-
<script type="text/javascript" src="
|
|
23
|
-
<
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
3
|
+
<!-- these 4 files always have to be included -->
|
|
4
|
+
<link rel="stylesheet" type="text/css" href="../../lib/css/materialize.css">
|
|
5
|
+
<link rel="stylesheet" type="text/css" href="../../css/adapter.css"/>
|
|
6
|
+
|
|
7
|
+
<script type="text/javascript" src="../../lib/js/jquery-3.2.1.min.js"></script>
|
|
8
|
+
<script type="text/javascript" src="../../socket.io/socket.io.js"></script>
|
|
9
|
+
<!-- <script src="https://cdnjs.cloudflare.com/ajax/libs/vis/4.21.0/vis.min.js"></script>
|
|
10
|
+
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/vis/4.21.0/vis.min.css"/> -->
|
|
11
|
+
<script type="text/javascript" src="vis-network.min.js"></script>
|
|
12
|
+
<link rel="stylesheet" type="text/css" href="vis-network.min.css"/>
|
|
13
|
+
|
|
14
|
+
<!-- these files always have to be included -->
|
|
15
|
+
<script type="text/javascript" src="../../js/translate.js"></script>
|
|
16
|
+
<script type="text/javascript" src="../../lib/js/materialize.js"></script>
|
|
17
|
+
<script type="text/javascript" src="../../js/adapter-settings.js"></script>
|
|
18
|
+
<script type="text/javascript" src="words.js"></script>
|
|
19
|
+
|
|
20
|
+
<script type="text/javascript" src="admin.js"></script>
|
|
21
|
+
<script type="text/javascript" src="shuffle.min.js"></script>
|
|
22
|
+
<script type="text/javascript" src="moment.min.js"></script>
|
|
23
|
+
<style>
|
|
24
|
+
.m .tabs {
|
|
25
|
+
height: auto !important;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.m .col .select-wrapper + label, .m .col input + label:not(.active) {
|
|
29
|
+
top: -26px;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.select-wrapper li span {
|
|
33
|
+
pointer-events: none; /* workarround for checkbox in select, else checkbox and label not clickable */
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.m .col input + label {
|
|
37
|
+
font-size: 0.8rem;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.m span {
|
|
41
|
+
font-size: 0.9em;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.m .zlogo {
|
|
45
|
+
padding: 0.5rem;
|
|
46
|
+
width: 64px;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.input-group {
|
|
50
|
+
display: table;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.input-group input, .suffix {
|
|
54
|
+
display: table-cell;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.suffix {
|
|
58
|
+
width: 1%;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.input-field.suffix a {
|
|
62
|
+
position: absolute;
|
|
63
|
+
font-size: 2rem;
|
|
64
|
+
top: 0px;
|
|
65
|
+
right: 0px;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.input-field.suffix a.active {
|
|
69
|
+
color: #26a69a;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.input-field.suffix .select-wrapper {
|
|
73
|
+
margin-right: 3rem;
|
|
74
|
+
width: 92%;
|
|
75
|
+
width: calc(100% - 3rem);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.input-field.suffix label {
|
|
79
|
+
margin-right: 3rem;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
#tabs {
|
|
83
|
+
margin-top: 115px;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
#main {
|
|
87
|
+
margin-bottom: -50px;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
.page:not(.active) {
|
|
91
|
+
/* prevents 'all pages visible for a moment at first load' (because pages are loaded before materialize is loaded)*/
|
|
92
|
+
display: none;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
#dev-selectors > div {
|
|
96
|
+
margin-top: 30px;
|
|
97
|
+
border-bottom: 1px solid lightblue;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
#dev_result_log {
|
|
101
|
+
overflow: scroll;
|
|
102
|
+
height: 10em;
|
|
103
|
+
padding: 0.5em;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
#expert-toggle {
|
|
107
|
+
margin-bottom: 3em;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
#expert-json {
|
|
111
|
+
min-height: 18rem;
|
|
112
|
+
overflow-y: scroll;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
#viewconfigbtn {
|
|
116
|
+
left: 23px;
|
|
117
|
+
width: 45px;
|
|
118
|
+
top: 120px;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
.m .card {
|
|
122
|
+
margin: 0px;
|
|
123
|
+
width: 100%;
|
|
124
|
+
height: 100%;
|
|
125
|
+
position: relative;
|
|
126
|
+
-webkit-transition: -webkit-transform 0.5s;
|
|
127
|
+
-moz-transition: -moz-transform 0.5s;
|
|
128
|
+
-o-transition: -o-transform 0.5s;
|
|
129
|
+
transition: transform 0.5s;
|
|
130
|
+
-webkit-transform-style: preserve-3d;
|
|
131
|
+
-moz-transform-style: preserve-3d;
|
|
132
|
+
-o-transform-style: preserve-3d;
|
|
133
|
+
transform-style: preserve-3d;
|
|
134
|
+
-webkit-transform-origin: 50% 50%;
|
|
135
|
+
transform-origin: 50% 50%;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
.m .card .zcard {
|
|
139
|
+
padding: 10px;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
.m .card div {
|
|
143
|
+
-webkit-backface-visibility: hidden;
|
|
144
|
+
-moz-backface-visibility: hidden;
|
|
145
|
+
-o-backface-visibility: hidden;
|
|
146
|
+
backface-visibility: hidden;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
.device {
|
|
150
|
+
padding: 5px;
|
|
151
|
+
width: 330px;
|
|
152
|
+
height: 200px;
|
|
153
|
+
-webkit-perspective: 800px;
|
|
154
|
+
-moz-perspective: 800px;
|
|
155
|
+
-o-perspective: 800px;
|
|
156
|
+
perspective: 800px;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
.m .zcard .card-title {
|
|
160
|
+
font-size: 16px;
|
|
161
|
+
font-weight: 300;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
.card-action .card-reveal-buttons {
|
|
165
|
+
left: 0;
|
|
166
|
+
position: absolute;
|
|
167
|
+
border: none;
|
|
168
|
+
bottom: 0;
|
|
169
|
+
height: 50px;
|
|
170
|
+
/*background: #fff;*/
|
|
171
|
+
right: 0;
|
|
172
|
+
/*text-align: right;*/
|
|
173
|
+
padding: 10px;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
.card-action i {
|
|
177
|
+
font-size: 1.7em;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
.card-action button {
|
|
181
|
+
margin-right: 5px;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
.small-button {
|
|
185
|
+
background: #fff;
|
|
186
|
+
color: #0e2e4a;
|
|
187
|
+
padding: 1px 0 0 0;
|
|
188
|
+
cursor: pointer;
|
|
189
|
+
transition: .2s linear;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
.small-button, .small-button-empty {
|
|
193
|
+
width: 24px;
|
|
194
|
+
margin: 0 1px 0 0;
|
|
195
|
+
display: inline-block;
|
|
196
|
+
position: relative;
|
|
197
|
+
z-index: 1;
|
|
198
|
+
border: 0;
|
|
199
|
+
border-radius: 2px;
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
i.icon-green {
|
|
203
|
+
color: green;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
.m.react-dark i.icon-green {
|
|
207
|
+
color: green !important;
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
.m.react-blue i.icon-green {
|
|
211
|
+
color: green !important;
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
i.icon-black {
|
|
215
|
+
color: black;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
i.icon-blue {
|
|
219
|
+
color: blue;
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
.m.react-dark i.icon-blue {
|
|
223
|
+
color: rgb(100, 181, 246) !important;
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
.m.react-blue i.icon-blue {
|
|
227
|
+
color: rgb(100, 181, 246) !important;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
i.icon-red {
|
|
231
|
+
color: red;
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
.m.react-dark i.icon-red {
|
|
235
|
+
color: red !important;
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
.m.react-blue i.icon-red {
|
|
239
|
+
color: red !important;
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
i.icon-orange {
|
|
243
|
+
color: orange;
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
.m.react-blue div.bg_red {
|
|
247
|
+
background-color: #400000;
|
|
248
|
+
color: DimGray;
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
.m div.bg_red {
|
|
252
|
+
background-color: LightGray;
|
|
253
|
+
color: DimGray;
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
.m.react-dark div.bg_red {
|
|
257
|
+
background-color: #400000;
|
|
258
|
+
color: DimGray;
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
.m.react-dark i.icon-orange {
|
|
262
|
+
color: orange !important;
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
.m.react-blue i.icon-orange {
|
|
266
|
+
color: orange !important;
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
.m .btn-small.btn-flat {
|
|
270
|
+
padding: 0 4px;
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
.m .row .col.tool {
|
|
274
|
+
padding: 0 .1rem;
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
.m span.label {
|
|
278
|
+
display: inline-block;
|
|
279
|
+
width: 100px;
|
|
280
|
+
font-weight: bold;
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
.m span.label.dash {
|
|
284
|
+
display: inline-block;
|
|
285
|
+
width: 140px;
|
|
286
|
+
font-weight: bold;
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
.m span.labelinfo {
|
|
290
|
+
display: inline-block;
|
|
291
|
+
width: 60px;
|
|
292
|
+
font-weight: bold;
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
.forcedelete {
|
|
296
|
+
float: left;
|
|
297
|
+
padding-left: 1rem;
|
|
298
|
+
padding-top: 1rem;
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
.modal-header {
|
|
302
|
+
position: relative;
|
|
303
|
+
height: 50px;
|
|
304
|
+
padding: 20px 20px 5px 20px;
|
|
305
|
+
border-bottom: 1px solid rgba(0, 0, 0, .1);
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
.m .modal.modal-fixed-footer.modal-fixed-header .modal-content {
|
|
309
|
+
height: calc(100% - 140px) !important;
|
|
310
|
+
padding-top: 5px;
|
|
311
|
+
padding-bottom: 5px;
|
|
312
|
+
overflow: auto;
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
.m .page {
|
|
316
|
+
height: calc(100% - 120px);
|
|
317
|
+
overflow: auto;
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
#tab-sett {
|
|
321
|
+
padding-right: 30px;
|
|
322
|
+
padding-left: 30px;
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
#map {
|
|
326
|
+
margin: 0px;
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
#tab-main .main-toolbar-table .filter-input {
|
|
330
|
+
display: inline-table;
|
|
331
|
+
padding-left: 6px;
|
|
332
|
+
height: 24px;
|
|
333
|
+
width: 10rem;
|
|
334
|
+
margin-top: 5px;
|
|
335
|
+
margin-bottom: 0;
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
.face {
|
|
339
|
+
overflow: hidden;
|
|
340
|
+
position: absolute;
|
|
341
|
+
height: 100%;
|
|
342
|
+
width: 100%;
|
|
343
|
+
/*background: #fff;*/
|
|
344
|
+
z-index: 2;
|
|
345
|
+
-webkit-transform: rotateY(0deg);
|
|
346
|
+
-moz-transform: rotateY(0deg);
|
|
347
|
+
-o-transform: rotateY(0deg);
|
|
348
|
+
transform: rotateY(0deg);
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
.back {
|
|
352
|
+
overflow: hidden;
|
|
353
|
+
position: absolute;
|
|
354
|
+
display: block;
|
|
355
|
+
box-sizing: border-box;
|
|
356
|
+
height: 100%;
|
|
357
|
+
width: 100%;
|
|
358
|
+
/*background: #fff;*/
|
|
359
|
+
-webkit-transform: rotateY(-180deg);
|
|
360
|
+
-moz-transform: rotateY(-180deg);
|
|
361
|
+
-o-transform: rotateY(-180deg);
|
|
362
|
+
transform: rotateY(-180deg);
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
.card.flipped {
|
|
366
|
+
-webkit-transform: rotateY(180deg);
|
|
367
|
+
-moz-transform: rotateY(180deg);
|
|
368
|
+
-o-transform: rotateY(180deg);
|
|
369
|
+
transform: rotateY(180deg);
|
|
370
|
+
}
|
|
371
|
+
|
|
372
|
+
.m .switch label .lever {
|
|
373
|
+
width: 30px;
|
|
374
|
+
height: 12px;
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
.m .switch label .lever:after, .m .switch label .lever:before {
|
|
378
|
+
width: 14px;
|
|
379
|
+
height: 14px;
|
|
380
|
+
border-radius: 50%;
|
|
381
|
+
left: 0;
|
|
382
|
+
top: -1px;
|
|
383
|
+
}
|
|
384
|
+
|
|
385
|
+
.m .dash input[type=range] {
|
|
386
|
+
width: 70px;
|
|
387
|
+
margin: 0px;
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
.m .dash input[type=checkbox]:checked + span:not(.lever):before {
|
|
391
|
+
width: 10px;
|
|
392
|
+
height: 16px;
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
.m .dash input[type=checkbox] + span:not(.lever):before {
|
|
396
|
+
width: 10px;
|
|
397
|
+
height: 12px;
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
.m .dash input[type="checkbox"] + span:not(.lever) {
|
|
401
|
+
width: 10px;
|
|
402
|
+
height: 12px;
|
|
403
|
+
margin-left: 25px;
|
|
404
|
+
margin-top: -1px;
|
|
405
|
+
}
|
|
406
|
+
|
|
407
|
+
.m .dash input[type=checkbox]:not(:checked):disabled + span:not(.lever):before {
|
|
408
|
+
background-color: rgba(0, 0, 0, .1);
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
.m span .dash.value {
|
|
412
|
+
margin-left: 25px;
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
.m .idletime {
|
|
416
|
+
padding-left: 15px;
|
|
417
|
+
}
|
|
418
|
+
|
|
419
|
+
.m.react-blue .switch label input[type="checkbox"]:checked + .lever {
|
|
420
|
+
background-color: #436a93;
|
|
421
|
+
}
|
|
422
|
+
|
|
423
|
+
.m.react-blue .switch label .lever {
|
|
424
|
+
background-color: #4dabf5;
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
.m.react-blue .switch label .lever:after {
|
|
428
|
+
background-color: #436a93;
|
|
429
|
+
}
|
|
430
|
+
|
|
431
|
+
.m.react-dark .switch label input[type="checkbox"]:checked + .lever {
|
|
432
|
+
background-color: #436a93;
|
|
433
|
+
}
|
|
434
|
+
|
|
435
|
+
.m.react-dark .switch label .lever {
|
|
436
|
+
background-color: #4dabf5;
|
|
437
|
+
}
|
|
438
|
+
|
|
439
|
+
.m.react-dark .switch label .lever:after {
|
|
440
|
+
background-color: #436a93;
|
|
441
|
+
}
|
|
442
|
+
</style>
|
|
370
443
|
</head>
|
|
371
444
|
<body>
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
445
|
+
<!-- you have to put your config page in a div with id adapter-container -->
|
|
446
|
+
<div id="main" class="m adapter-container">
|
|
447
|
+
<div class="row navbar-fixed">
|
|
448
|
+
<nav class="nav-extended">
|
|
449
|
+
<div class="nav-wrapper">
|
|
450
|
+
<div class="col">
|
|
451
|
+
<img src="zigbee.png" class="zlogo left" height="64px"/>
|
|
452
|
+
</div>
|
|
453
|
+
<div class="col">
|
|
454
|
+
<h5 class="translate center-align">Zigbee adapter</h5>
|
|
455
|
+
</div>
|
|
456
|
+
<ul id="nav-mobile" class="right">
|
|
457
|
+
<li>
|
|
458
|
+
<a id="state_cleanup_btn"
|
|
459
|
+
class="btn-floating waves-effect waves-light red tooltipped center-align hoverable translateT"
|
|
460
|
+
title="State Cleanup">
|
|
386
461
|
<i class="material-icons large icon-blue">sync</i></a>
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
462
|
+
</li>
|
|
463
|
+
<li>
|
|
464
|
+
<a id="fw_check_btn"
|
|
465
|
+
class="btn-floating waves-effect waves-light blue tooltipped center-align hoverable translateT"
|
|
466
|
+
title="Check firmware updates">
|
|
390
467
|
<i class="material-icons large icon-blue">system_update</i></a>
|
|
468
|
+
</li>
|
|
469
|
+
<li>
|
|
470
|
+
<a id="add_grp_btn"
|
|
471
|
+
class="btn-floating waves-effect waves-light brown tooltipped center-align hoverable translateT"
|
|
472
|
+
title="Add Group">
|
|
473
|
+
<i class="material-icons large">group_work</i></a>
|
|
474
|
+
</li>
|
|
475
|
+
<li>
|
|
476
|
+
<a id="touchlink_btn"
|
|
477
|
+
class="btn-floating waves-effect waves-light green tooltipped center-align hoverable translateT"
|
|
478
|
+
title="Touchlink reset and pairing">
|
|
479
|
+
<i class="material-icons large">wifi_tethering</i></a>
|
|
480
|
+
</li>
|
|
481
|
+
<li>
|
|
482
|
+
<a id="pairing"
|
|
483
|
+
class="btn-floating waves-effect waves-light green tooltipped center-align hoverable translateT"
|
|
484
|
+
title="Let's pairing!">
|
|
485
|
+
<i class="material-icons large">leak_add</i></a>
|
|
486
|
+
</li>
|
|
487
|
+
</ul>
|
|
488
|
+
</div>
|
|
489
|
+
<div class="nav-content">
|
|
490
|
+
<ul class="tabs tabs-transparent">
|
|
491
|
+
<li class="tab col s2"><a href="#tab-main" id="devs" class="translate tooltipped">Devices</a></li>
|
|
492
|
+
<!-- <li class="tab col s2"><a href="#tab-groups" class="translate tooltipped">Groups</a></li>-->
|
|
493
|
+
<li class="tab col s2"><a href="#tab-map" id="tabmap" class="translate tooltipped">Network map</a>
|
|
494
|
+
</li>
|
|
495
|
+
<li class="tab col s2"><a href="#tab-binding" class="translate tooltipped">Binding</a></li>
|
|
496
|
+
<li class="tab col s1"><a href="#tab-exclude" class="translate tooltipped">Excludes</a></li>
|
|
497
|
+
<li class="tab col s2"><a href="#tab-sett" id="settings" class="translate tooltipped">Settings</a>
|
|
498
|
+
</li>
|
|
499
|
+
<li class="tab col s1"><a href="#tab-dev" id="develop" class="translate tooltipped">Developer</a>
|
|
500
|
+
</li>
|
|
501
|
+
</ul>
|
|
502
|
+
</div>
|
|
503
|
+
</nav>
|
|
504
|
+
</div>
|
|
505
|
+
<div id="tabs" class="tabs-content row">
|
|
506
|
+
<div id="tab-main" class="col s12 page active">
|
|
507
|
+
<div class="navbar-fixed" style="height: 36px;">
|
|
508
|
+
<nav style="height: 36px; margin-left: -12px; line-height: 24px;">
|
|
509
|
+
<ul id="nav-mobile" class="left">
|
|
510
|
+
<li>
|
|
511
|
+
<a id="rotate_btn"
|
|
512
|
+
class="btn-floating waves-effect waves-light blue tooltipped center-align hoverable translateT"
|
|
513
|
+
title="Rotate cards">
|
|
514
|
+
<i class="material-icons large icon-blue">3d_rotation</i>
|
|
515
|
+
</a>
|
|
391
516
|
</li>
|
|
392
517
|
<li>
|
|
393
|
-
<
|
|
394
|
-
|
|
518
|
+
<div class="col main-toolbar-table-types-tools main-toolbar-table-filter input-field"
|
|
519
|
+
style="line-height: 24px;">
|
|
520
|
+
<i class="material-icons prefix" style="line-height: 24px;">search</i>
|
|
521
|
+
<input id="device-search" class="filter-input translateP" placeholder="Искать"
|
|
522
|
+
autocomplete="new-password" readonly="readonly"
|
|
523
|
+
onfocus="if (this.hasAttribute('readonly')) {this.removeAttribute('readonly'); this.blur(); this.focus();}"
|
|
524
|
+
data-lang-placeholder="Filter">
|
|
525
|
+
<a class="filter-clear btn-floating btn-very-small translateT red lighten-3"
|
|
526
|
+
title="Очистить" data-lang-title="clear" style="display: none;"><i
|
|
527
|
+
class="material-icons">clear</i></a>
|
|
528
|
+
</div>
|
|
529
|
+
|
|
395
530
|
</li>
|
|
396
531
|
<li>
|
|
397
|
-
<
|
|
398
|
-
|
|
532
|
+
<div class="col input-field" style="line-height: 24px;">
|
|
533
|
+
<i class="material-icons left" style="line-height: 24px; margin-top: 5px;">sort</i>
|
|
534
|
+
<a id="device-order-btn" class="dropdown-trigger btn" href="#"
|
|
535
|
+
data-target="device-order">Default</a>
|
|
536
|
+
<ul id="device-order" class="dropdown-content" tabindex="0">
|
|
537
|
+
<li class="device-order-item" data-type="a-z" tabindex="0"><a class="translate"
|
|
538
|
+
data-lang="A-Z">A-Z</a>
|
|
539
|
+
</li>
|
|
540
|
+
<li class="device-order-item" data-type="default" tabindex="0"><a class="translate"
|
|
541
|
+
data-lang="Default">Default</a>
|
|
542
|
+
</li>
|
|
543
|
+
</ul>
|
|
544
|
+
</div>
|
|
399
545
|
</li>
|
|
400
546
|
<li>
|
|
401
|
-
<
|
|
402
|
-
|
|
547
|
+
<div class="col input-field" style="line-height: 24px;">
|
|
548
|
+
<i class="material-icons left" style="line-height: 24px; margin-top: 5px;">art_track</i>
|
|
549
|
+
<a id="room-filter-btn" class="dropdown-trigger btn" href="#" data-target="room-filter">All</a>
|
|
550
|
+
<ul id="room-filter" class="dropdown-content" tabindex="0">
|
|
551
|
+
</ul>
|
|
552
|
+
</div>
|
|
403
553
|
</li>
|
|
404
554
|
</ul>
|
|
405
|
-
</
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
<!-- <li class="tab col s2"><a href="#tab-groups" class="translate tooltipped">Groups</a></li>-->
|
|
410
|
-
<li class="tab col s2"><a href="#tab-map" id="tabmap" class="translate tooltipped">Network map</a></li>
|
|
411
|
-
<li class="tab col s2"><a href="#tab-binding" class="translate tooltipped">Binding</a></li>
|
|
412
|
-
<li class="tab col s1"><a href="#tab-exclude" class="translate tooltipped">Excludes</a></li>
|
|
413
|
-
<li class="tab col s2"><a href="#tab-sett" id="settings" class="translate tooltipped">Settings</a></li>
|
|
414
|
-
<li class="tab col s1"><a href="#tab-dev" id="develop" class="translate tooltipped">Developer</a></li>
|
|
415
|
-
</ul>
|
|
416
|
-
</div>
|
|
417
|
-
</nav>
|
|
555
|
+
</nav>
|
|
556
|
+
</div>
|
|
557
|
+
<div id="devices" class="row">
|
|
558
|
+
</div>
|
|
418
559
|
</div>
|
|
419
|
-
<div id="
|
|
420
|
-
<div
|
|
421
|
-
<
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
<li>
|
|
425
|
-
<a id="rotate_btn" class="btn-floating waves-effect waves-light blue tooltipped center-align hoverable translateT" title="Rotate cards">
|
|
426
|
-
<i class="material-icons large icon-blue">3d_rotation</i>
|
|
427
|
-
</a>
|
|
428
|
-
</li>
|
|
429
|
-
<li>
|
|
430
|
-
<div class="col main-toolbar-table-types-tools main-toolbar-table-filter input-field" style="line-height: 24px;">
|
|
431
|
-
<i class="material-icons prefix" style="line-height: 24px;">search</i>
|
|
432
|
-
<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">
|
|
433
|
-
<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>
|
|
434
|
-
</div>
|
|
435
|
-
|
|
436
|
-
</li>
|
|
437
|
-
<li>
|
|
438
|
-
<div class="col input-field" style="line-height: 24px;">
|
|
439
|
-
<i class="material-icons left" style="line-height: 24px; margin-top: 5px;">sort</i>
|
|
440
|
-
<a id="device-order-btn" class="dropdown-trigger btn" href="#" data-target="device-order">Default</a>
|
|
441
|
-
<ul id="device-order" class="dropdown-content" tabindex="0">
|
|
442
|
-
<li class="device-order-item" data-type="a-z" tabindex="0"><a class="translate" data-lang="A-Z">A-Z</a></li>
|
|
443
|
-
<li class="device-order-item" data-type="default" tabindex="0"><a class="translate" data-lang="Default">Default</a></li>
|
|
444
|
-
</ul>
|
|
445
|
-
</div>
|
|
446
|
-
</li>
|
|
447
|
-
<li>
|
|
448
|
-
<div class="col input-field" style="line-height: 24px;">
|
|
449
|
-
<i class="material-icons left" style="line-height: 24px; margin-top: 5px;">art_track</i>
|
|
450
|
-
<a id="room-filter-btn" class="dropdown-trigger btn" href="#" data-target="room-filter">All</a>
|
|
451
|
-
<ul id="room-filter" class="dropdown-content" tabindex="0">
|
|
452
|
-
</ul>
|
|
453
|
-
</div>
|
|
454
|
-
</li>
|
|
455
|
-
</ul>
|
|
456
|
-
</nav>
|
|
457
|
-
</div>
|
|
458
|
-
<div id="devices" class="row">
|
|
459
|
-
</div>
|
|
560
|
+
<div id="tab-map" class="col s12 page">
|
|
561
|
+
<div class="fixed-action-btn" style="margin-bottom: 100px">
|
|
562
|
+
<a id="refresh"
|
|
563
|
+
class="btn-floating waves-effect waves-light blue tooltipped center-align hoverable translateT"
|
|
564
|
+
title="Refresh"><i class="material-icons large">autorenew</i></a>
|
|
460
565
|
</div>
|
|
461
|
-
<div id="
|
|
462
|
-
<
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
</div>
|
|
468
|
-
<div id="map" class="row">
|
|
469
|
-
</div>
|
|
566
|
+
<div id="viewconfigbtn" class="fixed-action-btn top left">
|
|
567
|
+
<a id="viewconfig"
|
|
568
|
+
class="btn-floating waves-effect waves-light orange tooltipped center-align hoverable translateT"
|
|
569
|
+
title="View config"><i class="material-icons large">menu</i></a>
|
|
570
|
+
</div>
|
|
571
|
+
<div id="map" class="row">
|
|
470
572
|
</div>
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
573
|
+
</div>
|
|
574
|
+
<div id="tab-sett" class="col s12 page">
|
|
575
|
+
<div id="sett" class="row">
|
|
576
|
+
<div class="input-field input-group col s12 m6 l4">
|
|
577
|
+
<input id="port" type="text" class="value validate"/>
|
|
578
|
+
<label for="port" class="translate">COM port name</label>
|
|
579
|
+
<span class="suffix">
|
|
580
|
+
<a id="selector" class='dropdown-trigger btn' href='#' data-target='ports'><i
|
|
581
|
+
class="material-icons">arrow_drop_down</i></a>
|
|
582
|
+
<!-- Dropdown Structure -->
|
|
479
583
|
<ul id='ports' class='dropdown-content'>
|
|
480
584
|
</ul>
|
|
481
585
|
</span>
|
|
482
|
-
</div>
|
|
483
|
-
<div class="input-field col s12 m6 l4">
|
|
484
|
-
<select id="adapterType" class="value">
|
|
485
|
-
<option value="" disabled selected class="translate">Choose type</option>
|
|
486
|
-
<option value="zstack">TI Z-Stack/CCxxxx</option>
|
|
487
|
-
<option value="deconz">Deconz/Conbee</option>
|
|
488
|
-
<option value="zigate">NXP/Zigate</option>
|
|
489
|
-
<option value="ezsp">Silicon Labs EZSP/EFR32</option>
|
|
490
|
-
</select>
|
|
491
|
-
<label class="translate">Type</label>
|
|
492
|
-
</div>
|
|
493
|
-
<div class="input-field col s6 m3 l3">
|
|
494
|
-
<input id="countDown" type="number" min="0" max="180" class="value" />
|
|
495
|
-
<label class="translate" for="countDown">Countdown</label>
|
|
496
|
-
</div>
|
|
497
586
|
</div>
|
|
587
|
+
<div class="input-field col s12 m6 l4">
|
|
588
|
+
<select id="adapterType" class="value">
|
|
589
|
+
<option value="" disabled selected class="translate">Choose type</option>
|
|
590
|
+
<option value="zstack">TI Z-Stack/CCxxxx</option>
|
|
591
|
+
<option value="deconz">Deconz/Conbee</option>
|
|
592
|
+
<option value="zigate">NXP/Zigate</option>
|
|
593
|
+
<option value="ezsp">Silicon Labs EZSP/EFR32</option>
|
|
594
|
+
</select>
|
|
595
|
+
<label class="translate">Type</label>
|
|
596
|
+
</div>
|
|
597
|
+
<div class="input-field col s6 m3 l3">
|
|
598
|
+
<input id="countDown" type="number" min="0" max="180" class="value"/>
|
|
599
|
+
<label class="translate" for="countDown">Countdown</label>
|
|
600
|
+
</div>
|
|
601
|
+
</div>
|
|
602
|
+
<div class="row">
|
|
603
|
+
<h6>Network</h6>
|
|
498
604
|
<div class="row">
|
|
499
|
-
<h6>Network</h6>
|
|
500
|
-
<div class="row">
|
|
501
|
-
<div class="input-field col s12 m6 l4">
|
|
502
|
-
<input id="extPanID" type="text" pattern="[a-fA-F\d]+" minlength="16" maxlength="16" class="validate value" />
|
|
503
|
-
<label class="translate" for="extPanID">ExtPanID</label>
|
|
504
|
-
</div>
|
|
505
|
-
<div class="input-field col s12 m6 l8">
|
|
506
|
-
<p class="translate">ExtPanIDText</p>
|
|
507
|
-
</div>
|
|
508
|
-
</div>
|
|
509
|
-
<div class="row">
|
|
510
|
-
<div class="input-field col s12 m6 l4">
|
|
511
|
-
<input id="panID" type="number" min="1" max="65565" class="value" />
|
|
512
|
-
<label class="translate" for="panID">PanID</label>
|
|
513
|
-
</div>
|
|
514
|
-
<div class="input-field col s12 m6 l8">
|
|
515
|
-
<p class="translate">PanIDText</p>
|
|
516
|
-
</div>
|
|
517
|
-
|
|
518
|
-
</div>
|
|
519
|
-
<div class="row">
|
|
520
|
-
<div class="input-field suffix col s12 m6 l4">
|
|
521
|
-
<select id="channel" class="value">
|
|
522
|
-
<option value="" disabled selected class="translate">Choose channel</option>
|
|
523
|
-
<option value="11">11</option>
|
|
524
|
-
<option value="12">12</option>
|
|
525
|
-
<option value="13">13</option>
|
|
526
|
-
<option value="14">14</option>
|
|
527
|
-
<option value="15">15</option>
|
|
528
|
-
<option value="16">16</option>
|
|
529
|
-
<option value="17">17</option>
|
|
530
|
-
<option value="18">18</option>
|
|
531
|
-
<option value="19">19</option>
|
|
532
|
-
<option value="20">20</option>
|
|
533
|
-
<option value="21">21</option>
|
|
534
|
-
<option value="22">22</option>
|
|
535
|
-
<option value="23">23</option>
|
|
536
|
-
<option value="24">24</option>
|
|
537
|
-
<option value="25">25</option>
|
|
538
|
-
<option value="26">26</option>
|
|
539
|
-
</select>
|
|
540
|
-
<label class="translate">Channel</label>
|
|
541
|
-
<a id="scan" class='btn' data-target='channel'><i class="material-icons">graphic_eq</i></a>
|
|
542
|
-
</div>
|
|
543
|
-
<div class="input-field col s12 m6 l8">
|
|
544
|
-
<p class="translate">ChannelChangeText</p>
|
|
545
|
-
</div>
|
|
546
|
-
</div>
|
|
547
605
|
<div class="input-field col s12 m6 l4">
|
|
548
|
-
<input id="
|
|
549
|
-
|
|
606
|
+
<input id="extPanID" type="text" pattern="[a-fA-F\d]+" minlength="16" maxlength="16"
|
|
607
|
+
class="validate value"/>
|
|
608
|
+
<label class="translate" for="extPanID">ExtPanID</label>
|
|
550
609
|
</div>
|
|
551
610
|
<div class="input-field col s12 m6 l8">
|
|
552
|
-
<p class="translate">
|
|
611
|
+
<p class="translate">ExtPanIDText</p>
|
|
553
612
|
</div>
|
|
554
613
|
</div>
|
|
555
614
|
<div class="row">
|
|
556
|
-
<div class="input-field col s12 m6 l4 col-transmitPower">
|
|
557
|
-
<select id="transmitPower" class="value" >
|
|
558
|
-
<option value="" disabled selected class="translate">transmitPower</option>
|
|
559
|
-
<option value="-22">low</option>
|
|
560
|
-
<option value="0">norm</option>
|
|
561
|
-
<option value="19">high</option>
|
|
562
|
-
<option value="20">high+</option>
|
|
563
|
-
</select>
|
|
564
|
-
<label class="translate" for="transmitPower">transmitPower</label>
|
|
565
|
-
</div>
|
|
566
|
-
</div>
|
|
567
|
-
<div class="row">
|
|
568
|
-
<h6 class="translate">Others</h6>
|
|
569
|
-
<div class="input-field col s12 m6 l4 col-disableLed">
|
|
570
|
-
<input id="disableLed" type="checkbox" class="value" />
|
|
571
|
-
<label class="translate" for="disableLed">Disable LED for cc2531</label>
|
|
572
|
-
</div>
|
|
573
|
-
<div class="input-field col s12 m6 l4 col-disablePing">
|
|
574
|
-
<input id="disablePing" type="checkbox" class="value" />
|
|
575
|
-
<label class="translate" for="disablePing">Disable active availability check</label>
|
|
576
|
-
</div>
|
|
577
|
-
<div class="input-field col s12 m6 l4 col-debugHerdsman">
|
|
578
|
-
<input id="debugHerdsman" type="checkbox" class="value" />
|
|
579
|
-
<label class="translate" for="debugHerdsman">Zigbee-herdsman debug info</label>
|
|
580
|
-
</div>
|
|
581
615
|
<div class="input-field col s12 m6 l4">
|
|
582
|
-
<
|
|
616
|
+
<input id="panID" type="number" min="1" max="65565" class="value"/>
|
|
617
|
+
<label class="translate" for="panID">PanID</label>
|
|
583
618
|
</div>
|
|
584
|
-
<div class="input-field col s12 m6
|
|
585
|
-
<
|
|
586
|
-
<label class="translate" for="disableBackup">disable internal Backup</label>
|
|
619
|
+
<div class="input-field col s12 m6 l8">
|
|
620
|
+
<p class="translate">PanIDText</p>
|
|
587
621
|
</div>
|
|
588
622
|
|
|
589
623
|
</div>
|
|
590
624
|
<div class="row">
|
|
591
|
-
<
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
625
|
+
<div class="input-field suffix col s12 m6 l4">
|
|
626
|
+
<select id="channel" class="value">
|
|
627
|
+
<option value="" disabled selected class="translate">Choose channel</option>
|
|
628
|
+
<option value="11">11</option>
|
|
629
|
+
<option value="12">12</option>
|
|
630
|
+
<option value="13">13</option>
|
|
631
|
+
<option value="14">14</option>
|
|
632
|
+
<option value="15">15</option>
|
|
633
|
+
<option value="16">16</option>
|
|
634
|
+
<option value="17">17</option>
|
|
635
|
+
<option value="18">18</option>
|
|
636
|
+
<option value="19">19</option>
|
|
637
|
+
<option value="20">20</option>
|
|
638
|
+
<option value="21">21</option>
|
|
639
|
+
<option value="22">22</option>
|
|
640
|
+
<option value="23">23</option>
|
|
641
|
+
<option value="24">24</option>
|
|
642
|
+
<option value="25">25</option>
|
|
643
|
+
<option value="26">26</option>
|
|
644
|
+
</select>
|
|
645
|
+
<label class="translate">Channel</label>
|
|
646
|
+
<a id="scan" class='btn' data-target='channel'><i class="material-icons">graphic_eq</i></a>
|
|
647
|
+
</div>
|
|
648
|
+
<div class="input-field col s12 m6 l8">
|
|
649
|
+
<p class="translate">ChannelChangeText</p>
|
|
595
650
|
</div>
|
|
596
651
|
</div>
|
|
597
|
-
<div class="input-field col s12
|
|
598
|
-
<input id="
|
|
599
|
-
<label class="translate" for="
|
|
652
|
+
<div class="input-field col s12 m6 l4">
|
|
653
|
+
<input id="precfgkey" type="text" pattern="[a-fA-F\d]+" class="validate value"/>
|
|
654
|
+
<label class="translate" for="precfgkey">Transport Key</label>
|
|
655
|
+
</div>
|
|
656
|
+
<div class="input-field col s12 m6 l8">
|
|
657
|
+
<p class="translate">Tranport Key Text</p>
|
|
658
|
+
</div>
|
|
659
|
+
</div>
|
|
660
|
+
<div class="row">
|
|
661
|
+
<div class="input-field col s12 m6 l4 col-transmitPower">
|
|
662
|
+
<select id="transmitPower" class="value">
|
|
663
|
+
<option value="" disabled selected class="translate">transmitPower</option>
|
|
664
|
+
<option value="-22">low</option>
|
|
665
|
+
<option value="0">norm</option>
|
|
666
|
+
<option value="19">high</option>
|
|
667
|
+
<option value="20">high+</option>
|
|
668
|
+
</select>
|
|
669
|
+
<label class="translate" for="transmitPower">transmitPower</label>
|
|
600
670
|
</div>
|
|
601
671
|
</div>
|
|
672
|
+
<div class="row">
|
|
673
|
+
<h6 class="translate">Others</h6>
|
|
674
|
+
<div class="input-field col s12 m6 l4 col-disableLed">
|
|
675
|
+
<input id="disableLed" type="checkbox" class="value"/>
|
|
676
|
+
<label class="translate" for="disableLed">Disable LED for cc2531</label>
|
|
677
|
+
</div>
|
|
678
|
+
<div class="input-field col s12 m6 l4 col-disablePing">
|
|
679
|
+
<input id="disablePing" type="checkbox" class="value"/>
|
|
680
|
+
<label class="translate" for="disablePing">Disable active availability check</label>
|
|
681
|
+
</div>
|
|
682
|
+
<div class="input-field col s12 m6 l4 col-debugHerdsman">
|
|
683
|
+
<input id="debugHerdsman" type="checkbox" class="value"/>
|
|
684
|
+
<label class="translate" for="debugHerdsman">Zigbee-herdsman debug info</label>
|
|
685
|
+
</div>
|
|
686
|
+
<div class="input-field col s12 m6 l4">
|
|
687
|
+
<a id="reset-btn" class="waves-effect waves-light white-text btn-large translate">Reset...</a>
|
|
688
|
+
</div>
|
|
689
|
+
<div class="input-field col s12 m6 l4 col-disableBackup">
|
|
690
|
+
<input id="disableBackup" type="checkbox" class="value"/>
|
|
691
|
+
<label class="translate" for="disableBackup">disable internal Backup</label>
|
|
692
|
+
</div>
|
|
602
693
|
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
694
|
+
</div>
|
|
695
|
+
<div class="row">
|
|
696
|
+
<h6 class="translate">External converters</h6>
|
|
697
|
+
<div class="input-field col s12 m6 l4">
|
|
698
|
+
<input id="external" type="text" class="value"/>
|
|
699
|
+
<label class="translate" for="external">Paths to files, semicolon (;) splitted</label>
|
|
700
|
+
</div>
|
|
701
|
+
</div>
|
|
702
|
+
<div class="input-field col s12 m12 l12 col-startWithInconsistent">
|
|
703
|
+
<input id="startWithInconsistent" type="checkbox" class="value"/>
|
|
704
|
+
<label class="translate" for="startWithInconsistent">SettingsExclude</label>
|
|
705
|
+
</div>
|
|
706
|
+
</div>
|
|
707
|
+
|
|
708
|
+
<div id="tab-expos" class="col s12 page">
|
|
709
|
+
<div id="exposes" class="row">
|
|
710
|
+
<a class="btn-floating waves-effect waves-light blue table-button-add"><i class="material-icons">add</i></a>
|
|
711
|
+
<div class="table-values-div">
|
|
712
|
+
<table class="table-values">
|
|
713
|
+
<thead>
|
|
714
|
+
<tr>
|
|
715
|
+
<th data-name="addr" style="width: 70%" class="translate">addr</th>
|
|
716
|
+
<th data-name="active" style="width: 30px" data-style="width: 70px" data-type="checkbox"
|
|
717
|
+
class="translate">enabled
|
|
718
|
+
</th>
|
|
719
|
+
<th data-buttons="delete up down" style="width: 120px"></th>
|
|
720
|
+
</tr>
|
|
721
|
+
</thead>
|
|
722
|
+
</table>
|
|
617
723
|
</div>
|
|
618
724
|
</div>
|
|
725
|
+
</div>
|
|
619
726
|
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
<h6 class="translate">This page is needed only for advanced users that like to extend adapter
|
|
625
|
-
|
|
727
|
+
<div id="tab-dev" class="col s12 page">
|
|
728
|
+
<div id="develop" class="row">
|
|
729
|
+
<div class="row">
|
|
730
|
+
<div class="col s12">
|
|
731
|
+
<h6 class="translate">This page is needed only for advanced users that like to extend adapter
|
|
732
|
+
functionalities!</h6>
|
|
626
733
|
</div>
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
<
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
</
|
|
638
|
-
<
|
|
639
|
-
|
|
734
|
+
</div>
|
|
735
|
+
<div class="row">
|
|
736
|
+
<div class="col s4">
|
|
737
|
+
<p class="translate">notImplementedText</p>
|
|
738
|
+
<p><span class="translate">You find good explanations what the settings mean</span>
|
|
739
|
+
<a href="https://docs.smartthings.com/en/latest/device-type-developers-guide/zigbee-primer.html"
|
|
740
|
+
target="_blank" class="translate">here</a>
|
|
741
|
+
<span class="translate">and in</span> <a
|
|
742
|
+
href="https://www.nxp.com/docs/en/user-guide/JN-UG-3115.pdf" target="_blank">ZigBee
|
|
743
|
+
Cluster Library</a>.
|
|
744
|
+
</p>
|
|
745
|
+
<p><span class="translate">Please contribute your discoveries</span> (<a
|
|
746
|
+
href="https://github.com/Koenkk/zigbee-herdsman-converters" target="_blank">
|
|
747
|
+
zigbee-herdsman-converters</a>) <span class="translate">to make it available for other user too</span>.
|
|
748
|
+
</p>
|
|
749
|
+
</div>
|
|
750
|
+
<div class="col s8">
|
|
751
|
+
<div class="blue-grey-text">
|
|
640
752
|
<h6 class="translate">Examples:</h6>
|
|
641
|
-
<ul
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
<
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
<
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
<
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
753
|
+
<ul class="collapsible">
|
|
754
|
+
<li>
|
|
755
|
+
<div class="collapsible-header translate">Read Firmware</div>
|
|
756
|
+
<div class="collapsible-body">Hue Motion Detector: <b>Device:</b> SML001, <b>Endpoint:</b>
|
|
757
|
+
2, <b>ClusterId:</b> genBasic (0),
|
|
758
|
+
<b>Command Type: </b>Foundation, <b>Command:</b> read (0), <b>AttributeId:</b>
|
|
759
|
+
swBuildId (16384)<br>
|
|
760
|
+
=> Result: "6.1.0.18912" (You read the device Firmware version)
|
|
761
|
+
</div>
|
|
762
|
+
</li>
|
|
763
|
+
<li>
|
|
764
|
+
<div class="collapsible-header translate">Write Attribute</div>
|
|
765
|
+
<div class="collapsible-body"><b>Device:</b> SML001, <b>Endpoint:</b> 2,
|
|
766
|
+
<b>ClusterId:</b> msOccupancySensing (1030), <b>Command Type: </b>Foundation,
|
|
767
|
+
<b>Command:</b> write (2), <b>AttributeId:</b>
|
|
768
|
+
pirOToUDelay (16, type 33), <b>Value:</b> 55<br>
|
|
769
|
+
=> (You set the timeout until motion detector changes from occupied not
|
|
770
|
+
unoccupied,
|
|
771
|
+
test it be <b>reading</b> same attribute)
|
|
772
|
+
</div>
|
|
773
|
+
</li>
|
|
774
|
+
<li>
|
|
775
|
+
<div class="collapsible-header translate">Send Functional command</div>
|
|
776
|
+
<div class="collapsible-body"><b>Device:</b> TRADFRI bulb..., <b>Endpoint:</b> 1,
|
|
777
|
+
<b>ClusterId:</b> genOnOff (6), <b>Command Type: </b>Functional,
|
|
778
|
+
<b>Command:</b> on (1), <b>AttributeId:</b>
|
|
779
|
+
onOff (0, type 16)<br>
|
|
780
|
+
=> You switched on your bulb
|
|
781
|
+
<p>For details about needed arguments (expert mode) see
|
|
782
|
+
<a href="https://github.com/zigbeer/zcl-packet/wiki/6.-Appendix#621-general">
|
|
783
|
+
zcl-packet - Appendix</a></p></div>
|
|
784
|
+
</li>
|
|
785
|
+
<li>
|
|
786
|
+
<div class="collapsible-header translate">Expert Mode</div>
|
|
787
|
+
<div class="collapsible-body">Example:<br>
|
|
788
|
+
<b>JSON:</b> { "devId": "zigbee.0.yourDevId",
|
|
789
|
+
"ep": "2", "cid": "msOccupancySensing", "cmd": "write", "cmdType": "foundation",
|
|
790
|
+
"zclData": { "pirOToUDelay": 30 },
|
|
791
|
+
"cfg": { "manufCode": 4107, "manufSpec": 1}}<br>
|
|
792
|
+
(You may use selectors together with expert mode to get prepared JSON)
|
|
793
|
+
</div>
|
|
794
|
+
</li>
|
|
795
|
+
<li>
|
|
796
|
+
<div class="collapsible-header translate">Configure reporting</div>
|
|
797
|
+
<div class="collapsible-body">Example (Expert Mode):<br>
|
|
798
|
+
<b>JSON:</b> { "devId": "zigbee.0.yourDevId",
|
|
799
|
+
"ep": "2", "cid": "msTemperatureMeasurement", "cmd": "configReport", "cmdType":
|
|
800
|
+
"foundation",<br>
|
|
801
|
+
"zclData": [{<br>
|
|
802
|
+
"attribute": "measuredValue", <br>"minimumReportInterval": 1, <br>"maximumReportInterval":
|
|
803
|
+
600,<br>
|
|
804
|
+
"reportableChange": 1 }],<br>
|
|
805
|
+
"cfg": null}
|
|
806
|
+
</div>
|
|
807
|
+
</li>
|
|
689
808
|
</ul>
|
|
690
|
-
</div>
|
|
691
809
|
</div>
|
|
692
810
|
</div>
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
811
|
+
</div>
|
|
812
|
+
<div class="col s9">
|
|
813
|
+
<div class="row">
|
|
814
|
+
<div class="input-field col s8">
|
|
815
|
+
<select id="dev-selector">
|
|
697
816
|
<option value="" disabled selected class="translate">Select a device</option>
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
817
|
+
</select>
|
|
818
|
+
<label for="dev-selector" class="translate">Device</label>
|
|
819
|
+
</div>
|
|
820
|
+
<div class="input-field col s4 admin-tooltip-icon translateT"
|
|
821
|
+
title="Some kind of 'device within device'. Every endpoint may have different functions. If one does not work, test another.">
|
|
822
|
+
<select id="ep-selector">
|
|
703
823
|
<option value="" disabled selected class="translate">Select an Endpoint</option>
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
</div>
|
|
824
|
+
</select>
|
|
825
|
+
<label for="ep-selector" class="translate">Endpoint</label>
|
|
707
826
|
</div>
|
|
827
|
+
</div>
|
|
828
|
+
<div class="row">
|
|
708
829
|
<div class="row">
|
|
709
|
-
<div class="
|
|
710
|
-
|
|
711
|
-
|
|
830
|
+
<div class="input-field col s4 admin-tooltip-icon"
|
|
831
|
+
title="Group of functions. AttributeIds will change depending on your choice here.">
|
|
832
|
+
<select id="cid-selector">
|
|
712
833
|
<option value="" disabled selected class="translate">Select cid</option>
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
834
|
+
</select>
|
|
835
|
+
<label for="cid-selector" class="translate">Cluster ID</label>
|
|
836
|
+
</div>
|
|
837
|
+
<div class="input-field col s4 admin-tooltip-icon"
|
|
838
|
+
title="Command type. Available commands will change depending on your choice here. Some actions need Foundation, others Functional, you may test both.">
|
|
839
|
+
<select id="cmd-type-selector">
|
|
718
840
|
<option value="foundation" selected>Foundation</option>
|
|
719
841
|
<option value="functional">Functional</option>
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
842
|
+
</select>
|
|
843
|
+
<label for="cid-selector" class="translate">Command Type</label>
|
|
844
|
+
</div>
|
|
845
|
+
<div class="input-field col s4 admin-tooltip-icon" title="The action you want to run.">
|
|
846
|
+
<select id="cmd-selector">
|
|
725
847
|
<option value="" disabled selected class="translate">Select Command</option>
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
848
|
+
</select>
|
|
849
|
+
<label for="cmd-selector" class="translate">Command</label>
|
|
850
|
+
</div>
|
|
851
|
+
<div class="input-field col s4 admin-tooltip-icon"
|
|
852
|
+
title="The setting you are interested in.">
|
|
853
|
+
<select id="attrid-selector">
|
|
731
854
|
<option value="" disabled selected class="translate">Select Attribute</option>
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
855
|
+
</select>
|
|
856
|
+
<label for="attrid-selector" class="translate">Attribute ID</label>
|
|
857
|
+
</div>
|
|
858
|
+
<div class="col s8">
|
|
859
|
+
<div class="input-field col s5 offset-s1 admin-tooltip-icon translateT"
|
|
860
|
+
title="Check if your Command needs to submit a value. For example, cmd 'write' needs the value you want to write to your device.">
|
|
861
|
+
<label for="value-needed" style="pointer-events: auto;">
|
|
738
862
|
<!-- workaround input not clickable https://codepen.io/alexisdiel/pen/gxwPWj -->
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
</
|
|
742
|
-
</
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
863
|
+
<input style="pointer-events: none;" id="value-needed" type="checkbox"
|
|
864
|
+
class="filled-in"/>
|
|
865
|
+
<span style="pointer-events: none;" class="translate">Needs value</span>
|
|
866
|
+
</label>
|
|
867
|
+
</div>
|
|
868
|
+
<div class="input-field col s6 admin-tooltip-icon translateT"
|
|
869
|
+
title="The value to send to your device (use douple-quotes if a number is a string).">
|
|
870
|
+
<input id="value-input" disabled placeholder="0">
|
|
871
|
+
<label for="value-input">Value</label>
|
|
747
872
|
</div>
|
|
748
873
|
</div>
|
|
749
874
|
</div>
|
|
750
875
|
</div>
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
876
|
+
</div>
|
|
877
|
+
<div class="col s3">
|
|
878
|
+
<div class="row">
|
|
879
|
+
<div id="expert-toggle" class="input-field col s12 admin-tooltip-icon translateT"
|
|
880
|
+
title="Switch expert mode to enter raw data, sent to zigbee device.">
|
|
881
|
+
<label for="expert-mode" style="pointer-events: auto;">
|
|
755
882
|
<!-- workaround input not clickable https://codepen.io/alexisdiel/pen/gxwPWj -->
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
</
|
|
759
|
-
</
|
|
760
|
-
|
|
761
|
-
|
|
883
|
+
<input style="pointer-events: none;" id="expert-mode" type="checkbox"
|
|
884
|
+
class="filled-in"/>
|
|
885
|
+
<span style="pointer-events: none;" class="translate">Expert mode</span>
|
|
886
|
+
</label>
|
|
887
|
+
</div>
|
|
888
|
+
<div id="expert-json-box" class="input-field col s12" style="display:none;">
|
|
889
|
+
<p class="translate">zigbee-shepherd</p>
|
|
762
890
|
<div class="input-field col s12">
|
|
763
891
|
<textarea id="expert-json" class="materialize-textarea"></textarea>
|
|
764
892
|
<label for="expert-json">JSON</label>
|
|
765
893
|
</div>
|
|
766
|
-
</div>
|
|
767
894
|
</div>
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
895
|
+
</div>
|
|
896
|
+
<div id="dev-action-card" class=".center-align blue card-panel">
|
|
897
|
+
<div class="card-content white-text">
|
|
898
|
+
<h5 id="devActResult" class="card-title"></h5>
|
|
899
|
+
<p id="devInfoMsg" class="translate">Select your settings. Then click RUN to send command to
|
|
900
|
+
your Zigbee device.</p>
|
|
901
|
+
</div>
|
|
902
|
+
<div class="card-action">
|
|
903
|
+
<a id="dev-send-btn"
|
|
904
|
+
class="waves-effect waves-light white-text btn-large tooltipped translateT translate"
|
|
905
|
+
data-position="bottom" title="Send data to Zigbee">Run</a>
|
|
776
906
|
</div>
|
|
777
907
|
</div>
|
|
778
908
|
</div>
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
</
|
|
909
|
+
</div>
|
|
910
|
+
<div id="sett" class="row">
|
|
911
|
+
<a class="col s1 offset-s11 btn-small" onClick="$('#dev_result_log').html('');">Clear Log</a>
|
|
912
|
+
<div class="col s12" class="card-panel ">
|
|
913
|
+
<div id="dev_result_log" class="card-content black white-text"></div>
|
|
914
|
+
<label for="dev_result_log" class="translate">Results</label>
|
|
785
915
|
</div>
|
|
786
916
|
</div>
|
|
787
|
-
|
|
788
|
-
|
|
917
|
+
</div>
|
|
918
|
+
<div id="tab-groups" class="col s12 page">
|
|
919
|
+
<div class="row">
|
|
920
|
+
<div class="col s12">
|
|
789
921
|
<div class="col s12">
|
|
790
|
-
<
|
|
791
|
-
<
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
</table>
|
|
800
|
-
</div>
|
|
801
|
-
<a id="add_group" class="btn-floating waves-effect waves-light blue table-button-add tooltipped hoverable translateT" title="Add group">
|
|
802
|
-
<i class="material-icons">add</i>
|
|
803
|
-
</a>
|
|
922
|
+
<table class="">
|
|
923
|
+
<thead>
|
|
924
|
+
<tr>
|
|
925
|
+
<th data-name="num" class="translate">№</th>
|
|
926
|
+
<th data-name="name" class="translate">Name</th>
|
|
927
|
+
</tr>
|
|
928
|
+
</thead>
|
|
929
|
+
<tbody id="groups_table"></tbody>
|
|
930
|
+
</table>
|
|
804
931
|
</div>
|
|
932
|
+
<a id="add_group"
|
|
933
|
+
class="btn-floating waves-effect waves-light blue table-button-add tooltipped hoverable translateT"
|
|
934
|
+
title="Add group">
|
|
935
|
+
<i class="material-icons">add</i>
|
|
936
|
+
</a>
|
|
805
937
|
</div>
|
|
806
938
|
</div>
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
939
|
+
</div>
|
|
940
|
+
<div id="tab-binding" class="col s12 page">
|
|
941
|
+
<div class="fixed-action-btn" style="margin-bottom: 100px">
|
|
942
|
+
<a id="add_binding"
|
|
943
|
+
class="btn-floating waves-effect waves-light blue tooltipped center-align hoverable translateT"
|
|
944
|
+
title="Add binding"><i class="material-icons large">add</i></a>
|
|
813
945
|
</div>
|
|
814
|
-
<div id="
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
946
|
+
<div id="binding" class="row">
|
|
947
|
+
</div>
|
|
948
|
+
</div>
|
|
949
|
+
<div id="tab-exclude" class="col s12 page">
|
|
950
|
+
<div class="row">
|
|
951
|
+
<p class="translate">ExcludeTextTranslation</p>
|
|
952
|
+
</div>
|
|
953
|
+
<div class="fixed-action-btn" style="margin-bottom: 100px">
|
|
954
|
+
<a id="add_exclude"
|
|
955
|
+
class="btn-floating waves-effect waves-light blue tooltipped center-align hoverable translateT"
|
|
956
|
+
title="Add exlude"><i class="material-icons large">add</i></a>
|
|
957
|
+
</div>
|
|
958
|
+
<div id="exclude" class="row">
|
|
823
959
|
</div>
|
|
824
960
|
</div>
|
|
825
961
|
</div>
|
|
962
|
+
</div>
|
|
826
963
|
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
964
|
+
<div class="materialize-dialogs m">
|
|
965
|
+
<div id="modaledit" class="modal">
|
|
966
|
+
<div class="modal-content">
|
|
967
|
+
<h3 class="translate">Config device</h3>
|
|
968
|
+
<div class="row">
|
|
832
969
|
<div class="col">
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
970
|
+
<div class="input-field">
|
|
971
|
+
<input id="d_name" type="text" class="value validate">
|
|
972
|
+
<label for="d_name" class="translate">Name</label>
|
|
973
|
+
</div>
|
|
837
974
|
</div>
|
|
838
|
-
|
|
839
|
-
|
|
975
|
+
</div>
|
|
976
|
+
<div class="row epid0">
|
|
840
977
|
<div class="col">
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
978
|
+
<div class=endpointid>
|
|
979
|
+
<p class="translate device_with_endpoint">Main Endpoint</p>
|
|
980
|
+
</div>
|
|
844
981
|
</div>
|
|
845
982
|
<div class="col">
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
983
|
+
<div class="input-field groups">
|
|
984
|
+
<select id="d_groups_ep0" class="materialSelect" multiple>
|
|
985
|
+
<option value="1">Значение</option>
|
|
986
|
+
</select>
|
|
987
|
+
<label for="d_groups_ep0" class="translate">Groups</label>
|
|
988
|
+
</div>
|
|
850
989
|
</div>
|
|
851
|
-
|
|
852
|
-
|
|
990
|
+
</div>
|
|
991
|
+
<div class="row epid1">
|
|
853
992
|
<div class="col epid">
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
993
|
+
<div class=endpointid>
|
|
994
|
+
<p class="translate device_with_endpoint">Sub Endpoint 1</p>
|
|
995
|
+
</div>
|
|
857
996
|
</div>
|
|
858
997
|
<div class="col">
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
998
|
+
<div class="input-field groups">
|
|
999
|
+
<select id="d_groups_ep1" class="materialSelect" multiple>
|
|
1000
|
+
<option value="1">Значение</option>
|
|
1001
|
+
</select>
|
|
1002
|
+
<label for="d_groups_ep1" class="translate">Groups</label>
|
|
1003
|
+
</div>
|
|
863
1004
|
</div>
|
|
864
|
-
|
|
865
|
-
|
|
1005
|
+
</div>
|
|
1006
|
+
<div class="row epid2">
|
|
866
1007
|
<div class="col epid">
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
1008
|
+
<div class=endpointid>
|
|
1009
|
+
<p class="translate device_with_endpoint">Sub Endpoint 2</p>
|
|
1010
|
+
</div>
|
|
870
1011
|
</div>
|
|
871
1012
|
<div class="col">
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
1013
|
+
<div class="input-field groups">
|
|
1014
|
+
<select id="d_groups_ep2" class="materialSelect" multiple>
|
|
1015
|
+
<option value="1">Значение</option>
|
|
1016
|
+
</select>
|
|
1017
|
+
<label for="d_groups_ep2" class="translate">Groups</label>
|
|
1018
|
+
</div>
|
|
876
1019
|
</div>
|
|
877
|
-
|
|
878
|
-
|
|
1020
|
+
</div>
|
|
1021
|
+
<div class="row epid3">
|
|
879
1022
|
<div class="col epid">
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
1023
|
+
<div class=endpointid>
|
|
1024
|
+
<p class="translate device_with_endpoint">Sub Endpoint 3</p>
|
|
1025
|
+
</div>
|
|
883
1026
|
</div>
|
|
884
1027
|
<div class="col">
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
1028
|
+
<div class="input-field groups">
|
|
1029
|
+
<select id="d_groups_ep3" class="materialSelect" multiple>
|
|
1030
|
+
<option value="1">Значение</option>
|
|
1031
|
+
</select>
|
|
1032
|
+
<label for="d_groups_ep3" class="translate">Groups</label>
|
|
1033
|
+
</div>
|
|
889
1034
|
</div>
|
|
890
|
-
</div>
|
|
891
|
-
</div>
|
|
892
|
-
<div class="modal-footer">
|
|
893
|
-
<a name="save" href="#!" class="modal-action modal-close waves-effect waves-green btn green translate">Save</a>
|
|
894
|
-
<a href="#!" class="modal-action modal-close waves-effect waves-red btn-flat translate">Cancel</a>
|
|
895
1035
|
</div>
|
|
896
1036
|
</div>
|
|
1037
|
+
<div class="modal-footer">
|
|
1038
|
+
<a name="save" href="#!"
|
|
1039
|
+
class="modal-action modal-close waves-effect waves-green btn green translate">Save</a>
|
|
1040
|
+
<a href="#!" class="modal-action modal-close waves-effect waves-red btn-flat translate">Cancel</a>
|
|
1041
|
+
</div>
|
|
1042
|
+
</div>
|
|
897
1043
|
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
1044
|
+
<div id="groupedit" class="modal">
|
|
1045
|
+
<div class="modal-content">
|
|
1046
|
+
<div class="addgroup">
|
|
1047
|
+
<h3 class="translate">Add Group</h3>
|
|
1048
|
+
</div>
|
|
1049
|
+
<div class="editgroup">
|
|
1050
|
+
<h3 class="translate">Edit Group</h3>
|
|
1051
|
+
</div>
|
|
1052
|
+
<div class="row">
|
|
1053
|
+
<div class="col s4 m4 l2">
|
|
1054
|
+
<div class="input-field groupid">
|
|
909
1055
|
<input id="g_index" type="number" min="1" class="value validate">
|
|
910
1056
|
<label for="g_index" class="translate">№</label>
|
|
911
|
-
</div>
|
|
912
|
-
</div>
|
|
913
|
-
<div class="input-field col s8 m8 l10">
|
|
914
|
-
<input id="g_name" type="text" class="value validate">
|
|
915
|
-
<label for="g_name" class="translate">Name</label>
|
|
916
1057
|
</div>
|
|
917
1058
|
</div>
|
|
918
|
-
<div class="
|
|
919
|
-
|
|
1059
|
+
<div class="input-field col s8 m8 l10">
|
|
1060
|
+
<input id="g_name" type="text" class="value validate">
|
|
1061
|
+
<label for="g_name" class="translate">Name</label>
|
|
1062
|
+
</div>
|
|
1063
|
+
</div>
|
|
1064
|
+
<div class="row hide">
|
|
1065
|
+
<div class="col s12">
|
|
920
1066
|
<div class="input-field members">
|
|
921
|
-
|
|
922
|
-
|
|
1067
|
+
<label for="g_members" class="translate">Members</label>
|
|
1068
|
+
<select id="g_members" class="materialSelect" multiple>
|
|
1069
|
+
<option value="1">Значение</option>
|
|
1070
|
+
</select>
|
|
923
1071
|
</div>
|
|
924
|
-
</div>
|
|
925
1072
|
</div>
|
|
926
1073
|
</div>
|
|
927
|
-
<div class="modal-footer">
|
|
928
|
-
<a name="save" href="#!" class="modal-action modal-close waves-effect waves-green btn green translate">Save</a>
|
|
929
|
-
<a href="#!" class="modal-action modal-close waves-effect waves-red btn-flat translate">Cancel</a>
|
|
930
|
-
</div>
|
|
931
1074
|
</div>
|
|
1075
|
+
<div class="modal-footer">
|
|
1076
|
+
<a name="save" href="#!"
|
|
1077
|
+
class="modal-action modal-close waves-effect waves-green btn green translate">Save</a>
|
|
1078
|
+
<a href="#!" class="modal-action modal-close waves-effect waves-red btn-flat translate">Cancel</a>
|
|
1079
|
+
</div>
|
|
1080
|
+
</div>
|
|
932
1081
|
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
</div>
|
|
938
|
-
<div class="modal-footer">
|
|
939
|
-
<div id="forcediv" class="hide forcedelete">
|
|
940
|
-
<input id="force" type="checkbox" class="value" />
|
|
941
|
-
<label class="translate" for="force">Force delete (for lost devices)</label>
|
|
942
|
-
</div>
|
|
943
|
-
<a name="yes" href="#!" class="modal-action modal-close waves-effect waves-green btn green translate">Yes</a>
|
|
944
|
-
<a href="#!" class="modal-action modal-close waves-effect waves-red btn-flat translate">Cancel</a>
|
|
945
|
-
</div>
|
|
1082
|
+
<div id="modaldelete" class="modal">
|
|
1083
|
+
<div class="modal-content">
|
|
1084
|
+
<h3 class="translate">Delete confirmation</h3>
|
|
1085
|
+
<p>A bunch of text</p>
|
|
946
1086
|
</div>
|
|
947
|
-
<div
|
|
948
|
-
<div class="
|
|
949
|
-
<
|
|
950
|
-
<
|
|
951
|
-
</div>
|
|
952
|
-
<div class="modal-footer">
|
|
953
|
-
<div id="cforcediv" class="hide forcedelete">
|
|
954
|
-
<input id="cforce" type="checkbox" class="value" />
|
|
955
|
-
<label class="translate" for="cforce">Force removed states with custom configuration (history, upnp, etc.)</label>
|
|
956
|
-
</div>
|
|
957
|
-
<a name="yes" href="#!" class="modal-action modal-close waves-effect waves-green btn green translate">Yes</a>
|
|
958
|
-
<a href="#!" class="modal-action modal-close waves-effect waves-red btn-flat translate">Cancel</a>
|
|
1087
|
+
<div class="modal-footer">
|
|
1088
|
+
<div id="forcediv" class="hide forcedelete">
|
|
1089
|
+
<input id="force" type="checkbox" class="value"/>
|
|
1090
|
+
<label class="translate" for="force">Force delete (for lost devices)</label>
|
|
959
1091
|
</div>
|
|
1092
|
+
<a name="yes" href="#!"
|
|
1093
|
+
class="modal-action modal-close waves-effect waves-green btn green translate">Yes</a>
|
|
1094
|
+
<a href="#!" class="modal-action modal-close waves-effect waves-red btn-flat translate">Cancel</a>
|
|
960
1095
|
</div>
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
</
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
1096
|
+
</div>
|
|
1097
|
+
<div id="modalclean" class="modal">
|
|
1098
|
+
<div class="modal-content">
|
|
1099
|
+
<h3 class="translate">State cleanup confirmation</h3>
|
|
1100
|
+
<p>A bunch of text</p>
|
|
1101
|
+
</div>
|
|
1102
|
+
<div class="modal-footer">
|
|
1103
|
+
<div id="cforcediv" class="hide forcedelete">
|
|
1104
|
+
<input id="cforce" type="checkbox" class="value"/>
|
|
1105
|
+
<label class="translate" for="cforce">Force removed states with custom configuration (history, upnp,
|
|
1106
|
+
etc.)</label>
|
|
969
1107
|
</div>
|
|
1108
|
+
<a name="yes" href="#!"
|
|
1109
|
+
class="modal-action modal-close waves-effect waves-green btn green translate">Yes</a>
|
|
1110
|
+
<a href="#!" class="modal-action modal-close waves-effect waves-red btn-flat translate">Cancel</a>
|
|
1111
|
+
</div>
|
|
1112
|
+
</div>
|
|
1113
|
+
<div id="modalreconfigure" class="modal">
|
|
1114
|
+
<div class="modal-content">
|
|
1115
|
+
<h3 class="translate">Reconfigure device</h3>
|
|
1116
|
+
<p>A bunch of text</p>
|
|
970
1117
|
</div>
|
|
1118
|
+
<div class="modal-footer">
|
|
1119
|
+
<a name="yes" href="#!"
|
|
1120
|
+
class="modal-action modal-close waves-effect waves-green btn green translate">Yes</a>
|
|
1121
|
+
<a href="#!" class="modal-action modal-close waves-effect waves-red btn-flat translate">Cancel</a>
|
|
1122
|
+
</div>
|
|
1123
|
+
</div>
|
|
971
1124
|
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
</div>
|
|
978
|
-
<div class="row textarea">
|
|
979
|
-
<textarea id="stdout" disabled="disabled" cols="120" rows="30" style="height: calc(100% - 115px)"></textarea>
|
|
980
|
-
</div>
|
|
1125
|
+
<div id="modalpairing" class="modal modal-fixed-footer">
|
|
1126
|
+
<div class="modal-content">
|
|
1127
|
+
<h3 class="translate">Pairing process</h3>
|
|
1128
|
+
<div class="progress">
|
|
1129
|
+
<div id="progress_line" class="determinate" style="width: 0%"></div>
|
|
981
1130
|
</div>
|
|
982
|
-
<div class="
|
|
983
|
-
|
|
984
|
-
|
|
1131
|
+
<div class="row textarea">
|
|
1132
|
+
<textarea id="stdout" disabled="disabled" cols="120" rows="30"
|
|
1133
|
+
style="height: calc(100% - 115px)"></textarea>
|
|
985
1134
|
</div>
|
|
986
1135
|
</div>
|
|
1136
|
+
<div class="modal-footer">
|
|
1137
|
+
<!-- <a name="stop" href="#!" class="modal-action modal-close waves-effect waves-red btn-flat left">Stop</a> -->
|
|
1138
|
+
<a name="hide" href="#!"
|
|
1139
|
+
class="modal-action modal-close waves-effect waves-green btn green translate">Hide</a>
|
|
1140
|
+
</div>
|
|
1141
|
+
</div>
|
|
987
1142
|
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
</div>
|
|
1143
|
+
<div id="modalreset" class="modal">
|
|
1144
|
+
<div class="modal-content">
|
|
1145
|
+
<h3 class="translate">Reset confirmation</h3>
|
|
1146
|
+
<p class="translate">Reset Info</p>
|
|
1147
|
+
<a id="soft" data-mode="soft" class="modal-action modal-close waves-effect waves-red btn translate">Soft-Reset</a>
|
|
1148
|
+
<a id="hard" data-mode="hard" class="modal-action modal-close waves-effect waves-red btn translate">Hard-Reset</a>
|
|
1149
|
+
</div>
|
|
1150
|
+
<div class="modal-footer">
|
|
1151
|
+
<a href="#!" class="modal-action modal-close waves-effect waves-green btn-flat translate">Cancel</a>
|
|
998
1152
|
</div>
|
|
1153
|
+
</div>
|
|
999
1154
|
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1155
|
+
<div id="modalviewconfig" class="modal modal-fixed-footer">
|
|
1156
|
+
<div class="modal-content">
|
|
1157
|
+
<h3 class="translate">Map view config</h3>
|
|
1158
|
+
<div class="row">
|
|
1159
|
+
<div class="input-field input-group col s12 m6 l6">
|
|
1160
|
+
<div id="filterParentTgl" class="input-field col s12 admin-tooltip-icon translateT"
|
|
1161
|
+
title="Show parent">
|
|
1162
|
+
<label for="filterParent" style="pointer-events: auto;">
|
|
1007
1163
|
<!-- workaround input not clickable https://codepen.io/alexisdiel/pen/gxwPWj -->
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
<
|
|
1020
|
-
|
|
1021
|
-
<span style="pointer-events: none; color:#555555;" class="translate">Previous Parents</span>
|
|
1022
|
-
</label>
|
|
1023
|
-
</div>
|
|
1024
|
-
<div id="filterMeshTgl" class="input-field col s12 admin-tooltip-icon translateT" title="Show full mesh">
|
|
1025
|
-
<label for="filterMesh" style="pointer-events: auto;">
|
|
1026
|
-
<input style="pointer-events: none;" id="filterMesh" type="checkbox" class="filled-in"/>
|
|
1027
|
-
<span style="pointer-events: none;">Mesh</span>
|
|
1028
|
-
</label>
|
|
1029
|
-
</div>
|
|
1164
|
+
<input style="pointer-events: none;" id="filterParent" type="checkbox" class="filled-in"
|
|
1165
|
+
checked="checked"/>
|
|
1166
|
+
<span style="pointer-events: none; color:#0000ff;"
|
|
1167
|
+
class="translate">Parent/Child/Unknown</span>
|
|
1168
|
+
</label>
|
|
1169
|
+
</div>
|
|
1170
|
+
<div id="filterSiblTgl" class="input-field col s12 admin-tooltip-icon translateT"
|
|
1171
|
+
title="Show siblings">
|
|
1172
|
+
<label for="filterSibl" style="pointer-events: auto;">
|
|
1173
|
+
<input style="pointer-events: none;" id="filterSibl" type="checkbox" class="filled-in"
|
|
1174
|
+
checked="checked"/>
|
|
1175
|
+
<span style="pointer-events: none; color:#00bb00;" class="translate">Siblings</span>
|
|
1176
|
+
</label>
|
|
1030
1177
|
</div>
|
|
1031
|
-
<div class="input-field
|
|
1032
|
-
|
|
1178
|
+
<div id="filterPrvChildTgl" class="input-field col s12 admin-tooltip-icon translateT"
|
|
1179
|
+
title="Show previous parents">
|
|
1180
|
+
<label for="filterPrvChild" style="pointer-events: auto;">
|
|
1181
|
+
<input style="pointer-events: none;" id="filterPrvChild" type="checkbox" class="filled-in"/>
|
|
1182
|
+
<span style="pointer-events: none; color:#555555;" class="translate">Previous Parents</span>
|
|
1183
|
+
</label>
|
|
1184
|
+
</div>
|
|
1185
|
+
<div id="filterMeshTgl" class="input-field col s12 admin-tooltip-icon translateT"
|
|
1186
|
+
title="Show full mesh">
|
|
1187
|
+
<label for="filterMesh" style="pointer-events: auto;">
|
|
1188
|
+
<input style="pointer-events: none;" id="filterMesh" type="checkbox" class="filled-in"/>
|
|
1189
|
+
<span style="pointer-events: none;">Mesh</span>
|
|
1190
|
+
</label>
|
|
1033
1191
|
</div>
|
|
1034
1192
|
</div>
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
<a name="hide" href="#!" class="modal-action modal-close waves-effect waves-green btn green translate">Hide</a>
|
|
1193
|
+
<div class="input-field input-group col s12 m6 l6">
|
|
1194
|
+
<p class="translate">Device map info</p>
|
|
1195
|
+
</div>
|
|
1039
1196
|
</div>
|
|
1040
1197
|
</div>
|
|
1198
|
+
<div class="modal-footer">
|
|
1199
|
+
<!-- <a name="stop" href="#!" class="modal-action modal-close waves-effect waves-red btn-flat left">Stop</a> -->
|
|
1200
|
+
<a name="hide" href="#!"
|
|
1201
|
+
class="modal-action modal-close waves-effect waves-green btn green translate">Hide</a>
|
|
1202
|
+
</div>
|
|
1203
|
+
</div>
|
|
1041
1204
|
|
|
1042
|
-
|
|
1043
|
-
|
|
1205
|
+
<div id="bindingmodaledit" class="modal">
|
|
1206
|
+
<div class="modal-content">
|
|
1207
|
+
<div class="row">
|
|
1208
|
+
<h3 class="translate">Binding configuration</h3>
|
|
1044
1209
|
<div class="row">
|
|
1045
|
-
<
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
</select>
|
|
1050
|
-
<label for="bind_source" class="translate">Source device</label>
|
|
1051
|
-
</div>
|
|
1052
|
-
<div class="col s3 input-field">
|
|
1053
|
-
<select id="bind_source_ep" class="materialSelect">
|
|
1054
|
-
</select>
|
|
1055
|
-
<label for="bind_source_ep" class="translate">Source endpoint</label>
|
|
1056
|
-
</div>
|
|
1210
|
+
<div class="col s9 input-field">
|
|
1211
|
+
<select id="bind_source" class="icons">
|
|
1212
|
+
</select>
|
|
1213
|
+
<label for="bind_source" class="translate">Source device</label>
|
|
1057
1214
|
</div>
|
|
1058
|
-
<div class="
|
|
1059
|
-
<
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
<label for="bind_target" class="translate">Target device</label>
|
|
1063
|
-
</div>
|
|
1064
|
-
<div class="col s3 input-field">
|
|
1065
|
-
<select id="bind_target_ep" class="materialSelect">
|
|
1066
|
-
</select>
|
|
1067
|
-
<label for="bind_target_ep" class="translate">Target endpoint</label>
|
|
1068
|
-
</div>
|
|
1215
|
+
<div class="col s3 input-field">
|
|
1216
|
+
<select id="bind_source_ep" class="materialSelect">
|
|
1217
|
+
</select>
|
|
1218
|
+
<label for="bind_source_ep" class="translate">Source endpoint</label>
|
|
1069
1219
|
</div>
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
</
|
|
1220
|
+
</div>
|
|
1221
|
+
<div class="row">
|
|
1222
|
+
<div class="col s9 input-field">
|
|
1223
|
+
<select id="bind_target" class="icons">
|
|
1224
|
+
</select>
|
|
1225
|
+
<label for="bind_target" class="translate">Target device</label>
|
|
1226
|
+
</div>
|
|
1227
|
+
<div class="col s3 input-field">
|
|
1228
|
+
<select id="bind_target_ep" class="materialSelect">
|
|
1229
|
+
</select>
|
|
1230
|
+
<label for="bind_target_ep" class="translate">Target endpoint</label>
|
|
1231
|
+
</div>
|
|
1232
|
+
</div>
|
|
1233
|
+
<div class="row">
|
|
1234
|
+
<div class="col s9 input-field">
|
|
1235
|
+
<input id="unbind_from_coordinator" type="checkbox" class="value"/>
|
|
1236
|
+
<label class="translate" for="unbind_from_coordinator">Unbind remote from Coordinator (necessary
|
|
1237
|
+
for some remotes like HUE Dimmer Switch)</label>
|
|
1075
1238
|
</div>
|
|
1076
1239
|
</div>
|
|
1077
1240
|
</div>
|
|
1078
|
-
<div class="modal-footer">
|
|
1079
|
-
<a name="save" href="#!" class="modal-action modal-close waves-effect waves-green btn green translate">Save</a>
|
|
1080
|
-
<a href="#!" class="modal-action modal-close waves-effect waves-red btn-flat translate">Cancel</a>
|
|
1081
|
-
</div>
|
|
1082
1241
|
</div>
|
|
1083
|
-
<div
|
|
1084
|
-
<
|
|
1242
|
+
<div class="modal-footer">
|
|
1243
|
+
<a name="save" href="#!"
|
|
1244
|
+
class="modal-action modal-close waves-effect waves-green btn green translate">Save</a>
|
|
1245
|
+
<a href="#!" class="modal-action modal-close waves-effect waves-red btn-flat translate">Cancel</a>
|
|
1246
|
+
</div>
|
|
1247
|
+
</div>
|
|
1248
|
+
<div id="excludemodaledit" class="modal">
|
|
1249
|
+
<div class="modal-content">
|
|
1250
|
+
<div class="row">
|
|
1251
|
+
<h3 class="translate">Exclude configuration</h3>
|
|
1085
1252
|
<div class="row">
|
|
1086
|
-
<
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
</select>
|
|
1091
|
-
<label for="exclude_target" class="translate">exclude device</label>
|
|
1092
|
-
</div>
|
|
1253
|
+
<div class="col s9 input-field">
|
|
1254
|
+
<select id="exclude_target" class="icons">
|
|
1255
|
+
</select>
|
|
1256
|
+
<label for="exclude_target" class="translate">exclude device</label>
|
|
1093
1257
|
</div>
|
|
1094
1258
|
</div>
|
|
1095
1259
|
</div>
|
|
1096
|
-
<div class="modal-footer">
|
|
1097
|
-
<a name="save" href="#!" class="modal-action modal-close waves-effect waves-green btn green translate">Save</a>
|
|
1098
|
-
<a href="#!" class="modal-action modal-close waves-effect waves-red btn-flat translate">Cancel</a>
|
|
1099
|
-
</div>
|
|
1100
1260
|
</div>
|
|
1101
|
-
<div
|
|
1102
|
-
<
|
|
1103
|
-
|
|
1104
|
-
</
|
|
1105
|
-
|
|
1106
|
-
|
|
1261
|
+
<div class="modal-footer">
|
|
1262
|
+
<a name="save" href="#!"
|
|
1263
|
+
class="modal-action modal-close waves-effect waves-green btn green translate">Save</a>
|
|
1264
|
+
<a href="#!" class="modal-action modal-close waves-effect waves-red btn-flat translate">Cancel</a>
|
|
1265
|
+
</div>
|
|
1266
|
+
</div>
|
|
1267
|
+
<div id="modaldevinfo" class="modal modal-fixed-footer modal-fixed-header">
|
|
1268
|
+
<div class="modal-header">
|
|
1269
|
+
<h5 class="translate">Device information</h5>
|
|
1270
|
+
</div>
|
|
1271
|
+
<div class="modal-content">
|
|
1272
|
+
<div id="devinfo" class="row">
|
|
1107
1273
|
|
|
1108
|
-
</div>
|
|
1109
|
-
</div>
|
|
1110
|
-
<div class="modal-footer">
|
|
1111
|
-
<a name="hide" href="#!" class="modal-action modal-close waves-effect waves-green btn green translate">Hide</a>
|
|
1112
1274
|
</div>
|
|
1113
1275
|
</div>
|
|
1114
|
-
<div
|
|
1115
|
-
<
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1276
|
+
<div class="modal-footer">
|
|
1277
|
+
<a name="hide" href="#!"
|
|
1278
|
+
class="modal-action modal-close waves-effect waves-green btn green translate">Hide</a>
|
|
1279
|
+
</div>
|
|
1280
|
+
</div>
|
|
1281
|
+
<div id="modalgrouplist" class="modal modal-fixed-footer modal-fixed-header">
|
|
1282
|
+
<div class="modal-header">
|
|
1283
|
+
<h5 class="translate">Groups
|
|
1284
|
+
<a name="add" class="modal-action modal-close waves-effect waves-green btn green translate">Add
|
|
1285
|
+
Group</a>
|
|
1286
|
+
</h5>
|
|
1287
|
+
</div>
|
|
1288
|
+
<div class="modal-content">
|
|
1289
|
+
<div id="grouplist" class="row">
|
|
1122
1290
|
|
|
1123
|
-
</div>
|
|
1124
|
-
</div>
|
|
1125
|
-
<div class="modal-footer">
|
|
1126
|
-
<a name="save" href="#!" class="modal-action modal-close waves-effect waves-green btn green translate">Save</a>
|
|
1127
|
-
<a href="#!" class="modal-action modal-close waves-effect waves-red btn-flat translate">Cancel</a>
|
|
1128
1291
|
</div>
|
|
1129
1292
|
</div>
|
|
1293
|
+
<div class="modal-footer">
|
|
1294
|
+
<a name="save" href="#!"
|
|
1295
|
+
class="modal-action modal-close waves-effect waves-green btn green translate">Save</a>
|
|
1296
|
+
<a href="#!" class="modal-action modal-close waves-effect waves-red btn-flat translate">Cancel</a>
|
|
1297
|
+
</div>
|
|
1298
|
+
</div>
|
|
1130
1299
|
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
</div>
|
|
1300
|
+
<div id="modalWaiting" class="modal modal">
|
|
1301
|
+
<div class="modal-content">
|
|
1302
|
+
<h3 class="translate">Waiting</h3>
|
|
1303
|
+
<div class="progress">
|
|
1304
|
+
<div id="waiting_progress_line" class="determinate" style="width: 0%"></div>
|
|
1305
|
+
</div>
|
|
1306
|
+
<div class="row">
|
|
1307
|
+
<h5 id="waiting_message" class="translate"></h5>
|
|
1140
1308
|
</div>
|
|
1141
1309
|
</div>
|
|
1310
|
+
</div>
|
|
1142
1311
|
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
</div>
|
|
1151
|
-
<div id="channelsinfo" class="row">
|
|
1152
|
-
</div>
|
|
1312
|
+
<div id="modalchannels" class="modal modal-fixed-footer modal-fixed-header">
|
|
1313
|
+
<div class="modal-header">
|
|
1314
|
+
<h3 class="translate">Channels</h3>
|
|
1315
|
+
</div>
|
|
1316
|
+
<div class="modal-content">
|
|
1317
|
+
<div class="row">
|
|
1318
|
+
<h6>Channels energy scan. Lower energy is better</h6>
|
|
1153
1319
|
</div>
|
|
1154
|
-
<div class="
|
|
1155
|
-
<a name="hide" href="#!" class="modal-action modal-close waves-effect waves-green btn green translate">Hide</a>
|
|
1320
|
+
<div id="channelsinfo" class="row">
|
|
1156
1321
|
</div>
|
|
1157
1322
|
</div>
|
|
1323
|
+
<div class="modal-footer">
|
|
1324
|
+
<a name="hide" href="#!"
|
|
1325
|
+
class="modal-action modal-close waves-effect waves-green btn green translate">Hide</a>
|
|
1326
|
+
</div>
|
|
1158
1327
|
</div>
|
|
1328
|
+
</div>
|
|
1159
1329
|
</body>
|
|
1160
1330
|
|
|
1161
1331
|
</html>
|