iobroker.sprinklecontrol 0.2.13 → 0.2.14

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 (71) hide show
  1. package/{Lizenz → LICENSE} +21 -21
  2. package/README.md +60 -110
  3. package/admin/i18n/de/translations.json +134 -0
  4. package/admin/i18n/en/translations.json +134 -0
  5. package/admin/i18n/es/translations.json +134 -0
  6. package/admin/i18n/fr/translations.json +134 -0
  7. package/admin/i18n/it/translations.json +134 -0
  8. package/admin/i18n/nl/translations.json +134 -0
  9. package/admin/i18n/pl/translations.json +134 -0
  10. package/admin/i18n/pt/translations.json +134 -0
  11. package/admin/i18n/ru/translations.json +134 -0
  12. package/admin/i18n/uk/translations.json +134 -0
  13. package/admin/i18n/zh-cn/translations.json +134 -0
  14. package/admin/index_m.html +904 -907
  15. package/admin/index_m.js +779 -779
  16. package/admin/style.css +453 -158
  17. package/admin/words.js +143 -136
  18. package/io-package.json +256 -189
  19. package/lib/adapter-config.d.ts +19 -16
  20. package/lib/evaporation.js +443 -412
  21. package/lib/myConfig.js +373 -359
  22. package/lib/sendMessageText.js +162 -199
  23. package/lib/tools.js +148 -125
  24. package/lib/valveControl.js +918 -887
  25. package/main.js +2041 -1828
  26. package/package.json +50 -32
  27. package/.gitattributes +0 -2
  28. package/admin/admin.d.ts +0 -1
  29. package/docs/de/img/E-Mail.jpg +0 -0
  30. package/docs/de/img/Extraeinstellungen.jpg +0 -0
  31. package/docs/de/img/Pumpeneinstellung.jpg +0 -0
  32. package/docs/de/img/Pushover.jpg +0 -0
  33. package/docs/de/img/Select_ID.jpg +0 -0
  34. package/docs/de/img/Telegram.jpg +0 -0
  35. package/docs/de/img/Ventil-Haupteinstellung.jpg +0 -0
  36. package/docs/de/img/Ventil-Pumpeneinstellung.jpg +0 -0
  37. package/docs/de/img/WhatsApp.jpg +0 -0
  38. package/docs/de/img/Zeiteinstellung.jpg +0 -0
  39. package/docs/de/img/addTime.jpg +0 -0
  40. package/docs/de/img/analog.jpg +0 -0
  41. package/docs/de/img/ber-verdunstung.jpg +0 -0
  42. package/docs/de/img/bew-einstellung.jpg +0 -0
  43. package/docs/de/img/bew-feste-tage.jpg +0 -0
  44. package/docs/de/img/bistabil.jpg +0 -0
  45. package/docs/de/img/bodenf-analog.jpg +0 -0
  46. package/docs/de/img/bodenf-bistabil.jpg +0 -0
  47. package/docs/de/img/calculation.jpg +0 -0
  48. package/docs/de/img/control.jpg +0 -0
  49. package/docs/de/img/einschaltpunkt-giessen.jpg +0 -0
  50. package/docs/de/img/festeTage.jpg +0 -0
  51. package/docs/de/img/main.jpg +0 -0
  52. package/docs/de/img/main_tab.jpg +0 -0
  53. package/docs/de/img/max-bodenfeuchtigkeit.jpg +0 -0
  54. package/docs/de/img/schaltverhalten.jpg +0 -0
  55. package/docs/de/img/sprinklecontrol.png +0 -0
  56. package/docs/de/img/verdunstDiagra.jpg +0 -0
  57. package/docs/de/img/verdunstung.jpg +0 -0
  58. package/docs/de/img/zus-bew-einstellung.jpg +0 -0
  59. package/docs/de/sprinklecontrol.md +0 -656
  60. package/docs/en/img/schaltverhalten.jpg +0 -0
  61. package/docs/en/img/screenshot1.jpg +0 -0
  62. package/docs/en/img/screenshot2.jpg +0 -0
  63. package/docs/en/img/screenshot3.jpg +0 -0
  64. package/docs/en/img/screenshot4.jpg +0 -0
  65. package/docs/en/img/screenshot5.jpg +0 -0
  66. package/docs/en/img/screenshot6.jpg +0 -0
  67. package/docs/en/img/screenshot7.jpg +0 -0
  68. package/docs/en/img/screenshot8.jpg +0 -0
  69. package/docs/en/img/sprinklecontrol.png +0 -0
  70. package/docs/en/sprinklecontrol.md +0 -230
  71. package/main.test.js +0 -30
package/admin/style.css CHANGED
@@ -1,159 +1,454 @@
1
- /* You can delete those if you want. I just found them very helpful */
2
- * {
3
- box-sizing: border-box
4
- }
5
- .m {
6
- /* Don't cut off dropdowns! */
7
- overflow: initial;
8
- }
9
-
10
- /* Add your styles here */
11
- /* Header section*/
12
- #header-area {margin-top: 5px; margin-bottom: 1px; background-color:#174475;}
13
- #header-area #header-logo-title .logo {float:left; margin-right: 10px;}
14
- #header-area #header-logo-title p {line-height: normal !important; margin: 0 !important; padding: 8px 0 0 8px;}
15
- #header-area #header-logo-title p>span.h-title {font-size: 2em !important; color:white; }
16
- #header-area #header-logo-title p>span.h-sub-title {font-size: 1.1em !important; color:white; font-style: italic; }
17
-
18
- /* Tabs menu */
19
- .m .tabs .tab a { color: rgba(13, 134, 231, 0.7); } /* Color */
20
- .m .tabs .tab a { padding: 0 5px; } /* space of x px at beginning and end of text */
21
- .m .tabs .active { border-bottom: 2px solid #0d47a1; font-weight: bold;}
22
- .m .tabs .tab a.active, .m .tabs .tab a:hover { color:#0d47a1; }
23
- .m .tabs .tab a:hover { border-bottom: 2px solid #46a0e9 !important; }
24
- .m .row .col.m1 { width: 14%;}
25
- #tab-area { padding-left:0;padding-right:0; margin-top: 0; margin-bottom: 1px; background-color:#174475; box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2) }
26
-
27
- /* Tabs menu react-dark */
28
- .m.react-dark .tabs .tab a.active, .m .tabs .tab a:hover { color: #2196f3; }
29
- .m.react-dark .tabs { background-color: #272727 !important;}
30
-
31
- /* Tabs menu react-blue */
32
- .m.react-blue .tabs .tab a.active, .m .tabs .tab a:hover { color: #2196f3; }
33
- .m.react-blue .tabs { background-color: #272727 !important;}
34
-
35
- .m .col .select-wrapper + label {
36
- top: -26px;
37
- }
38
- .m span {
39
- font-size: 0.9em;
40
- }
41
- .m .tabs {
42
- height: 48px;
43
- }
44
- /*input:in-range {
45
- background-color: #efefef !important;
46
- // background-color: #fafafa !important;
47
- }*/
48
- input:out-of-range {
49
- background-color: rgba(255, 0, 0, 0.25) !important;
50
- border: 2px solid red; !important
51
- }
52
- .m .page {
53
- height: calc(100% - 160px);
54
- }
55
- #dialog-command {
56
- width: calc(100% - 100px);
57
- }
58
- #dialog-command .title {
59
- background: #174475;
60
- color: #FFF;
61
- padding: 0.5rem;
62
- }
63
- #dialog-command .textarea {
64
- margin-bottom: 0;
65
- }
66
- #dialog-command textarea {
67
- background: #e9e9e9;
68
- font-family: courier, monospace;
69
- font-size: 11px;
70
- resize: none;
71
- width: 100%;
72
- height: calc(100% - 125px);
73
- margin-bottom: 0;
74
- }
75
- #dialog-command .progress-dont-close {
76
- float: left;
77
- padding-left: 1rem;
78
- padding-top: 1rem;
79
- }
80
- #dialog-command .command {
81
- font-style: italic;
82
- }
83
- #dialog-command .btn {
84
- margin-right: 1.5rem;
85
- }
86
- .do-restore {
87
- cursor: pointer;
88
- }
89
- .collapsible-body {
90
- margin-left: 2rem !important;
91
- padding-top: 0 !important;
92
- }
93
- #dialog-sprinkle-edit .title {
94
- width: 100% !important;
95
- background: #174475;
96
- color: #FFF;
97
- padding: 0.3rem;
98
- }
99
- h6 {
100
- width: 100% !important;
101
- background: #174475;
102
- color: #FFF;
103
- padding: 0.3rem;
104
- }
105
- hr {
106
- width: 100% !important;
107
- height: 5px;
108
- margin: 0 auto;
109
- color: #FFF;
110
- background: #174475;
111
- }
112
- .modal .page {
113
- width: calc(100% - 20px)!important;
114
- }
115
- #dialog-sprinkle-edit .modal-content {
116
- width: 100% !important;
117
- height: calc(100% - 10px) !important;
118
-
119
- }
120
- #dialog-sprinkle-edit .tabs {
121
- width: calc(100% - 0px) !important;
122
- margin-top: -25px;
123
- height: auto !important;
124
- }
125
- #dialog-sprinkle-edit .page {
126
- width: calc(100% - 10px) !important;
127
- padding-left: 20px;
128
- height: calc(100% - 100px);
129
- }
130
- #dialog-sprinkle-edit .btn {
131
- margin-right: 1.5rem;
132
- }
133
- #dialog-select-member {
134
- z-index: 9999 !important;
135
- }
136
- #dialog-sprinkle-edit {
137
- z-index: 9900 !important;
138
- }
139
-
140
- /* hidden table column */
141
- #events td:nth-of-type(n+7) {
142
- visibility: hidden !important;
143
- display: none !important;
144
- }
145
- /* hidden table column */
146
- #events th:nth-of-type(n+7) {
147
- visibility: hidden !important;
148
- display: none !important;
149
- }
150
-
151
-
152
- #dialog-sprinkle-edit {
153
- max-height:95% !important;
154
- max-width:85% !important;
155
- width:80% !important;
156
- height:90% !important;
157
- overflow: visible !important;
158
- top: 10px !important;
1
+ /* You can delete those if you want. I just found them very helpful */
2
+ * {
3
+ box-sizing: border-box
4
+ }
5
+
6
+ .m {
7
+ /* Don't cut off dropdowns!
8
+ overflow: initial;*/
9
+ overflow: hidden;
10
+ }
11
+
12
+ /* Add your styles here */
13
+ /* Header section*/
14
+ #header-area {
15
+ margin-top: 2px;
16
+ margin-bottom: 1px;
17
+ background-color: #174475;
18
+ }
19
+
20
+ #header-area #header-logo-title .logo {
21
+ float: left;
22
+ margin-right: 10px;
23
+ }
24
+
25
+ #header-area #header-logo-title p {
26
+ line-height: normal !important;
27
+ margin: 0 !important;
28
+ padding: 8px 0 0 8px;
29
+ }
30
+
31
+ #header-area #header-logo-title p>span.h-title {
32
+ font-size: 2em !important;
33
+ color: white;
34
+ }
35
+
36
+ #header-area #header-logo-title p>span.h-sub-title {
37
+ font-size: 1.1em !important;
38
+ color: white;
39
+ font-style: italic;
40
+ }
41
+
42
+ /* Tabs menu */
43
+ .m .tabs .tab a {
44
+ color: rgba(13, 134, 231, 0.7);
45
+ }
46
+
47
+ /* Color */
48
+ .m .tabs .tab a {
49
+ padding: 0 5px;
50
+ }
51
+
52
+ /* space of x px at beginning and end of text */
53
+ .m .tabs {
54
+ background-color: rgb(255, 255, 255) !important;
55
+ scrollbar-width: none;
56
+ }
57
+
58
+ .m .tabs .active {
59
+ border-bottom: 2px solid #0d47a1;
60
+ font-weight: bold;
61
+ }
62
+
63
+ .m .tabs .tab a.active,
64
+ .m .tabs .tab a:hover {
65
+ color: #0d47a1;
66
+ }
67
+
68
+ .m .tabs .tab a:hover {
69
+ border-bottom: 2px solid #46a0e9 !important;
70
+ }
71
+
72
+ .m .row .col.m1 {
73
+ width: 14%;
74
+ }
75
+
76
+ #tab-area {
77
+ padding-left: 0;
78
+ padding-right: 0;
79
+ margin-top: 0px;
80
+ margin-bottom: 1px;
81
+ background-color: #174475;
82
+ box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2)
83
+ }
84
+
85
+ /* Tabs menu react-dark */
86
+ .m.react-dark .tabs .tab a.active,
87
+ .m .tabs .tab a:hover {
88
+ color: #2196f3;
89
+ }
90
+
91
+ .m.react-dark .tabs {
92
+ background-color: #272727 !important;
93
+ }
94
+
95
+ /* Tabs menu react-blue */
96
+ .m.react-blue .tabs .tab a.active,
97
+ .m .tabs .tab a:hover {
98
+ color: #2196f3;
99
+ }
100
+
101
+ .m.react-blue .tabs {
102
+ background-color: #272727 !important;
103
+ }
104
+
105
+ .m .col .select-wrapper+label {
106
+ top: -26px;
107
+ }
108
+
109
+ .m span {
110
+ font-size: 0.9em;
111
+ }
112
+
113
+ .m .tabs {
114
+ height: 48px;
115
+ }
116
+
117
+ .m .page {
118
+ height: calc(100% - 160px);
119
+ }
120
+
121
+ #dialog-command {
122
+ width: calc(100% - 100px);
123
+ }
124
+
125
+ #dialog-command .title {
126
+ background: #174475;
127
+ color: #FFF;
128
+ padding: 0.5rem;
129
+ }
130
+
131
+ #dialog-command .textarea {
132
+ margin-bottom: 0;
133
+ }
134
+
135
+ #dialog-command textarea {
136
+ background: #e9e9e9;
137
+ font-family: courier, monospace;
138
+ font-size: 11px;
139
+ resize: none;
140
+ width: 100%;
141
+ height: calc(100% - 125px);
142
+ margin-bottom: 0;
143
+ }
144
+
145
+ #dialog-command .progress-dont-close {
146
+ float: left;
147
+ padding-left: 1rem;
148
+ padding-top: 1rem;
149
+ }
150
+
151
+ #dialog-command .command {
152
+ font-style: italic;
153
+ }
154
+
155
+ #dialog-command .btn {
156
+ margin-right: 1.5rem;
157
+ }
158
+
159
+ .do-restore {
160
+ cursor: pointer;
161
+ }
162
+
163
+ .collapsible-body {
164
+ margin-left: 2rem !important;
165
+ padding-top: 0 !important;
166
+ }
167
+
168
+ #dialog-sprinkle-edit .title {
169
+ width: 100% !important;
170
+ background: #174475;
171
+ color: #FFF;
172
+ padding: 0.3rem;
173
+ }
174
+
175
+ .modal .page {
176
+ width: calc(100% - 20px) !important;
177
+ }
178
+
179
+ #dialog-sprinkle-edit .modal-content {
180
+ width: 100% !important;
181
+ height: calc(100% - 10px) !important;
182
+ }
183
+
184
+ #dialog-sprinkle-edit .tabs {
185
+ width: calc(100% - 0px) !important;
186
+ margin-top: -25px;
187
+ height: auto !important;
188
+ }
189
+
190
+ #dialog-sprinkle-edit .titlePopUp {
191
+ width: 100% !important;
192
+ background: #174475;
193
+ color: #FFF;
194
+ padding: 0.2rem;
195
+ }
196
+
197
+ #dialog-sprinkle-edit .page {
198
+ width: calc(100% - 10px) !important;
199
+ padding-left: 20;
200
+ height: calc(100% - 100px);
201
+ }
202
+
203
+ /*
204
+ #dialog-sprinkle-edit .btn {
205
+ margin-right: 1.5rem;
206
+ }
207
+ */
208
+ /* hidden table column */
209
+ #events td:nth-of-type(n+7) {
210
+ visibility: hidden !important;
211
+ display: none !important;
212
+ }
213
+
214
+ /* hidden table column */
215
+ #events th:nth-of-type(n+7) {
216
+ visibility: hidden !important;
217
+ display: none !important;
218
+ }
219
+
220
+ #dialog-select-member {
221
+ z-index: 9999 !important;
222
+ }
223
+
224
+ #dialog-sprinkle-edit {
225
+ z-index: 9900 !important;
226
+ }
227
+
228
+ #dialog-sprinkle-edit {
229
+ max-height: 95% !important;
230
+ max-width: 85% !important;
231
+ width: 80% !important;
232
+ height: 90% !important;
233
+ overflow: visible !important;
234
+ top: 10px !important;
235
+ }
236
+
237
+ .m .collapsible-header {
238
+ padding: 0.5rem;
239
+ }
240
+
241
+ .trigger-add {
242
+ margin-top: 1.3rem;
243
+ margin-left: -0.5rem;
244
+ }
245
+
246
+ .m .modal .modal-footer {
247
+ padding-right: 2rem;
248
+ }
249
+
250
+ /* Navbar Bottom */
251
+ .m nav {
252
+ background-color: #3399cc;
253
+ min-height: 48px;
254
+ }
255
+
256
+ .m .btn.disabled,
257
+ .m .btn-small.disabled {
258
+ background-color: rgba(0, 0, 0, 0.12) !important;
259
+ color: rgba(0, 0, 0, 0.26) !important;
260
+ font-family: Roboto, Helvetica, Arial, sans-serif;
261
+ font-weight: 500;
262
+ font-size: 0.875rem;
263
+ }
264
+
265
+ .m .btn-save,
266
+ .m .btn-save-close,
267
+ .m .btn-cancel {
268
+ background-color: #e0e0e0;
269
+ color: #000000;
270
+ font-family: Roboto, Helvetica, Arial, sans-serif;
271
+ font-weight: 500;
272
+ font-size: 0.875rem;
273
+ }
274
+
275
+ .m .btn-save:hover,
276
+ .m .btn-save-close:hover,
277
+ .m .btn-cancel:hover {
278
+ background-color: #e0e0e0 !important;
279
+ filter: brightness(105%);
280
+ box-shadow: 0 6px 6px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2);
281
+ }
282
+
283
+ /* Help Buttons */
284
+ .m .btn-floating i.material-icons,
285
+ .m.react-blue .btn-floating i.material-icons,
286
+ .m.react-dark .btn-floating i.material-icons {
287
+ color: rgba(0, 0, 0, 0.87) !important;
288
+ background-color: rgb(224, 224, 224) !important;
289
+ line-height: 36px;
290
+ }
291
+
292
+ .m .btn-floating i.material-icons:hover {
293
+ background-color: #e0e0e0 !important;
294
+ filter: brightness(105%);
295
+ }
296
+
297
+ .m .btn-floating {
298
+ transition: background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, border-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
299
+ box-shadow: rgba(0, 0, 0, 0.2) 0px 3px 5px -1px, rgba(0, 0, 0, 0.14) 0px 6px 10px 0px, rgba(0, 0, 0, 0.12) 0px 1px 18px 0px;
300
+ height: 36px !important;
301
+ width: 36px !important;
302
+ }
303
+
304
+ .m .btn-floating:hover {
305
+ box-shadow: 0 20px 20px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2);
306
+ }
307
+
308
+ /* Table Button*/
309
+ .m .values-buttons.btn-floating.btn-small {
310
+ width: 32.4px !important;
311
+ height: 32.4px !important;
312
+ }
313
+
314
+ .m .values-buttons.btn-floating.btn-small i.material-icons,
315
+ .m.react-blue .values-buttons.btn-floating.btn-small i.material-icons,
316
+ .m.react-dark .values-buttons.btn-floating.btn-small i.material-icons {
317
+ line-height: 32.4px !important;
318
+ }
319
+
320
+ /* Only for Firefox */
321
+ @supports (-moz-appearance: none) {
322
+ .adapter-body {
323
+ overflow: hidden;
324
+ }
325
+
326
+ .m .page {
327
+ height: calc(100vh - 180px);
328
+ }
329
+ }
330
+
331
+ /* Styling for small Screen (Responsive) */
332
+ @media screen and (max-width: 768px) {
333
+ .m .page {
334
+ height: calc(100% - 120px);
335
+ }
336
+
337
+ #events,
338
+ #events thead,
339
+ #events tbody,
340
+ #events th,
341
+ #events td,
342
+ #events tr {
343
+ display: block;
344
+ width: 100%;
345
+ }
346
+
347
+ #events thead tr {
348
+ display: none;
349
+ }
350
+
351
+ .m #events tr {
352
+ margin-bottom: 15px;
353
+ border: 1px solid #ddd;
354
+ border-radius: 5px;
355
+ box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2);
356
+ padding: 10px;
357
+ background: #f9f9f9;
358
+ }
359
+
360
+ .m.react-dark #events tr,
361
+ .m.react-blue #events tr {
362
+ background: #272727 !important;
363
+ }
364
+
365
+ #events td {
366
+ display: block;
367
+ text-align: left;
368
+ padding: 10px;
369
+ box-sizing: border-box;
370
+ position: relative;
371
+ }
372
+
373
+ #events td:before {
374
+ font-weight: bold;
375
+ display: block;
376
+ margin-bottom: 5px;
377
+ color: #333;
378
+ }
379
+
380
+ /* hidden table column */
381
+ #events td:nth-of-type(1) {
382
+ visibility: hidden !important;
383
+ display: none !important;
384
+ }
385
+
386
+ /* hidden table column */
387
+ #events th:nth-of-type(1) {
388
+ visibility: hidden !important;
389
+ display: none !important;
390
+ }
391
+
392
+ #events td:nth-of-type(2) {
393
+ margin-bottom: 2.0rem;
394
+ }
395
+
396
+ #events td:nth-of-type(3):before {
397
+ content: var(--my-name);
398
+ }
399
+
400
+ #events td:nth-of-type(4):before {
401
+ content: var(--my-id);
402
+ }
403
+
404
+ #events td:nth-of-type(5) {
405
+ margin-bottom: 10px;
406
+ border-bottom: 1px solid #ddd;
407
+ }
408
+
409
+ .adapter-body {
410
+ overflow: hidden;
411
+ }
412
+
413
+ .help-link {
414
+ display: none;
415
+ }
416
+
417
+ #dialog-sprinkle-edit {
418
+ max-height: 98% !important;
419
+ max-width: 98% !important;
420
+ width: 100% !important;
421
+ height: 100% !important;
422
+ overflow: visible !important;
423
+ top: 7px !important;
424
+ }
425
+
426
+ .m #dialog-select-member {
427
+ width: calc(100% - 0.3rem) !important;
428
+ height: calc(100% - 0.3rem) !important;
429
+ left: 0px;
430
+ box-sizing: border-box;
431
+ }
432
+
433
+ .m [type=checkbox]+span:not(.lever) {
434
+ height: auto;
435
+ }
436
+
437
+ .m .modal .modal-content {
438
+ padding: 5px;
439
+ }
440
+ }
441
+
442
+ @media screen and (max-width: 601px) {
443
+ .m .page {
444
+ height: calc(100% - 110px);
445
+ }
446
+
447
+ .m .dropdown-menu.show {
448
+ top: -10px !important;
449
+ }
450
+
451
+ .m .dropdown-toggle {
452
+ right: 10px;
453
+ }
159
454
  }