NEWS
Test Adapter Sprinkle Control 0.2.x mit neuen Funktionen
-
@saschas
Hallo,In Summe komme ich dann auf circa 1.100 l/h. Das ist doch dann die Zahl, welche ich dort einzutragen haben, richtig?
richtig!
Ich bin ein wenig Irritiert darüber, dass ich dem Adapter keine Größe der zu beregneten Fläche mitgeben muss. Macht es nicht einen gewaltigen Unterschied auf die Niederschlagsmenge, ob ich mit 1.100l/h nur 1m2 oder 100m2 bewässere?
Die Wassermenge wird über die Zeit bestimmt. Ich brauche die Durchflussmenge für die Pumpe! Weil diese ja entscheidet, welche Kreise zusammen laufen können.
MfG Dirk Peter
-
Ich brauche die Durchflussmenge für die Pumpe! Weil diese ja entscheidet, welche Kreise zusammen laufen können.
Macht Sinn. Habe ich bei mir aber auch schon extra durch "Maximaler Parallelbetrieb der Ventile = 1 " vorgegeben.
Die Wassermenge wird über die Zeit bestimmt.
Wenn die Durchlussmenge der Ventile nicht in die Bewässerungsdauer eingeht, dann verstehe ich das noch nicht. Kannst du mir das bitte Erklären @dirk-peter.
Mit meinen Einstellungen habe ich in den letzten Zyklen festgestellt, dass die Bewässerungszeit jeweils deutlich über den 60min, eher bei 120 min lagen. Beim letzten Vorgang 1:44 Std. Das ist ja laut Vorgabe auch i.O., da < 200%.
Frage: Wie errechnet sich die Bewässerungsdauer? Und wo genau kommt in der Formel die Restriktion zur Variable "maximale Bodenfeuchtigkeit nach der Bewässerung in (mm)" vor?
Zum Start der Bewässerung lag der actualSoilMoisture bei 13.60 %.
Die Steigung von actualSoilMoisture ist nahezu konstant. Hast du da eine fixe Steigung hinterlegt?
Wenn ich jetzt rechne, dass die Hunter MP Rotatoren im Durchschnitt 10mm/h/m2 (bei quadratischer Kopf-zu-Kopf Anordnung) abgeben, dann habe ich nach 1:44 Std circa 17,5 Liter / m2 ausgebracht. Das ist schon ne ordentliche Portion Wasser. Insbesondere sind das dann mehr als die 8mm, welche ich vorgegeben habe.
So ganz klar ist mir die Berechnung noch nicht.
Ansonsten ist das ein affengeiler Adapter!!! Schon lange nicht mehr so was pragmatisches und nützliches gesehen! Großes Lob und vielen Dank für deine Mühe, insb. zu den physikalischen Formeln.
-
@saschas
Hallo,Habe ich bei mir aber auch schon extra durch "Maximaler Parallelbetrieb der Ventile = 1 " vorgegeben.
Der Adapter ist aber auch für kräftigere Pumpen entwickelt. Bei mir laufen z.B. bis zu 3 Kreise Parallel
Diese Zeichnung sollte alles erklären! Alle grau eingekreiste Werte stammen aus deiner Konfiguration und mit diesen kann man alles erklären und berechnen.
MfG Dirk Peter -
@dirk-peter Herzlichen Dank für dein Diagramm. Kleine Rückfragen habe ich noch.
Entsprechend die Parameter
immer
Bewässerungszeit in min = 50 % acutalSoilMoisture auf der (Y-Achse deiner Grafik)
Maximale Bewässerungsverlängerung in % = 0 % acutalSoilMoisture auf der (Y-Achse deiner Grafik)Wenn dem so ist, dann hätte ich verstanden, dass ich die zwei Parameter
- Maximale Bewässerungsverlängerung in %
- maximale Bodenfeuchtigkeit nach der Bewässerung in (mm)),
habe, welche mir die Steigung (dunkelblaue Linie) festlegen.
So ganz macht meine Annahme keinen Sinn.
Gedankenexperiment:
Wenn ich meinen Einstellungen Maximale Bewässerungsverlängerung in % = 100% (also keine Verlängerung erlaubt) setze, würde ich dann folgendes Bild erhalten? Meine Annahme habe ich mit rot eingetragen. -> Steigung wird steiler.
Oder unter der Annahme, dass Bewässerungszeit in min = 50 % acutalSoilMoisture auf der (Y-Achse deiner Grafik) gilt, sich zunächst das gleiche Bild ergibt mit Schnittpunkt (120,0), aber lediglich 60 Minuten bewässert wird. Dann würde ich errechnen, dass ich nach 60 Minuten Bewässerung bei acutalSoilMoisture = 63,44 % (=13,6 + 49,84) lande.
Herleitung: (100% - 13,6%) = 86,4%. => 86,4% in 140 Minuten => 0,83076% Pro Minute => In 60 Minuten 49,84% -
@saschas Hallo,
falsche Annahme! Die Gerade bleibt die gleiche, da ja immer noch runningTime = 60 min (≙ max. Bodenfeuchtigkeit = 8 mm) und Einschaltpunkt = 50 %. Die Bewässerungszeit wird nur auf 100 % begrenzt und der Bewässerungskreis fährt mit der braunen Gerade zurück auf 100 %.
MfG Dirk Peter -
ich habe eine frage zur pumpensteuerung:
meine "hauptpumpe" ist die in der Zisterne...
sehe ich es richtig, dass die hauptpumpe immer ausgeschaltet ist, wenn gerade keine bewässerung läuft?
Kann ich das auch verhindern? Hintergrund ist, dass ich auch Wassersteckdosen habe, auf denen immer druck anliegen soll (ohne ventile).
Müsste ich dann einfach die Angabe der Pumpe weglassen, oder wir löst man das?Danke
-
@dirk-peter Ich hab mit vielem gerechnet, aber das Bild ergibt in meinem Kopf am wenigsten Sinn. Sorry, dass ich da jetzt noch einmal nachfrage - ich will das unbedingt verstehen. Ich hoffe du kannst mir erneut helfen. Ich erkläre mich auch gerne bereit das anschließend Idiotensicher aufzuschreiben, dass wir das der Doku beifügen können.
Was mich an deinem letzten Bild irritiert ist die Aussage, dass man bei den 13,6% man innerhalb von 60 Minuten (braune Linie von dir) wieder bei den 100% (≙ max. Bodenfeuchtigkeit = 8 mm) ist. Wäre ich jetzt anstatt bei 13,6% bei 40% (rote durchgezogene Linie), dann folgt doch nach der gleichen Logik wieder, dass ich nach 60 Minuten (rote gestrichelte Linie) bei 100% (≙ max. Bodenfeuchtigkeit = 8 mm) bin.
Ich hätte erwartet, dass ich es aber doch von der runningTime einen Unterschied machen muss, ob ich bei 13,6% oder 40% (beides unterhalb des Schwellwertes von 50%) mit der Bewässerung beginne.Vielleicht hilft ein weiteres fiktives Beispiel:
Bewässerungszeit in min: 40
maximale Bewässerungsverlängerung in %: 300
Einschaltpunkt (Bodenfeuchtigkeit) des Bewässerungsventile in %: 60
maximale Bodenfeuchtigkeit nach der Bewässerung in (mm): 8Diese Größen kann ich in das Diagramm noch einzeichnen
Aber ab dann verstehe ich die Zusammenhänge nicht nicht mehr.
Nach deiner letzten Aussage, hatte ich jetzt verstanden, dass runningTime = 40 min (≙ max. Bodenfeuchtigkeit = 8 mm) und Einschaltpunkt = 60% maßgeblich für die Steigung sind.
Aus dem Bild würde ich dann schon einmal ablesen, dass der Bewässerungskreis niemals länger als 100 Minuten laufen muss um wieder auf 100% zu kommen?
Bei einer Feuchtigkeit im Boden von 20 % zum Start der Bewässerung würde ich dann eine runningTime von 80 Minuten erwarten?
-
@saschas Oh Sorry, da habe ich Mist erzählt!
Berechnung der Rücklauf Gerade:/** @type {number} */ newThread.soilMoisture15s = 15 * (myConfig.config[res.sprinkleID].soilMoisture.maxIrrigation - myConfig.config[res.sprinkleID].soilMoisture.triggersIrrigation) / (60 * myConfig.config[res.sprinkleID].wateringTime);
Da dies aber auf Dauer Quatsch ist und der Bewässerungskreis Täglich starten würde gibt es die Funktion Bodenfeuchtigkeit = 100% nach der Bewässerung, womit wir wieder bei 100% sind.
So das sollte es jetzt gewesen sein,
MfG Dirk Peter -
@dirk-peter Sowohl das Bildchen als auch die Funktion Bodenfeuchtigkeit = 100% nach der Bewässerung machen Sinn. Damit kann ich/man was anfangen. Ich schreibe das die Tage mal auf
Kannst du mir noch kurz beantworten, was in unserem Beispiel die Werte in der Formel wären:
maxIrrigation = 8mm
triggersIrrigation = 4mm
wateringTime = 60min-> soilMoisture15s = 15 * (8mm-4mm) / (60 * 60min) = 15 * 4 / 3600 mm/s = 60 / 3600 mm/15s
-> Alle 15 Sekunden steigt Bodenfeuchte um 0,016666667 mm.Das passt dann auch zu der Grafik: Anhand der Grafik (blaue Linie) errechne ich eine Steigung von (8-0) / 60* (120-0) = 8 / 7200 = 0,001111111 mm/s --> Also 0,016666667mm alle 15 Sekunden.
Yeah! Es macht einfach Spaß, wenn die Zahlen und Formeln aufgehen.
-
maxIrrigation = 8mm
maximale Bodenfeuchtigkeit nach der Bewässerung in (mm)
triggersIrrigation = 4mm
Einschaltpunkt (Bodenfeuchtigkeit) des Bewässerungsventils in % x maxIrrigation [8mm * 50% = 4mm]
wateringTime = 60min
Bewässerungszeit in min
MfG Dirk Peter
-
Hi,
ich habe 3 Ventile - davon habe ich Nr. 1 & 3 per option "autoOn" deaktiviert.
Dennoch startet die Bewässerung mit einem dieser Ventile (Bewässerung Garage:3.STATE).
Wo liegt das problem?{ "_id": "system.adapter.sprinklecontrol.0", "common": { "name": "sprinklecontrol", "version": "0.2.11", "title": "Sprinkle Control", "authors": [ "Dirk Peter <dirk.peter@freenet.de>" ], "keywords": [ "Sprinkle", "Irrigation", "Bewässerung", "Steuerung", "ioBroker" ], "docs": { "en": "docs/en/sprinklecontrol.md", "de": "docs/de/sprinklecontrol.md" }, "license": "MIT", "platform": "Javascript/Node.js", "main": "main.js", "icon": "sprinklecontrol.png", "enabled": true, "extIcon": "https://raw.githubusercontent.com/Dirk-Peter-md/ioBroker.sprinklecontrol/master/admin/sprinklecontrol.png", "readme": "https://github.com/Dirk-Peter-md/ioBroker.sprinklecontrol/blob/master/README.md", "loglevel": "info", "mode": "daemon", "type": "garden", "compact": true, "materialize": true, "messagebox": true, "stopBeforeUpdate": true, "connectionType": "local", "dataSource": "assumption", "dependencies": [ { "js-controller": ">=2.0.0" } ], "installedFrom": "iobroker.sprinklecontrol@0.2.11", "installedVersion": "0.2.11", "host": "iobroker" }, "native": { "triggerControlVoltage": "", "maximumParallelValves": 1, "switchingDistance": 500, "triggerMainPump": "hm-rpc.1.SEQ0343973.4.STATE", "triggerMainPumpPower": 750, "cisternSettings": false, "triggerCisternPump": "", "triggerCisternPumpPower": 1800, "actualValueLevel": "30", "triggerMinCisternLevel": 25, "wateringStartTime": "livingTime", "timeShift": 0, "weekLiving": "21:10", "publicWeekend": true, "weekEndLiving": "23:00", "publicHolidays": true, "publicHolInstance": "feiertage.0", "latitude": "50.22116135719122", "longitude": "8.683589310246877", "notificationEnabled": false, "sensorOutsideTemperature": "", "sensorOutsideHumidity": "", "sensorWindSpeed": "", "sensorBrightness": "", "sensorRainfall": "", "weatherForecast": false, "weatherForInstance": "", "thresholdRain": 2, "notificationsType": "Telegram", "telegramInstance": "", "telegramUser": null, "telegramNoticeType": "longTelegramNotice", "telegramWaitToSend": 0, "telegramSilentNotice": false, "telegramOnlyError": false, "whatsappInstance": "", "whatsappNoticeType": "longWhatsappNotice", "whatsappWaitToSend": 0, "whatsappOnlyError": false, "pushoverInstance": "", "pushoverNoticeType": "longPushoverNotice", "pushoverWaitToSend": 0, "pushoverDeviceID": "", "pushoverSound": "", "pushoverSilentNotice": false, "pushoverOnlyError": false, "emailReceiver": "xxx@xxx.com", "emailSender": "xxx@xxx.com", "emailInstance": "", "emailNoticeType": "longEmailNotice", "emailWaitToSend": 0, "emailOnlyError": false, "events": [ { "enabled": true, "sprinkleName": "Bewässerung Garage:1.STATE", "name": "hm-rpc.1.SEQ0343973.1.STATE", "triggerID": "", "wateringTime": "20", "wateringAdd": "130", "wateringInterval": "0", "maxSoilMoistureIrrigation": "8", "maxSoilMoistureRainPct": "120", "triggersIrrigation": "50", "pipeFlow": "1100", "booster": false, "endIrrigation": true, "methodControlSM": "fixDay", "inGreenhouse": false, "triggerSM": "", "analogZPct": "0", "analogOHPct": "100", "startDay": "fixDay", "sun": true, "mon": true, "tue": true, "wed": true, "thur": true, "fri": true, "sat": true }, { "enabled": true, "sprinkleName": "Rasen", "name": "hm-rpc.1.SEQ0343973.2.STATE", "triggerID": "", "wateringTime": "50", "wateringAdd": "130", "wateringInterval": "0", "maxSoilMoistureIrrigation": "8", "maxSoilMoistureRainPct": "120", "triggersIrrigation": "50", "pipeFlow": "370", "booster": false, "endIrrigation": false, "methodControlSM": "fixDay", "inGreenhouse": false, "triggerSM": "", "analogZPct": "0", "analogOHPct": "100", "startDay": "fixDay", "sun": true, "mon": true, "tue": true, "wed": true, "thur": true, "fri": true, "sat": true }, { "enabled": true, "sprinkleName": "Bewässerung Garage:3.STATE", "name": "hm-rpc.1.SEQ0343973.3.STATE", "triggerID": "", "wateringTime": "20", "wateringAdd": "130", "wateringInterval": "0", "maxSoilMoistureIrrigation": "8", "maxSoilMoistureRainPct": "120", "triggersIrrigation": "50", "pipeFlow": "700", "booster": false, "endIrrigation": true, "methodControlSM": "fixDay", "inGreenhouse": false, "triggerSM": "", "analogZPct": "0", "analogOHPct": "100", "startDay": "fixDay", "sun": true, "mon": true, "tue": true, "wed": true, "thur": true, "fri": true, "sat": true } ] } }
-
@gyle
Hallo, das ist ein Fehler im Adapter! Wenn man die Konfiguration speichert, so wird autoOn nicht neu ausgelesen. Am besten du deaktivierst die Bewässerungskreise direkt in der Konfiguration. Ich ändere es in der nächsten Version.
Danke für die Info, Dirk Peter -
@dirk-peter super danke dir!
-
Hat man denn die Möglichkeit die einzelnen Sprinkler zu resetten?
Bin ja noch am Experimentieren. Wenn ich acutalSoilMoisture im Expertenmodus schreibe, dann wird bei der nächsten Berechnung wieder der alte Wert errechnet. Ich würde gerne gezielt den acutalSoilMoisture vorgeben können. -
@saschas adapter stoppen, wert ändern und wieder starten
-
@dirk-peter
Hallo,ich habe das ganze entsprechend deiner Anleitung umgestellt.
Funktioniert soweit super bis auf ein kleines Problem.Bei jedem Regen Tag wird der Tages Unterschied wieder überschrieben und laufen wieder parallel.
Hast du hierfür noch einen Tipp für mich, wie ich das manuelle Umstellen umgehen kann?
MfG
Paul -
@dirkhe dann war das wohl mein Fehler, dass ich den Adapter zuvor nicht gestoppt habe. Werde ich direkt mal probieren.
Edit: Funktioniert! Danke
-
@zeptran
Hallo,
lad dir mal die Version von GitHub zum Testen herunter. Hier ist ein Taster zum weiterschalten der Tage integriert und bei Regen sollten jetzt alle Kreise verschoben werden und nicht nur der aktive. Die Verschiebung der Kreise sollte also bestehen bleiben!
Das Laden von GitHub kann unter npm 6 bis zu 30 min dauern!
MfG Dirk Peter -
@dirk-peter hast du schon eine Idee, wann du den fehler beheben willst?
-
@gyle
Auf GitHub ist er schon behoben. Ich veröffentliche die Adapter nach dem ich sie auf adapter-check.iobroker.in getestet habe. Dieser funktioniert aber momentan nicht. Eine issue habe ich schon eröffnet, aber keine Antwort bis jetzt erhalten.
MfG Dirk Peter