iobroker.sprinklecontrol 0.2.9 → 0.2.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -7,7 +7,6 @@
7
7
  ![Number of Installations](http://iobroker.live/badges/sprinklecontrol-stable.svg)
8
8
  [![NPM version](http://img.shields.io/npm/v/iobroker.sprinklecontrol.svg)](https://www.npmjs.com/package/iobroker.sprinklecontrol)
9
9
  [![Downloads](https://img.shields.io/npm/dm/iobroker.sprinklecontrol.svg)](https://www.npmjs.com/package/iobroker.sprinklecontrol)
10
- [![Dependency Status](https://img.shields.io/david/Dirk-Peter-md/iobroker.sprinklecontrol.svg)](https://david-dm.org/Dirk-Peter-md/iobroker.sprinklecontrol)
11
10
  [![Known Vulnerabilities](https://snyk.io/test/github/Dirk-Peter-md/ioBroker.sprinklecontrol/badge.svg)](https://snyk.io/test/github/Dirk-Peter-md/ioBroker.sprinklecontrol)
12
11
  [![Build Status](https://travis-ci.com/Dirk-Peter-md/ioBroker.sprinklecontrol.svg?branch=master)](https://travis-ci.com/Dirk-Peter-md/ioBroker.sprinklecontrol)
13
12
 
@@ -35,6 +34,20 @@ Wetterabhängige automatische Steuerung der Gartenbewässerung
35
34
  Placeholder for the next version (at the beginning of the line):
36
35
  ### **WORK IN PROGRESS**
37
36
  -->
37
+
38
+ ### 0.2.12 (2022-07-17)
39
+ * (Dirk-Peter-md) fixDay(twoNd,threeRd) => postpone by one day
40
+ * (Dirk-Peter-md) Bug fixed => autoOn
41
+ * (Dirk-Peter-md) Additional post-watering => in case of high evaporation / switchable externally
42
+
43
+ ### 0.2.11 (2022-05-22)
44
+ * (Dirk-Peter-md) Bug fixed => analog soil moisture sensor with negative characteristic
45
+ * (Dirk-Peter-md) Attention => maximum soil moisture in rain now in %
46
+
47
+ ### 0.2.10 (2022-05-15)
48
+ * (Dirk-Peter-md) manual watering limited to a maximum of 100%
49
+ * (Dirk-Peter-md) Error whatsapp message fixed
50
+
38
51
  ### 0.2.9 (2022-04-10)
39
52
  * (Dirk-Peter-md) Bug-Initialisierungsroutine
40
53
 
@@ -77,33 +90,18 @@ Wetterabhängige automatische Steuerung der Gartenbewässerung
77
90
  * (Dirk-Peter-md) Beschreibung in englischer Sprache hinzugefügt
78
91
  * (Dirk-Peter-md) bereit für stable
79
92
 
80
- ### 0.1.6 (18.05.2021)
81
- * (Dirk-Peter-md) AutoOn-Schalter pro Bewässerungskreis hinzugefügt
82
- * (Dirk-Peter-md) weitere Fehler beseitigt (js-Controller)
83
- * (Dirk-Peter-md) Niederschlagszähler von der Verdunstung gelöst
84
-
85
93
  ### 0.1.5 (05.05.2021)
86
94
  * (Dirk-Peter-md) Zurücksetzen der Regenmenge im 24-Stunden-Modus hinzugefügt
87
95
 
88
96
  ### 0.1.4 (21.04.2021)
89
97
  * (Dirk-Peter-md) Fehler bei deaktivierter Wettervorhersage behoben
90
98
 
91
- ### 0.1.3 (18.04.2021)
92
- * (Dirk-Peter-md) Schaltabstand zwischen den Ventilen eingebaut, main.js aufgeteilt
93
-
94
99
  ### 0.1.2 (30.12.2020)
95
100
  * (Dirk-Peter-md) Beschreibung von SprinkleControl überarbeitet
96
101
 
97
- ### 0.1.1 (08.11.2020)
98
- * (Dirk-Peter-md) Integration von Nachrichten per Telegramm, E-Mail, Pushover und WhatsApp
99
-
100
102
  ### 0.0.12 (10.10.2020)
101
103
  * (Dirk-Peter-md) Bewässerung über eine 2. Pumpe (Zisterne mit Vorrangschaltung) in abhängigkeit vom Füllstand hinzugefügt.
102
104
 
103
- ### 0.0.11 (30.08.2020)
104
- * (Dirk-Peter-md) Bug in der Verarbeitung der Regenvorhersage vom Adapter "Das Wetter"
105
- * (Dirk-Peter-md) Bug auf Travis CI
106
-
107
105
 
108
106
  *************************************************************************************************************************************
109
107
 
@@ -80,25 +80,27 @@
80
80
  <th data-name="wateringTime" id="events_col_6" data-type="number" style="width: 0" class="translate"></th>
81
81
  <th data-name="wateringAdd" id="events_col_7" data-type="number" style="width: 0" class="translate"></th>
82
82
  <th data-name="wateringInterval" id="events_col_8" data-type="number" style="width: 0" class="translate"></th>
83
- <th data-name="maxSoilMoistureIrrigation" id="events_col_9" data-type="number" style="width: 0" class="translate"></th>
84
- <th data-name="maxSoilMoistureRain" id="events_col_10" data-type="number" style="width: 0" class="translate"></th>
85
- <th data-name="triggersIrrigation" id="events_col_11" data-type="number" style="width: 0" class="translate"></th>
86
- <th data-name="pipeFlow" id="events_col_12" data-type="number" style="width: 0" class="translate"></th>
87
- <th data-name="booster" id="events_col_13" data-type="checkbox" style="width: 0" class="translate"></th>
88
- <th data-name="endIrrigation" id="events_col_14" data-type="checkbox" style="width: 0" class="translate"></th>
89
- <th data-name="methodControlSM" id="events_col_15" data-type="text" style="width: 0" class="translate"></th>
90
- <th data-name="inGreenhouse" id="events_col_16" data-type="checkbox" style="width: 0" class="translate"></th>
91
- <th data-name="triggerSM" id="events_col_17" data-type="text" style="width: 0" class="translate"></th>
92
- <th data-name="analogZPct" id="events_col_18" data-type="number" style="width: 0" class="translate"></th>
93
- <th data-name="analogOHPct" id="events_col_19" data-type="number" style="width: 0" class="translate"></th>
94
- <th data-name="startDay" id="events_col_20" data-type="text" style="width: 0" class="translate"></th>
95
- <th data-name="sun" id="events_col_21" data-type="checkbox" style="width: 0" class="translate"></th>
96
- <th data-name="mon" id="events_col_22" data-type="checkbox" style="width: 0" class="translate"></th>
97
- <th data-name="tue" id="events_col_23" data-type="checkbox" style="width: 0" class="translate"></th>
98
- <th data-name="wed" id="events_col_24" data-type="checkbox" style="width: 0" class="translate"></th>
99
- <th data-name="thur" id="events_col_25" data-type="checkbox" style="width: 0" class="translate"></th>
100
- <th data-name="fri" id="events_col_26" data-type="checkbox" style="width: 0" class="translate"></th>
101
- <th data-name="sat" id="events_col_27" data-type="checkbox" style="width: 0" class="translate"></th>
83
+ <th data-name="addWateringTime" id="events_col_9" data-type="number" style="width: 0" class="translate"></th>
84
+ <th data-name="addTriggersIrrigation" id="events_col_10" data-type="number" style="width: 0" class="translate"></th>
85
+ <th data-name="maxSoilMoistureIrrigation" id="events_col_11" data-type="number" style="width: 0" class="translate"></th>
86
+ <th data-name="maxSoilMoistureRainPct" id="events_col_12" data-type="number" style="width: 0" class="translate"></th>
87
+ <th data-name="triggersIrrigation" id="events_col_13" data-type="number" style="width: 0" class="translate"></th>
88
+ <th data-name="pipeFlow" id="events_col_14" data-type="number" style="width: 0" class="translate"></th>
89
+ <th data-name="booster" id="events_col_15" data-type="checkbox" style="width: 0" class="translate"></th>
90
+ <th data-name="endIrrigation" id="events_col_16" data-type="checkbox" style="width: 0" class="translate"></th>
91
+ <th data-name="methodControlSM" id="events_col_17" data-type="text" style="width: 0" class="translate"></th>
92
+ <th data-name="inGreenhouse" id="events_col_18" data-type="checkbox" style="width: 0" class="translate"></th>
93
+ <th data-name="triggerSM" id="events_col_19" data-type="text" style="width: 0" class="translate"></th>
94
+ <th data-name="analogZPct" id="events_col_20" data-type="number" style="width: 0" class="translate"></th>
95
+ <th data-name="analogOHPct" id="events_col_21" data-type="number" style="width: 0" class="translate"></th>
96
+ <th data-name="startDay" id="events_col_22" data-type="text" style="width: 0" class="translate"></th>
97
+ <th data-name="sun" id="events_col_23" data-type="checkbox" style="width: 0" class="translate"></th>
98
+ <th data-name="mon" id="events_col_24" data-type="checkbox" style="width: 0" class="translate"></th>
99
+ <th data-name="tue" id="events_col_25" data-type="checkbox" style="width: 0" class="translate"></th>
100
+ <th data-name="wed" id="events_col_26" data-type="checkbox" style="width: 0" class="translate"></th>
101
+ <th data-name="thur" id="events_col_27" data-type="checkbox" style="width: 0" class="translate"></th>
102
+ <th data-name="fri" id="events_col_28" data-type="checkbox" style="width: 0" class="translate"></th>
103
+ <th data-name="sat" id="events_col_29" data-type="checkbox" style="width: 0" class="translate"></th>
102
104
  <!-- **************************************** *** ******************** *** **************************************** -->
103
105
  </tr>
104
106
  </thead>
@@ -195,9 +197,10 @@
195
197
  </div>
196
198
  <!-- time settings -->
197
199
  <div id="tab-time" class="col s12 page">
200
+ <!-- Start Time -->
198
201
  <div class="row">
199
202
  <div class="col s12">
200
- <h6 class="translate sub-title">Settings for start time</h6>
203
+ <h6 class="translate sub-title">Start time</h6>
201
204
  </div>
202
205
  </div>
203
206
  <div class="row">
@@ -206,6 +209,7 @@
206
209
  <option value="livingTime" class="translate">start with a fixed start time</option>
207
210
  <option value="livingSunrise" class="translate">Start time at sunrise</option>
208
211
  <option value="livingGoldenHourEnd" class="translate">Start time at the end of the golden hour</option>
212
+ <option value="livingSunset" class="translate">Start time at sunset</option>
209
213
  </select>
210
214
  <label for="wateringStartTime" class="translate"></label>
211
215
  <span class="translate">Start time for irrigation</span>
@@ -223,9 +227,46 @@
223
227
  <span class="translate">Start time in the week</span>
224
228
  </div>
225
229
  </div>
230
+ <!-- Additional start time -->
226
231
  <div class="row">
227
232
  <div class="col s12">
228
- <h6 class="translate sub-title">Settings for start time on weekends</h6>
233
+ <h6 class="translate sub-title">Additional start time</h6>
234
+ </div>
235
+ </div>
236
+ <div class="input-field col s12 m4 l3">
237
+ <select class="value" id="selectAddStartTime">
238
+ <option value="noAddStartTime" class="translate">No additional start time</option>
239
+ <option value="greaterETpCurrent" class="translate">Start at ETpCurrent greater than</option>
240
+ <option value="withExternalSignal" class="translate">Start, with external signal</option>
241
+ </select>
242
+ <label for="selectAddStartTime" class="translate"></label>
243
+ <span class="translate">Start time for additional irrigation</span>
244
+ </div>
245
+ <div class="col s12 m4 l2 showGreaterETpCur input-field">
246
+ <input type="number" class="value" id="triggerAddStartTimeETpCur" min=0 max=10 placeholder="0-10.0" step="0.1" />
247
+ <label for="triggerAddStartTimeETpCur" class="translate"></label>
248
+ <span class="translate">Start at ETpCurrent greater than</span>
249
+ </div>
250
+ <div class="row">
251
+ <div class="col s12 m4 l3 showExtSig">
252
+ <div class="card-panel" style="background-color:#46a0e9; border-radius:15px;border-bottom: medium solid #174475;">
253
+ <span class="white-text translate">Activation of additional watering under objects:</span>
254
+ <br>
255
+ <span class="white-text translate">sprinklecontrol. ... .control.addStartTimeSwitch</span>
256
+ </div>
257
+ </div>
258
+ </div>
259
+ <div class="row">
260
+ <div class="input-field col s12 m4 l2 showAddStartTime">
261
+ <input type="time" class="timepicker value" id="addWateringStartTime" />
262
+ <label for="addWateringStartTime" class="translate"></label>
263
+ <span class="translate">Additional start time</span>
264
+ </div>
265
+ </div>
266
+ <!-- Weekend start time -->
267
+ <div class="row">
268
+ <div class="col s12">
269
+ <h6 class="translate sub-title">Weekend start time</h6>
229
270
  </div>
230
271
  </div>
231
272
  <div class="row">
@@ -358,21 +399,42 @@
358
399
  <div class="col s12">
359
400
  <h6 class="translate sub-title">Weather forecast</h6>
360
401
  </div>
361
- </div>
362
- <div class="row">
363
- <div class="input-field col s12 m6 l2 weatherForecast">
402
+ <div class="row col s12 m6 l2">
364
403
  <input type="checkbox" class="value" id="weatherForecast" />
365
404
  <span for="weatherForecast" class="translate">Use weather forecast</span>
366
405
  </div>
367
- <div class="input-field col s12 m6 l2 weatherFor">
368
- <select id="weatherForInstance" class="value"></select>
369
- <label for="weatherForInstance" class="translate"></label>
370
- <span class="translate">Select the weather forecast instance</span>
371
- </div>
372
- <div class="input-field col s12 m6 l2 weatherFor">
373
- <input type="number" class="value" id="thresholdRain" min=0 max=5.0 placeholder="0-5.0" step="0.1" value="2" />
374
- <label for="thresholdRain" class="translate"></label>
375
- <span class="translate">Precipitation threshold in mm</span>
406
+ <div class="row weatherFor s12 m12 l10">
407
+ <div class="input-field col s12 m12 l2 ">
408
+ <select class="value" id="weatherForecastService">
409
+ <option value="ownDataPoint" class="translate">own data point</option>
410
+ <option value="dasWetter" class="translate">daswetter</option>
411
+ </select>
412
+ <label for="weatherForecastService" class="translate"></label>
413
+ <span class="translate">weather forecast service</span>
414
+ </div>
415
+ <!-- own data point -->
416
+ <div class="showOwnDataPoint">
417
+ <div class="input-field col s10 m4 l3 ">
418
+ <input type="text" class="value" id="pathRainForecast" />
419
+ <label for="pathRainForecast" class="translate"></label>
420
+ <span class="translate">Rain forecast - path</span>
421
+ </div>
422
+ <div class="col s2 m2 l1">
423
+ <a id="pathRainForecastDialogPopUp" class="btn-floating waves-effect waves-light blue table-button-add"><i class="material-icons">add</i></a>
424
+ </div>
425
+ </div>
426
+ <!-- daswetter -->
427
+ <div class="input-field col s12 m6 l2 showDasWetter">
428
+ <select id="weatherForInstance" class="value"></select>
429
+ <label for="weatherForInstance" class="translate"></label>
430
+ <span class="translate">Select the weather forecast instance</span>
431
+ </div>
432
+ <!-- thresholdRain -->
433
+ <div class="input-field col s12 m6 l2">
434
+ <input type="number" class="value" id="thresholdRain" min=0 max=5.0 placeholder="0-5.0" step="0.1" value="2" />
435
+ <label for="thresholdRain" class="translate"></label>
436
+ <span class="translate">Precipitation threshold in mm</span>
437
+ </div>
376
438
  </div>
377
439
  </div>
378
440
  </div>
@@ -650,12 +712,12 @@
650
712
  </div>
651
713
  <!-- Sprinkler - Main settings -->
652
714
  <div id="tab-settingsPopUp" class="col s12 page">
715
+ <!-- Irrigation settings → Bewässerungseinstellungen -->
653
716
  <div class="row">
654
717
  <div class="col s12">
655
718
  <h6 class="translate sub-title">Irrigation settings</h6>
656
719
  </div>
657
720
  </div>
658
- <!-- Irrigation settings → Bewässerungseinstellungen -->
659
721
  <div class="row">
660
722
  <div class="col s12 l4 input-field">
661
723
  <input type="number" class="form-control" id="wateringTime" min=5 max=90 />
@@ -673,6 +735,22 @@
673
735
  <span class="translate">Watering interval in min</span>
674
736
  </div>
675
737
  </div>
738
+ <!-- Additional Irrigation settings -->
739
+ <div class="row">
740
+ <div class="col s12">
741
+ <h6 class="translate sub-title">Additional irrigation in case of high evaporation</h6>
742
+ </div>
743
+ </div>
744
+ <div class="col s12 l4 showAddWateringTime input-field">
745
+ <input type="number" class="form-control" id="addWateringTime" min=0 max=90 />
746
+ <label for="addWateringTime" class="translate"></label>
747
+ <span class="translate">Additional watering time in min</span>
748
+ </div>
749
+ <div class="col s12 l4 showAddTriggersIrrigation input-field">
750
+ <input type="number" class="form-control" id="addTriggersIrrigation" min=5 max="triggersIrrigation" />
751
+ <label for="addTriggersIrrigation" class="translate"></label>
752
+ <span class="translate">Switch-on point (soil moisture) of the additional irrigation valves in %</span>
753
+ </div>
676
754
  <!-- Method of controlling soil moisture → Methode zur Kontrolle der Bodenfeuchtigkeit -->
677
755
  <div class="row">
678
756
  <div class="col s12">
@@ -733,9 +811,9 @@
733
811
  <span class="translate">maximum soil moisture after the irrigation in (mm)</span>
734
812
  </div>
735
813
  <div class="col s12 l4 input-field">
736
- <input type="number" class="form-control" id="maxSoilMoistureRain" min="5.0" max="25.0" placeholder="5.0-25.0" step="0.1" />
737
- <label for="maxSoilMoistureRain" class="translate"></label>
738
- <span class="translate">maximum soil moisture after the rain in (mm)</span>
814
+ <input type="number" class="form-control" id="maxSoilMoistureRainPct" min="100" max="200" placeholder="100-200" step="1" />
815
+ <label for="maxSoilMoistureRainPct" class="translate"></label>
816
+ <span class="translate">maximum soil moisture after the rain in (%)</span>
739
817
  </div>
740
818
  </div>
741
819
  </div>
package/admin/index_m.js CHANGED
@@ -24,7 +24,7 @@ function load(settings, onChange) {
24
24
  // do not call onChange direct, because onChange could expect some arguments
25
25
  // Rufen Sie onChange nicht direkt auf, da onChange einige Argumente erwarten kann
26
26
  if ($key.attr('type') === 'checkbox') {
27
- $key.prop('checked', settings[id]) // read setting value from adapter config object and set checkbox in config page => Lesen Sie den Einstellungswert aus dem Adapterkonfigurationsobjekt und setzen Sie das Kontrollkästchen auf der Konfigurationsseite
27
+ $key.prop('checked', settings[id]) // read setting value from adapter config object and set checkbox in config page Lesen Sie den Einstellungswert aus dem Adapterkonfigurationsobjekt und setzen Sie das Kontrollkästchen auf der Konfigurationsseite
28
28
  .on('change', () => {
29
29
  showHideSettings();
30
30
  onChange(); // set listener to checkbox and call onChange if the value has changed => setze listener auf checkbox und rufe onChange auf, wenn sich der Wert geändert hat
@@ -58,8 +58,10 @@ function load(settings, onChange) {
58
58
  $('#events .values-input[data-name="wateringTime"][data-index="' + id + '"]').val('20').trigger('change');
59
59
  $('#events .values-input[data-name="wateringAdd"][data-index="' + id + '"]').val('200').trigger('change');
60
60
  $('#events .values-input[data-name="wateringInterval"][data-index="' + id + '"]').val('0').trigger('change');
61
+ $('#events .values-input[data-name="addWateringTime"][data-index="' + id + '"]').val('0').trigger('change');
62
+ $('#events .values-input[data-name="addTriggersIrrigation"][data-index="' + id + '"]').val('50').trigger('change');
61
63
  $('#events .values-input[data-name="maxSoilMoistureIrrigation"][data-index="' + id + '"]').val('8').trigger('change');
62
- $('#events .values-input[data-name="maxSoilMoistureRain"][data-index="' + id + '"]').val('10').trigger('change');
64
+ $('#events .values-input[data-name="maxSoilMoistureRainPct"][data-index="' + id + '"]').val('120').trigger('change');
63
65
  $('#events .values-input[data-name="triggersIrrigation"][data-index="' + id + '"]').val('50').trigger('change');
64
66
  $('#events .values-input[data-name="pipeFlow"][data-index="' + id + '"]').val('700').trigger('change');
65
67
  $('#events .values-input[data-name="methodControlSM"][data-index="' + id + '"]').val('calculation').trigger('change');
@@ -203,6 +205,16 @@ function load(settings, onChange) {
203
205
  });
204
206
  });
205
207
 
208
+ $('#pathRainForecastDialogPopUp').on('click', function () {
209
+ initSelectId(function (sid) {
210
+ sid.selectId('show', $('#pathRainForecast').val(), function (newId) {
211
+ if (newId) {
212
+ $('#pathRainForecast').val(newId).trigger('change');
213
+ }
214
+ });
215
+ });
216
+ });
217
+
206
218
  onChange(false);
207
219
  // reinitialize all the Materialize labels on the page if you are dynamically adding inputs:
208
220
  // Initialisieren Sie alle Materialise-Beschriftungen auf der Seite neu, wenn Sie dynamisch Eingaben hinzufügen:
@@ -259,9 +271,7 @@ function fillPosition() {
259
271
  }
260
272
  });
261
273
  }
262
- /*
263
- {"1312509684":{"firstName":"Dirk","userName":"Dirk_Peter"}}
264
- */
274
+
265
275
  /**
266
276
  *
267
277
  * @param id
@@ -269,7 +279,7 @@ function fillPosition() {
269
279
  */
270
280
  function fillTelegramUser(id, obj) {
271
281
  /*let user = str.replace(/[{}"\\]/g,"").split(',');*/
272
- /*obj = {"1312509684":{"firstName":"Dirk","userName":"Dirk_Peter"}};*/
282
+ /*obj = {"0123456789":{"firstName":"Dirk","userName":"Dirk_Peter"}};*/
273
283
  let $sel = $('#telegramUser');
274
284
  $sel.html('<option value="allTelegramUsers">' + _('All Receiver') + '</option>');
275
285
  for(let key in obj){
@@ -330,8 +340,10 @@ function tableOnReady() {
330
340
  $('#wateringTime').val($('#events .values-input[data-name="wateringTime"][data-index="' + id + '"]').val());
331
341
  $('#wateringAdd').val($('#events .values-input[data-name="wateringAdd"][data-index="' + id + '"]').val());
332
342
  $('#wateringInterval').val($('#events .values-input[data-name="wateringInterval"][data-index="' + id + '"]').val());
343
+ $('#addWateringTime').val($('#events .values-input[data-name="addWateringTime"][data-index="' + id + '"]').val());
344
+ $('#addTriggersIrrigation').val($('#events .values-input[data-name="addTriggersIrrigation"][data-index="' + id + '"]').val());
333
345
  $('#maxSoilMoistureIrrigation').val($('#events .values-input[data-name="maxSoilMoistureIrrigation"][data-index="' + id + '"]').val());
334
- $('#maxSoilMoistureRain').val($('#events .values-input[data-name="maxSoilMoistureRain"][data-index="' + id + '"]').val());
346
+ $('#maxSoilMoistureRainPct').val($('#events .values-input[data-name="maxSoilMoistureRainPct"][data-index="' + id + '"]').val());
335
347
  $('#triggersIrrigation').val($('#events .values-input[data-name="triggersIrrigation"][data-index="' + id + '"]').val());
336
348
  $('#pipeFlow').val($('#events .values-input[data-name="pipeFlow"][data-index="' + id + '"]').val());
337
349
  $('#methodControlSM').val($('#events .values-input[data-name="methodControlSM"][data-index="' + id + '"]').val());
@@ -361,8 +373,10 @@ function tableOnReady() {
361
373
  let newWateringTime = $('#wateringTime').val();
362
374
  let newWateringAdd = $('#wateringAdd').val();
363
375
  let newWateringInterval = $('#wateringInterval').val();
376
+ let newAddWateringTime = $('#addWateringTime').val();
377
+ let newAddTriggersIrrigation = $('#addTriggersIrrigation').val();
364
378
  let newMaxSoilMoistureIrrigation = $('#maxSoilMoistureIrrigation').val();
365
- let newMaxSoilMoistureRain = $('#maxSoilMoistureRain').val();
379
+ let newMaxSoilMoistureRainPct = $('#maxSoilMoistureRainPct').val();
366
380
  let newTriggersIrrigation = $('#triggersIrrigation').val();
367
381
  let newPipeFlow = $('#pipeFlow').val();
368
382
  let newMethodControlSM = $('#methodControlSM').val();
@@ -386,8 +400,10 @@ function tableOnReady() {
386
400
  $('#events .values-input[data-name="wateringTime"][data-index="' + id + '"]').val(newWateringTime).trigger('change');
387
401
  $('#events .values-input[data-name="wateringAdd"][data-index="' + id + '"]').val(newWateringAdd).trigger('change');
388
402
  $('#events .values-input[data-name="wateringInterval"][data-index="' + id + '"]').val(newWateringInterval).trigger('change');
403
+ $('#events .values-input[data-name="addWateringTime"][data-index="' + id + '"]').val(newAddWateringTime).trigger('change');
404
+ $('#events .values-input[data-name="addTriggersIrrigation"][data-index="' + id + '"]').val(newAddTriggersIrrigation).trigger('change');
389
405
  $('#events .values-input[data-name="maxSoilMoistureIrrigation"][data-index="' + id + '"]').val(newMaxSoilMoistureIrrigation).trigger('change');
390
- $('#events .values-input[data-name="maxSoilMoistureRain"][data-index="' + id + '"]').val(newMaxSoilMoistureRain).trigger('change');
406
+ $('#events .values-input[data-name="maxSoilMoistureRainPct"][data-index="' + id + '"]').val(newMaxSoilMoistureRainPct).trigger('change');
391
407
  $('#events .values-input[data-name="triggersIrrigation"][data-index="' + id + '"]').val(newTriggersIrrigation).trigger('change');
392
408
  $('#events .values-input[data-name="pipeFlow"][data-index="' + id + '"]').val(newPipeFlow).trigger('change');
393
409
  $('#events .values-input[data-name="methodControlSM"][data-index="' + id + '"]').val(newMethodControlSM).trigger('change');
@@ -447,6 +463,11 @@ function save(callback) {
447
463
  * @param callback
448
464
  */
449
465
  function showHideSettings(callback) {
466
+ /** additional irrigation activated =>
467
+ * zusätzliche Bewässerung aktiviert
468
+ * @type {boolean}
469
+ */
470
+ let selAddStartTime = false;
450
471
 
451
472
  // Zeiteinstellungen => Feiertagseinstellung sichtbar bei combobox
452
473
  $('#wateringStartTime').on('change', function () {
@@ -459,16 +480,45 @@ function showHideSettings(callback) {
459
480
  } else if ($(this).val() === 'livingGoldenHourEnd') { /*Start mit dem Ende der Golden hour*/
460
481
  $('.visTimeShift').hide();
461
482
  $('.visWeekLiving').hide();
483
+ } else if ($(this).val() === 'livingSunset') { /*Start mit Sonnenaufgang*/
484
+ $('.visTimeShift').show();
485
+ $('.visWeekLiving').hide();
462
486
  }
463
487
  }).trigger('change');
464
488
 
465
- // Pumpeneinstellungen => Zisterne sichtbar bei checkbox
489
+ // Pumpeneinstellungen Zisterne sichtbar bei checkbox
466
490
  if ($('#cisternSettings').prop('checked')) {
467
491
  $('.cisternObjekt').show();
468
492
  } else {
469
493
  $('.cisternObjekt').hide();
470
494
  }
471
495
 
496
+
497
+ // Additional start time => sichtbar je nach auswahl
498
+ $('#selectAddStartTime').on('change',function(){
499
+ if ($(this).val() === 'noAddStartTime') {
500
+ selAddStartTime = false;
501
+ $('.showGreaterETpCur').hide();
502
+ $('.showAddStartTime').hide();
503
+ $('.showExtSig').hide();
504
+ } else if ($(this).val() === 'greaterETpCurrent') {
505
+ selAddStartTime = true;
506
+ $('.showGreaterETpCur').show();
507
+ $('.showAddStartTime').show();
508
+ $('.showExtSig').hide();
509
+ } else if ($(this).val() === 'withExternalSignal') {
510
+ selAddStartTime = true;
511
+ $('.showGreaterETpCur').hide();
512
+ $('.showAddStartTime').show();
513
+ $('.showExtSig').show();
514
+ } else {
515
+ selAddStartTime = false;
516
+ $('.showGreaterETpCur').hide();
517
+ $('.showAddStartTime').hide();
518
+ $('.showExtSig').hide();
519
+ }
520
+ }).trigger('change');
521
+
472
522
  // Zeiteinstellungen => Feiertagseinstellung sichtbar bei checkbox
473
523
  let mPublicWeekend = $('#publicWeekend').prop('checked');
474
524
  if (mPublicWeekend) {
@@ -493,6 +543,17 @@ function showHideSettings(callback) {
493
543
  $('.weatherFor').hide();
494
544
  }
495
545
 
546
+ // individuelle Wettervorhersage
547
+ $('#weatherForecastService').on('change', function () {
548
+ if ($(this).val() === 'ownDataPoint') {
549
+ $('.showOwnDataPoint').show();
550
+ $('.showDasWetter').hide();
551
+ } else if ($(this).val() === 'dasWetter') {
552
+ $('.showOwnDataPoint').hide();
553
+ $('.showDasWetter').show();
554
+ }
555
+ }).trigger('change');
556
+
496
557
  // Benachrichtigung Karte Ein / Aus
497
558
  if ($('#notificationEnabled').prop('checked')) {
498
559
  $('.tab-notification').show();
@@ -500,6 +561,7 @@ function showHideSettings(callback) {
500
561
  $('.tab-notification').hide();
501
562
  }
502
563
 
564
+
503
565
  // Benachrichtigung - Typ auswahl
504
566
  $('#notificationsType').on('change', function () {
505
567
  if ($(this).val() === 'Telegram') {
@@ -529,6 +591,13 @@ function showHideSettings(callback) {
529
591
  $('#methodControlSM').on('change',function(){
530
592
 
531
593
  if ($(this).val() === 'calculation') {
594
+ if (selAddStartTime) {
595
+ $('.showAddWateringTime').show();
596
+ $('.showAddTriggersIrrigation').hide();
597
+ }else{
598
+ $('.showAddWateringTime').hide();
599
+ $('.showAddTriggersIrrigation').hide();
600
+ }
532
601
  $('.visInGreenhouse').show()
533
602
  $('.visSensor').hide();
534
603
  $('.visAnalog').hide();
@@ -542,6 +611,13 @@ function showHideSettings(callback) {
542
611
  } else {
543
612
  $('.visInGreenhouse').hide()
544
613
  }
614
+ if (selAddStartTime) {
615
+ $('.showAddWateringTime').show();
616
+ $('.showAddTriggersIrrigation').hide();
617
+ }else{
618
+ $('.showAddWateringTime').hide();
619
+ $('.showAddTriggersIrrigation').hide();
620
+ }
545
621
  $('.visSensor').show();
546
622
  $('.visAnalog').hide();
547
623
  $('.visCalculation').hide();
@@ -554,6 +630,13 @@ function showHideSettings(callback) {
554
630
  } else {
555
631
  $('.visInGreenhouse').hide()
556
632
  }
633
+ if (selAddStartTime) {
634
+ $('.showAddWateringTime').show();
635
+ $('.showAddTriggersIrrigation').show();
636
+ }else{
637
+ $('.showAddWateringTime').hide();
638
+ $('.showAddTriggersIrrigation').hide();
639
+ }
557
640
  $('.visSensor').show();
558
641
  $('.visAnalog').show();
559
642
  $('.visCalculation').hide();
@@ -566,6 +649,13 @@ function showHideSettings(callback) {
566
649
  } else {
567
650
  $('.visInGreenhouse').hide()
568
651
  }
652
+ if (selAddStartTime) {
653
+ $('.showAddWateringTime').show();
654
+ $('.showAddTriggersIrrigation').hide();
655
+ }else{
656
+ $('.showAddWateringTime').hide();
657
+ $('.showAddTriggersIrrigation').hide();
658
+ }
569
659
  $('.visSensor').hide();
570
660
  $('.visAnalog').hide();
571
661
  $('.visCalculation').hide();
@@ -573,6 +663,13 @@ function showHideSettings(callback) {
573
663
  $('.visFixDay').show();
574
664
  } else {
575
665
  $(this).val('calculation');
666
+ if (selAddStartTime) {
667
+ $('.showAddWateringTime').show();
668
+ $('.showAddTriggersIrrigation').show();
669
+ }else{
670
+ $('.showAddWateringTime').hide();
671
+ $('.showAddTriggersIrrigation').hide();
672
+ }
576
673
  $('.visInGreenhouse').show()
577
674
  $('.visSensor').hide();
578
675
  $('.visAnalog').hide();