iobroker.sprinklecontrol 0.2.9 → 0.2.10

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,10 @@ 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
+ ### 0.2.10 (2022-05-15)
38
+ * (Dirk-Peter-md) manual watering limited to a maximum of 100%
39
+ * (Dirk-Peter-md) Error whatsapp message fixed
40
+
38
41
  ### 0.2.9 (2022-04-10)
39
42
  * (Dirk-Peter-md) Bug-Initialisierungsroutine
40
43
 
package/io-package.json CHANGED
@@ -1,8 +1,20 @@
1
1
  {
2
2
  "common": {
3
3
  "name": "sprinklecontrol",
4
- "version": "0.2.9",
4
+ "version": "0.2.10",
5
5
  "news": {
6
+ "0.2.10": {
7
+ "en": "- manual watering limited to a maximum of 100%; - Error whatsapp message fixed",
8
+ "de": "- manuelle Bewässerung begrenzt auf maximal 100 %; - Fehler WhatsApp-Nachricht behoben",
9
+ "ru": "- ручной полив ограничен максимум 100%; - Исправлено сообщение об ошибке WhatsApp",
10
+ "pt": "- rega manual limitada a um máximo de 100%; - Mensagem de erro do whatsapp corrigida",
11
+ "nl": "- handmatige bewatering beperkt tot maximaal 100%; - Fout whatsapp-bericht opgelost",
12
+ "fr": "- arrosage manuel limité à 100% maximum ; - Message d'erreur WhatsApp corrigé",
13
+ "it": "- irrigazione manuale limitata ad un massimo del 100%; - Errore messaggio whatsapp risolto",
14
+ "es": "- riego manual limitado a un máximo del 100%; - Mensaje de error de whatsapp arreglado",
15
+ "pl": "- nawadnianie ręczne ograniczone do maksymalnie 100%; - Naprawiono błąd wiadomości WhatsApp",
16
+ "zh-cn": "- 手动浇水限制为最大 100%; - 错误whatsapp消息已修复"
17
+ },
6
18
  "0.2.9": {
7
19
  "en": "Bug initialization routine",
8
20
  "de": "Bug-Initialisierungsroutine",
package/lib/myConfig.js CHANGED
@@ -21,7 +21,7 @@ let adapter;
21
21
  * @param {string} res.analogZPct - analog Zero Percent [Auswahlfeld in der Config des Sprinklers > Bodenfeuchte-Sensor > analog > Wert bei 0 %]
22
22
  * @param {string} res.analogOHPct - analog One Hundert Percent [Auswahlfeld in der Config des Sprinklers > Bodenfeuchte-Sensor > analog > Wert bei 100 %]
23
23
  * @param {string} res.maxSoilMoistureIrrigation - maximale Bodenfeuchte nach der Bewässerung [Auswahlfeld in der Config des Sprinklers]
24
- * @param {string} res.startDay - Auswahl (threeRd = Start im 3 Tages Rhythmus,twoNd = Start im 2 Tages Rhythmus, fixDay = Start an festen Tagen Sun-Sat)
24
+ * @param {string} res.startDay - Auswahl (threeRd = Start im 3-Tages-Rhythmus,twoNd = Start im 2-Tages-Rhythmus, fixDay = Start an festen Tagen Sun-Sat)
25
25
  * @param {boolean} res.sun - Sontag, Sunday (Sun)
26
26
  * @param {boolean} res.mon - Montag, Monday (Mon)
27
27
  * @param {boolean} res.tue - Dienstag, Tuesday (Tue) (Tues)
@@ -111,7 +111,18 @@ function getMetConSM(res) {
111
111
  setBool: null
112
112
  };
113
113
  } else {
114
- adapter.log.warn('No irrigation type is selected in the SprinkleControl configuration! Please adjust.');
114
+ adapter.log.warn('Emergency program! No irrigation type is selected in the SprinkleControl configuration! Please adjust.');
115
+ return {
116
+ setStartDay: 'twoNd',
117
+ setStartFixDay: [false, false, false, false, false, false, false], // Sun, Mon, Tue, Wed, Thur, Fri, Sat
118
+ setMetConSM: 'fixDay',
119
+ setTrigSM: '',
120
+ setAnalogZPct: null,
121
+ setAnalogOHPct: null,
122
+ setPct: null,
123
+ setVal: null,
124
+ setBool: null
125
+ };
115
126
  }
116
127
  }
117
128
 
@@ -140,7 +151,8 @@ const myConfig = {
140
151
  /** Starttage in der Woche
141
152
  * - 0(Sun); 1(Mon); 2(Tue); 3(Wed); 4(Thur); 5(Fri); 6(Sat)
142
153
  * @type {Array.<boolean>}
143
- * startFixDay */ startFixDay: metConSM.setStartFixDay, // Sontag, Sunday (Sun)// Montag, Monday (Mon)// Dienstag, Tuesday (Tue) (Tues)// Mittwoch, Wednesday (Wed)// Donnerstag, Thursday (Thur) (Thurs)// Freitag, Friday (Fri)// Samstag, Saturday (Sat)
154
+ * startFixDay */
155
+ startFixDay: metConSM.setStartFixDay, // Sontag, Sunday (Sun)// Montag, Monday (Mon)// Dienstag, Tuesday (Tue) (Tues)// Mittwoch, Wednesday (Wed)// Donnerstag, Thursday (Thur) (Thurs)// Freitag, Friday (Fri)// Samstag, Saturday (Sat)
144
156
  /** - Auswahl:
145
157
  * - threeRd = Start im 3 Tages Rhythmus,
146
158
  * - twoNd = Start im 2 Tages Rhythmus
@@ -190,7 +202,7 @@ const myConfig = {
190
202
  },
191
203
  /**
192
204
  * apply Evaporation
193
- * => Verdunstung anwenden auf die einzelnen Sprenger kreise
205
+ * Verdunstung anwenden auf die einzelnen Sprenger kreise
194
206
  * @param {number} eTP - pot. Evapotranspiration nach Penman ETp in mm/d
195
207
  */
196
208
  applyEvaporation: (eTP) => {
@@ -281,13 +293,13 @@ const myConfig = {
281
293
  }
282
294
  },
283
295
  /**
284
- * Bodenfeuchte (soilMoisture) erhöhen bis maxRain
296
+ * Bodenfeuchte (soilMoisture) erhöhen bis maxIrrigation (100%)
285
297
  * @param {number} mySprinkleID - ID des Bewässerungskreis
286
298
  * @param {number} addVal - soilMoisture.val wird um den Wert addVal erhöht
287
299
  */
288
300
  addSoilMoistVal: (mySprinkleID, addVal) => {
289
301
  myConfig.config[mySprinkleID].soilMoisture.val += addVal;
290
- if (myConfig.config[mySprinkleID].soilMoisture.val > myConfig.config[mySprinkleID].soilMoisture.maxRain) {myConfig.config[mySprinkleID].soilMoisture.val = myConfig.config[mySprinkleID].soilMoisture.maxRain}
302
+ if (myConfig.config[mySprinkleID].soilMoisture.val > myConfig.config[mySprinkleID].soilMoisture.maxIrrigation) {myConfig.config[mySprinkleID].soilMoisture.val = myConfig.config[mySprinkleID].soilMoisture.maxIrrigation}
291
303
  myConfig.config[mySprinkleID].soilMoisture.pct = Math.round(1000 * myConfig.config[mySprinkleID].soilMoisture.val
292
304
  / myConfig.config[mySprinkleID].soilMoisture.maxIrrigation) / 10; // Berechnung in %
293
305
  adapter.setState('sprinkle.' + myConfig.config[mySprinkleID].objectName + '.actualSoilMoisture', {
@@ -51,7 +51,7 @@ const sendMessageText = {
51
51
  /** @type {string} */ emailReceiver: adapter.config.emailReceiver,
52
52
  /** @type {string} */ emailSender: adapter.config.emailSender,
53
53
  /** @type {boolean} */ onlyError: adapter.config.emailOnlyError,
54
- /** @type {number} */ waiting: parseInt(adapter.config.emailWaitToSend) * 1000
54
+ /** @type {number} */ waiting: (parseInt(adapter.config.emailWaitToSend) * 1000) || 0
55
55
  };
56
56
  break;
57
57
 
@@ -172,6 +172,7 @@ const sendMessageText = {
172
172
  ObjMessage.instance !== null &&
173
173
  ObjMessage.instance !== undefined) {
174
174
  sendMessage = '<b><u>SprinkleControl:</u></b>\n' + sendMessage;
175
+ sendMessage = sendMessage.replace(/\n/g,'%0A'); // Zeilenumbruch
175
176
  sendMessage = sendMessage.replace(/<b>|<\/b>/g, '*'); // Fett Bold
176
177
  sendMessage = sendMessage.replace(/<i>|<\/i>/g, '_'); // kursive Italic
177
178
  sendMessage = sendMessage.replace(/<u>|<\/u>/g, ''); // unterstrichen
@@ -860,7 +860,7 @@ const valveControl = {
860
860
  clearTimeout(entry.times.boostTime2);
861
861
  entry.times.boostTime2 = null;
862
862
  }
863
- threadList.pop();
863
+ threadList.pop(); // del last array
864
864
  adapter.log.debug(`order deleted Stop all ID: ${entry.sprinkleName} ( rest orders: ${threadList.length} )`);
865
865
  }
866
866
  updateList();
package/main.js CHANGED
@@ -116,7 +116,7 @@ function startAdapter(options) {
116
116
  err && adapter.log.error(err);
117
117
  if (state && state.val) {
118
118
  try {
119
- adapter.log.info('getTelegramUser:' + state.val);
119
+ adapter.log.debug('getTelegramUser:' + state.val);
120
120
  adapter.sendTo(obj.from, obj.command, JSON.parse(state.val), obj.callback);
121
121
  } catch (err) {
122
122
  err && adapter.log.error(err);
@@ -953,6 +953,22 @@ async function createSprinklers() {
953
953
  break;
954
954
  default:
955
955
  adapter.log.warn(`sprinkleControl cannot created ... Please check your sprinkleControl config ${objectName} methodControl`);
956
+ nameMetConSM = objectName + ' => Emergency program! start on a fixed day';
957
+ objMetConSM = {
958
+ 'type': 'state',
959
+ 'common': {
960
+ 'role': 'state',
961
+ 'name': nameMetConSM,
962
+ 'type': 'number',
963
+ 'min': 0,
964
+ 'max': 7,
965
+ 'states': {"0":"Sun", "1":"Mon", "2":"Tue", "3":"Wed", "4":"Thur", "5":"Fri", "6":"Sat", "7":"off"},
966
+ 'read': true,
967
+ 'write': false,
968
+ 'def': 7
969
+ },
970
+ 'native': {},
971
+ };
956
972
  }
957
973
  }
958
974
  // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iobroker.sprinklecontrol",
3
- "version": "0.2.9",
3
+ "version": "0.2.10",
4
4
  "description": "Control of several sprinklers depending on weather conditions and pump performance.",
5
5
  "author": {
6
6
  "name": "Dirk Peter",