NEWS
Test Adapter Sprinkle Control 0.2.x mit neuen Funktionen
-
@dirk-peter
Ich habe angenommen das der Wert für Pumpenleistung und Zisternenhöhenstand ausreichen.
Da ich nur eine Zisternenpumpe habe, die über einen Druckschalter eingeschaltet wird, kann ich keine anderen Werte zuweisen.Aufgrund behördlicher Bestimmungen darf das Zisternenwasser nicht direkt mit der externen Wasserversorgung verbunden werden. Es können wegen Undichtigkeiten Keime in das Trinkwasser gelangen.
Bei mir wird bei einem Höhenstand von unter 3 % über ein Relais die Nachspeisung ein und die Pumpe ausgeschaltet bis wieder genügend Höhenstand vorhanden ist. Der Zulauf erfolgt über eine "sichtbare Trennung". Also kein direkter Kontakt.
Wenn während der Bewässerung der Höhenstand unter 3 % fällt (Pumpenschutz) bekommt Sprinklecontrol das aber nicht mit und "denkt" die Bewässerung war erfolgreich.
Meine Idee war, das wenn der tatsächliche Höhenstand den Mindesthöhenstand (3%) unterschreitet, Sprinklecontrol "merkt" das die Bewässerung nicht stattgefunden haben kann und die Bewässerung nachholt.
Vielen Dank
mp24 -
@mp24
Hallo,
ich habe es zwar nicht getestet, aber es könnte vielleicht funktionieren!- deaktiviere in der Konfiguration die Zisterne und gebe dafür die Werte in der Hauptpumpe ein. (Die Pumpenleistung reicht hier aus)
- schreibe dir ein kleines Skript und schalte damit in Abhängigkeit des Füllstandes den Hauptschalter (sprinklecontrol.0.control.autoOnOff) von Sprinkle Control ein bzw. aus.
Wenn jetzt deine Zisterne leer ist, so wird Sprinkle Control deaktiviert und alle Bewässerungsvorgänge werden gestoppt.
Nach dem Befüllen der Zisterne, wenn Sprinkle Control durch dein Skript wieder aktiviert wurde, wird deine Bewässerung dann wieder gestartet. Aber leider erst zur nächsten Startzeit.MfG Dirk Peter
Für mich würde ich es in deinem Fall so regeln, das immer zum Startzeitpunkt genügend Wasser in der Zisterne ist. Das bedeutet, da ich 6m³ hab und zum Bewässern max. 2 m³ benötige würde ich den Wasserstand immer auf 2m³ halten und den Rest für Regenwasser als Reserve lassen. Aber ich habe zum Glück eine Grundwasserpumpe.
-
Hallo Dirk,
Erstmal Danke für den grandiosen Adapter.
Ich verwende für die Bewässerung lediglich einen Shelly 1 welcher ein Magnetventil anzusteuern. Funktioniert im Handbetrieb wunderbar. Wird in Zukunft bestimmt weiter ausgebaut.
Leider bekomme ich den Adapter jedoch nicht dazu mir den Shelly Switch zu triggern (boolean).
Einstellungen sind alle gemäß deiner Readme getroffen. Wetterstation ist eingestellt und der Switch des Shellys als Sprinkler hinterlegt. Ich erhalte auch jeden morgen eine Benachrichtigung über die entsprechende Bewässerungszeit. und die Datenpunkte scheinen alle richtig zu sein.Objekt-ID-Sprinkler - Switch vom Shelly
1100 Durchfluss l/h
Pumpe keine
Steuerspannung Ventil leer
Zeit goldene StundeWo mache ich einen Fehler?
RaspPi 4
sprinklecontrol v0.2.9
shelly Adapter v5.3.2
NODE.JS: V14.19.0
NPM: 6.14.16
Admin: v5.3.8 -
@bloop
Hallo,
ich denke du hast bei der Hauptpumpe einen Durchfluss angegeben der kleiner als 1100 l/h (dein Ventil) ist. Auch wenn du keine Hauptpumpe angeschlossen hast, so kommt ja auch Wasser mit einer Durchflussmenge aus deinem Wasserhahn. Daher muss auch hier ein Wert eingetragen werden, auch wenn keine Pumpe vorhanden ist.
Wenn es nicht daran liegen sollte, so zeig mir mal deine Konfiguration!
MfG Dirk Peter -
-
@bloop
Hallo, was steht bei dir in den Pumpeneinstellungen unter dem Hochbeet?
Diese Seite sieht so aus und der Wert muss kleiner gleich der Pumpenleistung sein.![Screenshot 2022-05-01 112416.jpg]Die gesamte Konfiguration kannst du hier herunterladen und mir dann schicken.
MfG Dirk Peter -
@dirk-peter
Hallo,
Habe den gleichen Wert bei Pumpe und Hochbeet eingetragen.
Kann es eventuell am Wetteradapter liegen? -
@bloop
Hallo,
habe die Konfiguration bei mir geladen und Adapter läuft. Er startet auch automatisch.
Ich kann dir da leider nicht weiterhelfen!
Am besten SprinkleControl deinstallieren. Dann neu installieren (Version 0.2.9) und die Konfiguration die du mir geschickt hast wieder aufspielen. Eigentlich muss es dann laufen. Was den Shelly betrifft so kann ich dies nicht testen, da ich mit HomeMatic arbeite.
MfG Dirk Peter -
@dirk-peter
Hallo,
Ich habe jetzt nochmals den gesamten Adapter neu installiert und versucht unterschiedliche States (hmIP, Variable, usw.) zu triggern. Ohne Erfolg... Selbst beim Slave Host triggert er mir nicht.
Im Log ist leider nicht sonderlich viel geschrieben, lässt sich das sonst noch wo herausfinden?
Werde einfach weiter probieren. Vielleicht komme ich ja noch drauf.
Trotzdem Danke! -
@bloop
Schalte unter Instanzen auf Expertenmodus (Kopf oben) und dann unter SprinkleControl auf info/debug.
Dann wird unter Protokolle mehr angezeigt.
MfG Dirk Peter -
Hallo zusammen,
danke für den tollen Adapter. Allerdings habe ich noch Startschwierigkeiten.
- Zunächst mal ein Bug bzgl. des Messagings per QhatsApp. Ich erhalte folgende Fehlermeldung, die ich nicht ganz verstehe, da der Text ja eigentlich nur an das Objekt in iobroker gesendet werden muss (funktioniert bei eignenem blocklyskripten oder anderen adaptern problemlos).
- Leider startet auch keines der Ventile. Ich hatte bisher nur einen Durchflusswert bei der Zisternenpumpe angegeben, da diese auch meine Hauptpumpe ist. Der Wert liegt auch über den Werten der Einzelkreise. In den folgenden Bildern habe ich jetzt auch zu Testzwecken bei der Hauptpumpe einen Wert eingetragen (sehe ich dann morgen ob das was gebracht hat).
Ich steuere einen Teil der Ventile über einen KNX Aktor, einen anderen über Sonoff Objekte (Tasmota auf einem ESP32). Ich kann das 24V Netzteil und die Tauchpumpe schalten. Wobei das Schalten der Tauchpumpe nicht notwendig ist, diese ist Druckgesteuert (nur nötig, falls sie wegen Trockenlauf abschaltet, dann muss man sie vom Netz nehmen können).
Die Berechnung der Verdunstung scheint auch zu funktionieren (Wetterstation über KNX Hausbus und Werte von Lüftungsanlage, die z.B. die Luftfeuchtigkeit misst). Einen Niederschlagssensor habe ich leider nicht (Wetterstation sagt nur ob es regnet oder nicht).
Danke schon mal für jeden Hinweis.
Viele Grüße
Christian -
@cg28
Hallo,
den Fehler mit "WhatsApp CallMeBot" kann ich bestätigen. Es scheint ein Fehler zu sein der mit der Formatierung zu tun hat. Werde versuchen es mit dem nächsten Update zu beheben.
Die Ausgänge werden bei mir mit true/false geschalten. Sollten deine Aktoren ein anderes Signal benötigen, so kannst du es mit JavaScript oder Blockly anpassen.
Wenn du mir deine Konfiguration zukommen lässt, so kann ich mal schauen, ob die Einstellungen korrekt sind.
Das schalten der Pumpe und der 24V dienen nur zur Sicherheit. Wenn du diese Sicherheit nicht brauchst können die Felder für die Aktoren leer gelassen werden.
MfG Dirk Peter -
@dirk-peter danke für deine Antwort!
Das Setzen eines Durchflussmengenwertes bei der Hauptpumpe hat das Problem der Nichtaktivierung der Ventile wohl gelöst. War für mich allerdings nicht intuitiv, da ich einen Haken bei "Zisterne als Prioritätspumpe nutzen" gesetzt hatte. Trotzdem scheint er sich an dem Wert der Hauptpumpe aufgehangen zu haben.
Ich denke auch das Szenario einer Hauptpumpe und einer Zisternenpumpe als Nebenpumpe entspricht nicht der geläufigsten Umsetzung? Ich mag hier auch falsch liegen. Viele haben sicher auch eine Zisternenpumpe als einzige Pumpe und damit auch als Hauptpumpe. Wenn die Zisterne leer läuft, wird im Normalfall ein Ventil geschaltet, welches Frischwasser in die Zisterne laufen lässt (Entkopplung Trinkwasserkreis von Brauchwasserkreis).
Gestern habe ich tatsächlich eine Whatsapp bekommen, aber heute Morgen nicht mehr. Scheint also sporadisch zu funktionieren.
Heute hatte ich leider ein ganz anderes (neues) Problem. Ein Ventil ist offen geblieben und hat fröhlich weiter bewässert:
2022-05-07 06:19:04.152 - [34mdebug[39m: sprinklecontrol.0 (29973) state sprinklecontrol.0.sprinkle.KG_-_Sprenkler_Nordseite_(Mauer/Terrasse).runningTime changed: 0 (ack = true) 2022-05-07 06:19:04.175 - [34mdebug[39m: sprinklecontrol.0 (29973) state sprinklecontrol.0.control.parallelOfMax changed: 0 : 3 (ack = true) 2022-05-07 06:19:04.179 - [34mdebug[39m: sprinklecontrol.0 (29973) state sprinklecontrol.0.control.restFlow changed: 1200 (1200 Grundwasser) (ack = true) 2022-05-07 06:19:04.233 - [32minfo[39m: sprinklecontrol.0 (29973) Set (calculation) ID: KG_-_Sprenkler_Nordseite_(Mauer/Terrasse), value: false 2022-05-07 06:19:04.634 - [32minfo[39m: sprinklecontrol.0 (29973) Set (voltage) off 2022-05-07 06:19:05.133 - [34mdebug[39m: sprinklecontrol.0 (29973) delList=> order deleted ID: KG_-_Sprenkler_Nordseite_(Mauer/Terrasse) ( rest orders: 0 ) 2022-05-07 06:19:09.389 - [32minfo[39m: sonoff.0 (29306) Client [Hauptwasser_Relais] reconnected. Old secret 1651868411506_2333. New secret 1651897149385_3534
So wie ich das sehe hat dein Adapter den Befehl zum Schließen korrekt gesendet? Allerdings wird der Wert am Ventil 3 Sekunden später wieder auf "true" gesetzt:
Fällt aber auch mit einem ungeplanten restart des ESP32 auf dem Tasmota läuft zusammen. Jetzt ergeben sich zwei Fragen:
- prüft dein Adapter ob der Wert auch erfolgreich gesetzt wurde? Wartet also auf eine Rückmeldung, dass der Wert gesetzt ist?
- (hat dann nichts mit deinem Adapter zu tun) Setzt Tasmota nach einem Neustart die Werte auf möglicherweise vor dem Neustart im Speicher befindlicher Werte zurück.
Wobei letzteres eigentlich auch nicht sein kann, wenn dein Adapter eine Rückmeldung erhalten und geprüft hat, dass der Wert erfolgreich gesetzt wurde.
Viele Grüße,
Christian -
@cg28
Hallo Christian,
SprinkleControl hatte ich geschrieben um ein wenig JavaScript zu lernen und um meine Bewässerung leicht erweitern und an meine Wünsche anzupassen. Da ich bei meinem Hausbau sehr günstig zu einem Brunnen kam und die Zisterne als Regenwasserspeicher dient um keine Abgaben fürs Regenwasser zu zahlen. Ist diese Konstellation so in meinem Kopf gewachsen, das ich mit der Zisterne bewässere (reicht im Sommer aber nur für 1 1/2 Wochen) und dann auf die Grundwasserpumpe umschalte.
Ich werde aber mal die Zisterne als Einzelpumpe auf meine To-Do-Liste schreiben. So das dann auch alle Ventile abgeschaltet werden wenn der minimale Wasserstand unterschritten wurde.
Das gleiche Phänomen mit WhatsApp hatte ich auch auf meinem Testsystem und zwar mit mehreren Stunden Verspätung. Ich bin dran und werde es veröffentlichen, so wie eine stabile Lösung da ist.Und nun zu deinen Fragen:
- Nein ich gebe nur den Befehl raus. Ich prüfe also nicht ob er wirklich geschaltet hat.
- Ich bin rein HomeMatic, habe daher leider keine Ahnung von Tasmota und all die anderen
Die Sicherheit des Abschaltens der Bewässerung gewährleiste ich
- abschalten des Ventils nach der Bewässerung
- abschalten der Steuerspannung nach Beendigung der Bewässerungsaufgaben
- abschalten der Bewässerungspumpe
- Zeitversetztes schalten (0.5s sind bei mir für HomeMatic ausreichend)
Ein zeitversetztes abfragen mit entsprechender Fehlermeldung über Telegramm, WhatsApp währe vielleicht auch noch ein Punkt für die To-Do-Liste.
Ich hoffe, ich konnte deine Fragen so weit beantworten. Zumindest wurde die To-Do-Liste wieder etwas gefüllt
MfG Dirk Peter -
@dirk-peter Danke Dir für die Aufnahme der Themen. Wäre natürlich wirklich ein nettes feature, wenn der Adapter eine Rückantwort prüfen könnte und im Fehlerfall z.B. den Befehl nochmal verschickt bevor er dann eine Warnung schmeißt. Ich weiß allerdings nicht ob es in jedem Fall (also ob Tasmota, knx, homee oder was auch immer) eine Rückmeldung gibt, das würde es dann leider unmöglich machen, da man nie alle Fälle kennt. Falls Objekte in iobroker allerdings irgendeinem Standard unterliegen und immer eine "bestätigt" flag erhalten, wäre es möglich.
Den ungeplanten restart meines ESP32 konnte ich übrigens fixen, es war also nicht dein Adapter, der meinen Microcontroller zum Neustart gebracht hat (dachte erst, es könnte ein Speicherthema sein).
Jetzt habe ich gleich noch eine Frage: Aufgrund einer ungünstigen manuellen Handhabe der Beregnung, waren die gesetzten Feuchtigkeitsprozentwerte sehr heterogen (manche Kreise noch auf 90% andere bereits unter 50%). Ich wollte dann alle manuell auf 100% setzen, damit alle wieder im Gleichtakt laufen, aber das ging nicht, weil er die Prozente einfach wieder bei der nächsten Berechnung/Aktualisierung überschreibt. Gibt es eine einfach Möglichkeit die Werte zu resetten?
Und gibt es eine Möglichkeit eine Einmalbewässerung zu starten (also alle Kreise wie programmiert mit den entsprechenden Zeiten nacheinander abfahren lassen)?
Für Letzteres kann ich natürlich auch ein Skript schreiben, welches die Objekte "runningTime" mit den für jeden Kreis hinterlegten Laufzeiten überschreibt (sind die hinterlegten Laufzeiten eigentlich als Objekt irgendwo abrufbar? Habe nur "lastRunningTime" gefunden, aber da steht ja nicht zwangsweise der Soll-Wert drin, der in der Konfig hinterlegt ist)
Danke und viele Grüße
Christian -
@cg28
Hallo Christian,
bezüglich deiner Fragen!
Gibt es eine einfach Möglichkeit die Werte zu resetten? - ja) Adapter stoppen => Feuchtigkeitsprozentwert ändern => Adapter starten
Gibt es eine Möglichkeit einer Einmalbewässerung? - nein) nur manuelles nachwässern über runningTime
Sind die hinterlegten Laufzeiten eigentlich als Objekt irgendwo abrufbar? - nein, diese stammen direkt aus der Konfiguration
MfG Dirk Peter
P.S. WhatsApp kommt am Wochenende in 0.2.10, wenn keine Fehler mehr auftreten. Bis jetzt sieht es gut aus. -
@dirk-peter said in Test Adapter Sprinkle Control 0.2.x mit neuen Funktionen:
P.S. WhatsApp kommt am Wochenende in 0.2.10, wenn keine Fehler mehr auftreten. Bis jetzt sieht es gut aus.
Super, finde den "Newsletter" nämlich echt sinnvoll.
Noch eine Frage, heute Morgen hat es mich überrascht, dass die actualSoilMoisture Werte über 100% gegangen sind, das heißt er addiert die geregneten mm einfach auf die rest mm drauf und wenn die Summe größer als der bei den Beregnern angegebene Wert für "nach Bewässerung" in mm ist, dann geht er auch über 100% aber nur bis maximal zu dem mm-Wert der bei "nach Regen" angegeben ist korrekt?
Kann es zudem sein, dass ETpToday negativ wird wenn es geregnet hat? Und wenn ja, kann es sein, dass ETpToday vom Betrag her größer ist als die tatsächlich geregneten mm an diesem Tag?
in meinem Fall hat es 1,6 mm geregnet, aber der ETpToday zieht fast 3,5 mm ab.
EDIT: Sorry, habe eben gecheckt, dass das Objekt rainToday die von deinem Adapter eingelesenen Daten der Wettervorhersage sind und NICHT der Wetterstation. Diese hat bei mir tatsächlich 5,6 mm gemessen heute, dann könnte es passen, da der Betrag größer ist als der Moisturewert. (Ist etwas verwirrend, dass rainToday von der Wettervorhersage stammt, wenn man auch ein Objekt für den realen MEsswert angegeben hat)
Kann an dieser Stelle den Netatmo Crawler Adapter empfehlen. Bei mir gabs drei Wetterstationen in der direkten Nachbarschaft, die den Niedersclag in mm messen (und noch viel mehr). Wenn man dann will, kann man sogar Mittelwerte bilden usw.
Viele Grüße,
Christian -
@cg28 sagte in Test Adapter Sprinkle Control 0.2.x mit neuen Funktionen:
Hallo,Noch eine Frage, heute Morgen hat es mich überrascht, dass die actualSoilMoisture Werte über 100% gegangen sind, das heißt er addiert die geregneten mm einfach auf die rest mm drauf und wenn die Summe größer als der bei den Beregnern angegebene Wert für "nach Bewässerung" in mm ist, dann geht er auch über 100% aber nur bis maximal zu dem mm-Wert der bei "nach Regen" angegeben ist korrekt?
Ja, das ist korrekt. Ich habe damals die 100% auf die Bodenfeuchtigkeit angesetzt, die für die Blumen am angenehmsten ist. Erschien mir einfach logischer und übersichtlicher.
Ansonsten liegst du vollkommen richtig mit deinem EDIT.
Die Vorhersage dient ja auch nur zur Unterdrückung der Beregnung, falls es Regnen sollte.
MfG Dirk Peter -
@dirk-peter sagte in Test Adapter Sprinkle Control 0.2.x mit neuen Funktionen:
Gibt es eine einfach Möglichkeit die Werte zu resetten? - ja) Adapter stoppen => Feuchtigkeitsprozentwert ändern => Adapter starten
Hallo Dirk,
v0.2.9
Ich habe eben versuch den Wert actualSoilMoisture Manuel wie beschrieben auf 100 zu setzten. Sobald der Adapter neu gestartet wird der Wert actualSoilMoisture auf 50 zurückgesetzt. Gibt es noch eine Möglichkeit Manuel den Wert auf 100 zu setzten?Gruß Thomas
-
@fuchsbau
iobroker-test2.mp4
MfG Dirk Peter