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.
- package/{Lizenz → LICENSE} +21 -21
- package/README.md +60 -110
- package/admin/i18n/de/translations.json +134 -0
- package/admin/i18n/en/translations.json +134 -0
- package/admin/i18n/es/translations.json +134 -0
- package/admin/i18n/fr/translations.json +134 -0
- package/admin/i18n/it/translations.json +134 -0
- package/admin/i18n/nl/translations.json +134 -0
- package/admin/i18n/pl/translations.json +134 -0
- package/admin/i18n/pt/translations.json +134 -0
- package/admin/i18n/ru/translations.json +134 -0
- package/admin/i18n/uk/translations.json +134 -0
- package/admin/i18n/zh-cn/translations.json +134 -0
- package/admin/index_m.html +904 -907
- package/admin/index_m.js +779 -779
- package/admin/style.css +453 -158
- package/admin/words.js +143 -136
- package/io-package.json +256 -189
- package/lib/adapter-config.d.ts +19 -16
- package/lib/evaporation.js +443 -412
- package/lib/myConfig.js +373 -359
- package/lib/sendMessageText.js +162 -199
- package/lib/tools.js +148 -125
- package/lib/valveControl.js +918 -887
- package/main.js +2041 -1828
- package/package.json +50 -32
- package/.gitattributes +0 -2
- package/admin/admin.d.ts +0 -1
- package/docs/de/img/E-Mail.jpg +0 -0
- package/docs/de/img/Extraeinstellungen.jpg +0 -0
- package/docs/de/img/Pumpeneinstellung.jpg +0 -0
- package/docs/de/img/Pushover.jpg +0 -0
- package/docs/de/img/Select_ID.jpg +0 -0
- package/docs/de/img/Telegram.jpg +0 -0
- package/docs/de/img/Ventil-Haupteinstellung.jpg +0 -0
- package/docs/de/img/Ventil-Pumpeneinstellung.jpg +0 -0
- package/docs/de/img/WhatsApp.jpg +0 -0
- package/docs/de/img/Zeiteinstellung.jpg +0 -0
- package/docs/de/img/addTime.jpg +0 -0
- package/docs/de/img/analog.jpg +0 -0
- package/docs/de/img/ber-verdunstung.jpg +0 -0
- package/docs/de/img/bew-einstellung.jpg +0 -0
- package/docs/de/img/bew-feste-tage.jpg +0 -0
- package/docs/de/img/bistabil.jpg +0 -0
- package/docs/de/img/bodenf-analog.jpg +0 -0
- package/docs/de/img/bodenf-bistabil.jpg +0 -0
- package/docs/de/img/calculation.jpg +0 -0
- package/docs/de/img/control.jpg +0 -0
- package/docs/de/img/einschaltpunkt-giessen.jpg +0 -0
- package/docs/de/img/festeTage.jpg +0 -0
- package/docs/de/img/main.jpg +0 -0
- package/docs/de/img/main_tab.jpg +0 -0
- package/docs/de/img/max-bodenfeuchtigkeit.jpg +0 -0
- package/docs/de/img/schaltverhalten.jpg +0 -0
- package/docs/de/img/sprinklecontrol.png +0 -0
- package/docs/de/img/verdunstDiagra.jpg +0 -0
- package/docs/de/img/verdunstung.jpg +0 -0
- package/docs/de/img/zus-bew-einstellung.jpg +0 -0
- package/docs/de/sprinklecontrol.md +0 -656
- package/docs/en/img/schaltverhalten.jpg +0 -0
- package/docs/en/img/screenshot1.jpg +0 -0
- package/docs/en/img/screenshot2.jpg +0 -0
- package/docs/en/img/screenshot3.jpg +0 -0
- package/docs/en/img/screenshot4.jpg +0 -0
- package/docs/en/img/screenshot5.jpg +0 -0
- package/docs/en/img/screenshot6.jpg +0 -0
- package/docs/en/img/screenshot7.jpg +0 -0
- package/docs/en/img/screenshot8.jpg +0 -0
- package/docs/en/img/sprinklecontrol.png +0 -0
- package/docs/en/sprinklecontrol.md +0 -230
- package/main.test.js +0 -30
|
Binary file
|
|
Binary file
|
|
@@ -1,230 +0,0 @@
|
|
|
1
|
-

|
|
2
|
-
# SprinkleControl
|
|
3
|
-
### *The adapter for weather-dependent automatic garden irrigation.*
|
|
4
|
-
(by means of a weather sensor HmIP-SWO-PL – plus)
|
|
5
|
-
|
|
6
|
-
Unfortunately my knowledge of English is too small for an adapter description.
|
|
7
|
-
I would be very grateful for any help with the translation.
|
|
8
|
-
|
|
9
|
-
---
|
|
10
|
-
---
|
|
11
|
-
## Mode of action
|
|
12
|
-
- - -
|
|
13
|
-
|
|
14
|
-
The ambient data (temperature, humidity, brightness, wind speed, amount of rain) are evaluated in Sprinkle Control.
|
|
15
|
-
The evaporation determined in this way is used to determine the theoretical soil moisture of the individual irrigation areas.
|
|
16
|
-
At a point in time specified under "Time settings", the watering circuits that fall below a certain percentage are activated.
|
|
17
|
-
These different irrigation circuits are then controlled in such a way that the maximum pump output (l / h), and the maximum number of irrigation circuits are not exceeded.
|
|
18
|
-
Both are customizable.
|
|
19
|
-
|
|
20
|
-

|
|
21
|
-
|
|
22
|
-
**Example for a switching behavior on a day (start time of all valves: 6:00)**
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
My irrigation works with the Homematic IP weather sensor plus (HmIP-SWO-PL) and **was only tested with this**.
|
|
26
|
-
In the ioBroker forum, however, there are also some tests that are carried out with weather stations via the Sainlogic adapter.
|
|
27
|
-
|
|
28
|
-
---
|
|
29
|
-
---
|
|
30
|
-
## Installation
|
|
31
|
-
- - -
|
|
32
|
-
|
|
33
|
-
An instance of the Sprinkle Control Adapter is installed through the ioBroker Admin interface by clicking the plus sign (+).
|
|
34
|
-
Depending on the active repository specified in the Admin adapter, the stable (default) or beta version (latest) will be installed.
|
|
35
|
-
|
|
36
|
-
---
|
|
37
|
-
---
|
|
38
|
-
## Adapter configuration - MAIN SETTINGS
|
|
39
|
-
- - -
|
|
40
|
-
|
|
41
|
-

|
|
42
|
-
|
|
43
|
-
* 1: Go to the Sprinkle Control page on GitHub
|
|
44
|
-
* 2: Load the adapter configuration from a file
|
|
45
|
-
* 3: Save the adapter configuration from a file
|
|
46
|
-
* 4: Add a new watering circle
|
|
47
|
-
* 5: Check box to enable / disable the irrigation circuit
|
|
48
|
-
* 6: The name of the irrigation circle is automatically read from the objects when the ID is selected and can then be changed as required.
|
|
49
|
-
* 7: Unique ID of the data point to be controlled in the objects
|
|
50
|
-
* 8: Change the selected irrigation actuator
|
|
51
|
-
* 9: Open the individual configuration of the respective irrigation circuit
|
|
52
|
-
* 10: Move the line position
|
|
53
|
-
* 11: Delete watering circuit with all configured data!
|
|
54
|
-
|
|
55
|
-
- - -
|
|
56
|
-
### Individual configuration of an irrigation circuit
|
|
57
|
-
- - -
|
|
58
|
-
|
|
59
|
-
Open the individual configuration of the respective irrigation circuit
|
|
60
|
-
|
|
61
|
-

|
|
62
|
-
|
|
63
|
-
**Irrigation settings**
|
|
64
|
-
- *Watering time in min:* Set the watering time in minutes. This lengthens the further the trigger falls below the "lowest percentage of soil moisture".
|
|
65
|
-
- *maximum irrigation extension in %:* Limitation of the irrigation duration in percent (100% = irrigation duration is not extended).
|
|
66
|
-
- *Watering interval in min:* The watering time is divided into an interval. (e.g. 5 minutes on, at least 5 minutes off, 5 minutes on, etc.)
|
|
67
|
-
- **Hint:** With me, I have a lawn grate at the entrance. Here the water only runs down the slope when it is irrigated. I was able to counteract this by pouring at intervals.
|
|
68
|
-
|
|
69
|
-
**Switch-on point for watering**
|
|
70
|
-
- *Switch-on point (soil moisture) of the irrigation valves in %:* Switch-on threshold: If this value is not reached, watering begins with the start time.
|
|
71
|
-
- *Soil moisture = 100% after irrigation:* When activated, the soil moisture is set to 100% after watering. Otherwise, it will stay just below it due to evaporation during irrigation.
|
|
72
|
-
|
|
73
|
-
**maximum soil moisture**
|
|
74
|
-
- *maximum soil moisture after the irrigation in (mm):* Maximum theoretical water content in the soil after irrigation. The higher this value, the longer the watering intervals.
|
|
75
|
-
- **Hint:** Lawn grid: 5; Flowerbed: 10; Lawn area: 14
|
|
76
|
-
- *maximum soil moisture after the rain in (mm):* Maximum theoretical water content in the soil after heavy rain. This value must be greater than after irrigation!
|
|
77
|
-
- **Hint:** Lawn grid: 6; Flowerbed: 15; Lawn area: 19
|
|
78
|
-
|
|
79
|
-
- - -
|
|
80
|
-
#### Individual configuration of an irrigation circuit - MAIN SETTINGS
|
|
81
|
-
- - -
|
|
82
|
-
|
|
83
|
-

|
|
84
|
-
|
|
85
|
-
**Sprinkler consumption**
|
|
86
|
-
- *Flow amount in l/h:* Specific flow rate of the current irrigation station
|
|
87
|
-
- **Hint:** is often found in the instruction manual or on the Internet
|
|
88
|
-
- *Booster:* Removes all active irrigation circuits from the network for 30 s and then switches them on again
|
|
89
|
-
- **Hint:** My pump delivers a maximum of 1800 l/h, and my lawn sprinklers need 1400 l/h, but full pressure, to start them. With the booster function, I can also water my conifers with a drip line that only needs 300 l / h.
|
|
90
|
-
> - **Danger:** This function should be used very sparingly, as only one irrigation circuit can water with an active booster at a time.
|
|
91
|
-
|
|
92
|
-
---
|
|
93
|
-
---
|
|
94
|
-
#### Individual configuration of an irrigation circuit - PUMP SETTINGS
|
|
95
|
-
- - -
|
|
96
|
-
|
|
97
|
-

|
|
98
|
-
|
|
99
|
-
**Settings for Valve**
|
|
100
|
-
- *Control voltage of the valves:* Clicking the (+) symbol opens the Select-ID State window. Here you can select the STATE for the control voltage of the valves. This output becomes active as soon as one of the valves is active.
|
|
101
|
-
If you do not need this STATE, leave this field blank!
|
|
102
|
-
- *Maximum parallel operation of the valves:* The number of active valves can be limited here. For example, if the output of the control transformer is not sufficient to switch several valves in parallel.
|
|
103
|
-
- *Switching distance between the valves in ms:* Enter a time in milliseconds. This is the waiting time until the next valve is switched, which means, for example, that 6 outputs are switched one after the other and not simultaneously.
|
|
104
|
-
|
|
105
|
-
**Settings for Pump**
|
|
106
|
-
- *Main pump:* Clicking the (+) symbol opens the Select ID window. The CONDITION of the pump that is responsible for the water supply is saved here.
|
|
107
|
-
- *maximum pump output of the main pump in l/h:* The maximum pump output is saved here. This then limits the irrigation circuits so that enough pressure is still applied to the valves.
|
|
108
|
-
- **Danger:** The actual pump output must be specified here. Not the one on the nameplate. For example, I have a "Gardena 5000/5 LCD" which, due to the length of the line, only generates an output of 1800 l / h and not 4500 l / h, as stated on the type plate.
|
|
109
|
-
**Add cistern pump**
|
|
110
|
-
- *Add cistern pump as priority pump*
|
|
111
|
-
- *cistern pump:* The cistern pump is entered here. This is deactivated if the level in the cistern is too low. In this case the main pump continues to water.
|
|
112
|
-
- *maximum pump capacity of the cistern in l/h:* The maximum pump output in l / h is saved here. See Adjusting the Main Pump.
|
|
113
|
-
- *Sensor of the level in the cistern:* STATE of the level sensor to determine the level in 0 ... 100%.
|
|
114
|
-
- *built-in:* Hm-Sen-Wa-Od Capacitive level meter from HomeMatic.
|
|
115
|
-
- *Minimum fill level of the cysts in %:* If this is not reached, the switching point is switched to the main pump and the valves are adjusted according to the amount consumed while the watering is running.
|
|
116
|
-
|
|
117
|
-
---
|
|
118
|
-
---
|
|
119
|
-
## Adapter configuration - TIME SETTINGS
|
|
120
|
-
- - -
|
|
121
|
-
|
|
122
|
-

|
|
123
|
-
|
|
124
|
-
The start times for the sprinkle control can be set on this tab.
|
|
125
|
-
|
|
126
|
-
###Settings for start time
|
|
127
|
-
- *Start time for irrigation:*
|
|
128
|
-
- *Start with a fixed start time:* The **Start time of the week** can be set here.
|
|
129
|
-
- *Start time at sunrise:* Here is the start time at sunrise. It can be shifted from -120 min to + 120 min via **Time shift in min**.
|
|
130
|
-
- *Start time at the end of the golden hour:*
|
|
131
|
-
|
|
132
|
-
###Settings for start time on weekends
|
|
133
|
-
- *different start time on weekends:* If you want to start watering at a different time on the weekend so as not to annoy your neighbors, for example, you can activate it here.
|
|
134
|
-
- *Start time at the weekend:*
|
|
135
|
-
|
|
136
|
-
###Settings for the start time on public holidays
|
|
137
|
-
- *Start time of public holidays as on weekends:* If public holidays should be treated like weekends, this can be activated here.
|
|
138
|
-
- *public holidays Instance* The external public holiday instance must then be selected here (for example the adapter "Deutsche Feiertage").
|
|
139
|
-
|
|
140
|
-
---
|
|
141
|
-
---
|
|
142
|
-
## Adapter configuration - EXTRA SETTINGS
|
|
143
|
-
- - -
|
|
144
|
-
|
|
145
|
-

|
|
146
|
-
|
|
147
|
-
### Astro settings
|
|
148
|
-
SprinkleControl takes the latitude and longitude from the ioBroker system settings.
|
|
149
|
-
SprinkleControl uses these values to calculate the position of the sun and the extraterrestrial radiation for evaporation.
|
|
150
|
-
|
|
151
|
-
### Debug settings
|
|
152
|
-
When activated, additional information is displayed in the log. This allows errors to be analyzed more quickly.
|
|
153
|
-
|
|
154
|
-
### Additional notification setting
|
|
155
|
-
Activate the Notifications tab. The communication settings are then made on the new Notifications tab.
|
|
156
|
-
|
|
157
|
-
### Sensors "(Homematic HmIP-SWO-PL)" for calculating the evaporation
|
|
158
|
-
> - **Danger:** The program is adapted to the "HomeMatic weather station HmIP-SWO-PL" for calculating the evaporation! Without this data, no irrigation circuits are triggered.
|
|
159
|
-
|
|
160
|
-
- But I heard from the forum that the program also works with weather data via the "Sainlogic Adapter".
|
|
161
|
-
- The sensors calculate the maximum possible evaporation of the potential evapotranspiration according to Penman ETp and thus control the irrigation system.
|
|
162
|
-
This happens every time the temperature changes.
|
|
163
|
-
|
|
164
|
-
### Weather forecast
|
|
165
|
-
- If you activate the "Use weather forecast" box, a selection box will appear. Here the instance of the adapter "Das Wetter" must be selected.
|
|
166
|
-
"Path 2: XML file with 5-day weather forecast and detailed information for every 3 hours" must be filled out in the "Das Wetter" adapter
|
|
167
|
-
so that SprinkleControl can access the object **"daswetter.0.NextDaysDetailed.Location_1.Day_1.rain_value"**. This value is then used to postpone watering when it is supposed to rain.
|
|
168
|
-
|
|
169
|
-
---
|
|
170
|
-
---
|
|
171
|
-
## Adapter configuration - NOTIFICATIONS
|
|
172
|
-
- - -
|
|
173
|
-
|
|
174
|
-

|
|
175
|
-
|
|
176
|
-
- Once the NOTIFICATIONS tab has been activated, you can choose your notification method and enter your details here.
|
|
177
|
-
- The following notification methods are supported:
|
|
178
|
-
- E-mail
|
|
179
|
-
- Pushover
|
|
180
|
-
- Telegram
|
|
181
|
-
- WhatsApp
|
|
182
|
-
|
|
183
|
-
---
|
|
184
|
-
---
|
|
185
|
-
## Admin => Objekte => sprinklecontrol.0.
|
|
186
|
-
- - -
|
|
187
|
-
|
|
188
|
-

|
|
189
|
-
|
|
190
|
-
### control
|
|
191
|
-
- **Holiday:** If the "Holiday" is set to true, watering will start like the weekend if the weekend setting is enabled. A connection with a calendar would also be possible here.
|
|
192
|
-
- **autoOnOff:** When the setting is "Off", the automatic mode of the irrigation system is disabled.
|
|
193
|
-
- **parallelOfMax:** For example (3: 4). Three of four possible irrigation circles are active here. (This is just an ad!)
|
|
194
|
-
- **restFlow:** Display of the possible residual flow of the pump. (This is just an ad!)
|
|
195
|
-
|
|
196
|
-
### evaporation
|
|
197
|
-
- **ETpCurrent:** This is the current evaporation as a daily value in mm / day.
|
|
198
|
-
- **ETpToday:** The current daily value of evaporation is displayed here. This will be moved to ETpYesterday at 00:05 and then reset to 0.
|
|
199
|
-
- **ETpYesterday:** Yesterday's evaporation is shown here.
|
|
200
|
-
|
|
201
|
-
### info
|
|
202
|
-
- **cisternState** If necessary, the status of the cistern and its status are displayed here.
|
|
203
|
-
- **nextAutoStart** Indicates the next start of the irrigation system.
|
|
204
|
-
- **rainToday** The precipitation forecast for today is displayed here. The adapter "the weather" is necessary for this.
|
|
205
|
-
- **rainTomorrow** Precipitation forecast for tomorrow from the adapter "the weather".
|
|
206
|
-
|
|
207
|
-
### sprinkle.*.
|
|
208
|
-
- **history**
|
|
209
|
-
- **curCalWeekConsumed:** Current weekly consumption of the irrigation circuit in liters
|
|
210
|
-
- **curCalWeekRunningTime:** current total weekly running time of the irrigation circuit
|
|
211
|
-
- **lastCalWeekConsumed:** last weekly consumption in liters of the irrigation circuit
|
|
212
|
-
- **lastCalWeekRunningTime:** last weekly total run time of the watering cycle
|
|
213
|
-
- **lastConsumed:** Water consumption during the last watering in liters
|
|
214
|
-
- **lastOn:** last start of the watering cycle (05.07 14:14)
|
|
215
|
-
- **lastRunningTime:** last watering duration
|
|
216
|
-
- **actualSoilMoisture** This is the current virtual soil moisture in % => trigger criterion (max. 100% after irrigation, over 100% after heavy rain). Attention: This value can differ considerably from the actual soil moisture.
|
|
217
|
-
- **autoOn** Automatically on (Here you can switch off the automatic watering of this circuit, e.g. during a repair, whereby manual watering is possible at any time.)
|
|
218
|
-
- **countdown** Remaining watering time
|
|
219
|
-
- **runningTime** Watering duration
|
|
220
|
-
- If a number greater than 0 is entered here, the watering cycle begins for the specified time in minutes.
|
|
221
|
-
- If you enter a 0, the watering of the watering circle will be ended.
|
|
222
|
-
- **sprinklerState** Display of the status of the irrigation circuit.
|
|
223
|
-
- off(0) → Irrigation circuit off.
|
|
224
|
-
- wait(1) → The irrigation circuit is waiting for the pump capacity to become available.
|
|
225
|
-
- on(2) → Irrigation circle on.
|
|
226
|
-
- break(3) → The watering cycle was interrupted (configuration, watering interval)
|
|
227
|
-
- Boost(4) → The boost function of the current irrigation circuit is active (configuration, booster on).
|
|
228
|
-
- off(Boost)(5) → Irrigation circuit interrupted for 30 s because a boost function is active.
|
|
229
|
-
|
|
230
|
-
|
package/main.test.js
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* This is a dummy TypeScript test file using chai and mocha
|
|
5
|
-
*
|
|
6
|
-
* It's automatically excluded from npm and its build output is excluded from both git and npm.
|
|
7
|
-
* It is advised to test all your modules with accompanying *.test.js-files
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
// tslint:disable:no-unused-expression
|
|
11
|
-
|
|
12
|
-
const { expect } = require('chai');
|
|
13
|
-
// import { functionToTest } from "./moduleToTest";
|
|
14
|
-
|
|
15
|
-
describe('module to test => function to test', () => {
|
|
16
|
-
// initializing logic
|
|
17
|
-
const expected = 5;
|
|
18
|
-
|
|
19
|
-
it(`should return ${expected}`, () => {
|
|
20
|
-
const result = 5;
|
|
21
|
-
// assign result a value from functionToTest
|
|
22
|
-
expect(result).to.equal(expected);
|
|
23
|
-
// or using the should() syntax
|
|
24
|
-
result.should.equal(expected);
|
|
25
|
-
});
|
|
26
|
-
// ... more tests => it
|
|
27
|
-
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
// ... more test suites => describe
|