NEWS
[Vorlage] Gartenbewässerung mit 6 Ventilen
-
Der Teil deiner Anleitung verwirrt mich etwas, da ich das bisher nie machen musste...
*Folgendes DPs müssen mindestens angepasst werden
javascript.0.bewaesserung.ventile.ventil_1.ventil_1
auf true: Damit wird Ventil 1 für die Bewäserung berücksichtig
javascript.0.bewaesserung.ventile.ventil_1.ventil_1_dauer
in Seek*
-
@benziman die Anleitung ist für die Leute gedacht, die das Skript ohne VIS in Betrieb nehmen wollen.
Kannst du also komplett ignorieren und alles wie gewohnt per VIS einstellen -
Funktioniert jetzt wieder ,allrdings musste ich den Wochentag wieder manuell setzen da alle Wochentage gelbn markiert waren.
Bewässerung wollte trotzdem nicht starten, ich warte mal bis morgen.Nochmal zum Thema VIS am Handy über Kioskbrowser:
ich hatte Im Juni berichtet, dass ich die Bewässerung endlich pausieren kann ohne das die Regner nach 1 Sekunde wieder weiter machen. (hatte dann ein Backup in Proxmox erstellt). Musste das Backup dann im August wiederherstellen und plötzlich ist der alte Fehler wieder da... kann mir das überhaupt nicht erklären, ist halt blöd wenn die Bewässerung läuft und man kurz pausieren möchte nur damit dann die VIS am Handy spinnt. Ich kann die Bewässerung nicht mal über den Manuell Schalter starten am Handy, geht sofort wieder aus. Wenn sie dann nach 10 mal antippen doch läuft bekomme ich sie nicht wieder abgestellt außer am PC. Geht das mittlerweile bei dir stabil?
VG
-
@benziman werde ich nochmal prüfen, da ich die komplette VIS demnächst aktualisiere.
Ich stelle gerade bei mir alle Objekte von Javascript.0 auf 0_userdata.0 um und das betrifft dann natürlich auch die Bewässerung und die VIS
-
cool, alles klar dann bin ich mal gespannt
-
@martybr ich habe mir mal ein paar Gedanken bzgl. der Bodenfeuchtesensoren gemacht.
Man müsste für jedes Ventil / Sektor einen Bodenfeuchtesensensor angeben. Dabei können Werte wie true / false oder explizite Zahlenwerte verarbeitet werden.
Die Verarbeitung würde ich in einem neuem Block machen.
Als Trigger nehme ich alle 6 Sensoren. Ändert sich der Status eines Sensors, wird immer die Bewässerung angepasst.
Beispiel:
Der Sensor für Ventil 2 meldet, dass der Boden feucht genug ist.
Der neue Block löst aus und prüft ob der Sensor-Wert true / false ist oder über X % ist.
Dann wird Ventil 2 deaktiviert, bis der Sensor Trockenheit meldet.Problem bei diesem Vorgehen ist dann allerdings, dass man keine Möglichkeit hat, einen Sektor / ein Ventil temp. zu deaktivieren, da das Ventil jederzeit durch den Bodenfeuchtesensor wieder aktiviert werden könnte.
Wenn du eine bessere Idee zur Integration hast, immer her damit.
Eine Prüfung direkt vorm Anschalten des Ventils wäre möglich, aber dann würde es mit der Laufzeit nicht passen.
Im eben genannten Beispiel wird Ventil 2 nicht aktiviert und für die eingestellte Laufzeit von Ventil X passiert nichts.
Da wäre es besser, wenn dann direkt das nächste Ventil eingeschaltet wird. -
@kuddel
Aus meiner bisherigen Erfahrung würde ich das System so konfigurieren, dass VOR einen Start der Bewässerung, z.B. Festeingestellte Zeit Morgens 6:00 Uhr, der Bodenfeuchtemelder geprüft wird. Wenn der Wert des Sensors kleiner Triggerwert, dann die Bewässerung starten.
Nun kann es sein, dass mehrere Bodenfeuchtemelder, vielleicht pro Kreis einen, vorhanden sind. Auch hier ist es sinnvoll, dass die Messwerte der Bodenfeuchtemelder zum Zeitpunkt des Starts zwischengespeichert wird. Es kann ja passieren, dass ein Bodenfeuchtemelder von einem benachbarten Bewässerungskreis getroffen wird und damit die Werte nicht mehr passen. -
@martybr ich würde sagen, dass ich das Ganze schrittweise einbaue.
Ersteinmal mit nur einem Sensor, wo dann die gleiche Logik greift wie beim Wetter.
Wenn trocken, dann bewässern
-
@kuddel
das klingt gut. Ich bilde aktuell einen Mittelwert über zwei Bodenfeuchtesensoren. Das passt dann. -
Bei dem Script V3.2.1 wird jetzt bei mehreren Pushover Instanzen jede Instanz benutzt.
Beispiel: 4 Instanzen = 4 Nachrichten von jeder Instanz eine Nachricht -
-
-
HiHo,
hat evtl. jemand noch nen Tipp für mich. Ich nutze für den Niederschlag den Netatmo_Crawler Adapter.
Hier bekomme ich u.a. die Werte "Niederschlag Gestern" und "heute".Ansonsten habe ich bereits ein eigens Blockly das die Bewässerung steuert.
Wie kann ich z.B. realisieren, das meine Beregnung nur startet, wenn der Niederschlag der letzten drei Tage weniger als x mm war.
Meine Idee wäre z.B. vier Datenpunkte anzulegen drei davon rollierend mit dem Niederschlag aus Netatmo zu befüllen. Der vierte für eine tägliche Addition.
Dann könnte ich im Bewässerungscript aussetzen wenn dieser Wert entsprechend hoch ist.
Das müsste aber doch auch eleganter gehen.
-
@siko ich habe es im Skript so gelöst:
Es gibt einen DP Schwellwerte_ok.
Dafür werden alle Werte für Regen und Temp auf die defninierten Schwellwerte geprüft und dann wird der o.g. DP auf true oder false gesetzt.
Wenn der DP true ist, startet die Bewässerung. Bei False gibt es eine Info bzgl. der Schwellwerte.
-
Danke @kuddel
ich nutze nicht die Vorlage aus dem topic, hab meine Bewässerung nur daran "angelehnt" Daher habe ich dazu noch keine DP.
-
@kuddel said in [Vorlage] Gartenbewässerung mit 6 Ventilen:
@chris_71 habe so eben Version 3.2.2 hochgeladen.
Bitte bei Gelegenheit mal testen.
Danke
@Kuddel
Funktioniert, es wurde nur die gewählte Instanz zum senden der Nachricht genommen -
Ich habe soeben Version 4.0.0 hochgeladen.
Die Änderungen habe ich Changelog hinterlegt.
Vielen Dank an @dslraser für die Hilfe mit den DPs.
-
Hab seit langem wieder mal das Script aktualisiert (von 2.10.5 auf 4.0.0)
Das alte hat den ganzen Sommer problemlos seinen Dienst verrichtet.Ich hab die alte Version gestoppt, die neue Version in ein neues Blockly importiert, die Variablen vom alten Script übernommen und das Script gestartet.
Wenn ich bei Steuerung auf An/Aus klicke, fängt das erste Ventil zwar mit einer leichten Verzögerung (ca. 2-3 Sekunden) normal an zu bewässern.
Wenn ich nochmal auf An/Aus klicke stoppt das Ganze wieder.Soweit so gut.
Möchte ich aber ein Ventil manuell über den entsprechenden Button per vis starten, so tut sich nix...
Im Log erscheint folgende Meldung:
web.0
2021-09-14 18:47:41.152 warn Read-only state "javascript.0.bewaesserung.ventile.ventil_1.ventil_1_status" has been written without ack-flag with value "false"web.0 2021-09-14 18:47:40.152 warn Read-only state "javascript.0.bewaesserung.ventile.ventil_1.ventil_1_status" has been written without ack-flag with value "false" web.0 2021-09-14 18:47:37.152 warn Read-only state "javascript.0.bewaesserung.ventile.ventil_1.ventil_1_status" has been written without ack-flag with value "true" web.0 2021-09-14 18:47:36.136 warn Read-only state "javascript.0.bewaesserung.ventile.ventil_1.ventil_1_status" has been written without ack-flag with value "true"
Hast du eine Idee wo das Problem liegen könnte ?
-
@qlink dein geschildertes Problem ist quasi so gewollt.
Aktuell habe ich es in der VIS noch nicht berücksichtigt einzelne Ventile darüber zu starten, da dann ja auch die Laufzeit etc. starten muss.
Habe ich noch auf dem Zettel.
Wenn man aktuel ein einzelnes Ventil starten will, muss man den Workaorund nehmen und alle anderen Ventile deaktivieren und dann die Bewässerung starten.
-
@Kuddel erstmal vielen Dank was du so alles für die Community bereitstellst!
Ich habe dein Bewässerungsscript 4.0.0 und die VIS dazu importiert und in Betrieb genommen. Funktioniert soweit alles.
Nun habe ich ein spezielles Problem welches nach meinem Wissen in den über 800 Beiträgen in der Form glaube ich noch nicht diskutiert wurde. Ich habe einen etwas schwachen Brunnen bzw. eine zu starke Pumpe. Bei mir ist es bisher nur möglich mit einem Intervall zu arbeiten (z.B. 6min an und 6min aus) damit die Pumpe nicht trocken läuft. Ich habe auch schon mit einer Füllstandsregelung rum gespielt aber die lief mir nicht zuverlässig genug. Nun möchte ich deine Steuerung gerne mit diesem Intervall individuell für meine 4 Ventile nutzen (ist unterschiedlich je nach Durchflussmenge). Deine Intervallfunktion habe ich schon entdeckt aber die passt nicht wirklich auf meine Anwendung. Ich möchte dies ja nicht generell bei einer bestimmten Zeit machen sondern immer.
Hast du eine Idee wie ich dein Script einfach umbauen könnte damit ich diesen individuellen Intervall in die Automatik rein bekomme?Vielen Dank im Voraus!
Gruß, Andibacke