Ich mache das jetzt mal über die Logik mit einer Treppenlicht Funktion. Da wird die maximale Zeit eingestellt die das Ventil geöffnet sein darf. Z.B 15 Minuten. Dann schaltet das Ventil auf jeden Fall ab falls die Steuerung versagen sollte.
Die Logik wird über Homeassistant gesteuert.
Ankündigung
Einklappen
Keine Ankündigung bisher.
[Smart-MF] GardenControl Bewässerungsautomat
Einklappen
Dieses Thema ist geschlossen.
X
X
-
Wenn wirklich irgendwann einmal die komplette Logik ins Gerät wandern soll, dann müsste man auch berücksichtigen, dass vor den Magnetventilen meist noch ein Motor-Ventil sitzt, das dann auch entsprechend angesteuert werden soll. Ich halte es trotzdem für fraglich, ob mit so einer Gesamtlösung dann auch wirklich die Wünsche aller erfüllt sind, oder ob nicht doch wieder Gründe dafür bleiben, die Logik getrennt (und damit möglicherweise flexibler) zu realisieren.
Dabei denke ich jetzt gar nicht an die Frage, ob ich die Zeiten in Minuten oder in Stunden definieren möchte, sondern eher daran, welche Parameter in welcher Form berücksichtigt werden sollen (Regenmenge, Bodenfeuchtigkeit, Wetter, Wettervorschau, Jahreszeit, ...)
Mein ursprünglicher Wunsch war einmal, zumindest für jedes Ventil einen simplen Timer zu haben, der es erlaubt, jedes Ventil für eine jeweils definierbare Zeit zu öffnen und danach selbsttätig wieder zu schließen. Aber selbst dafür wäre es notwendig, das zusätzliche Motorventil zu berücksichtigen, sodass die Lösung ja doch wieder über Logik-Modul und Zustands-Automat laufen wird.
Einen Kommentar schreiben:
-
Deswegen heißt der Beregnungscomputer auch nicht Beregnungscomputer, sondern einfach nur GardenControl
Im Moment kann der GardenControl genau das was du sagst, er sammelt Daten und schaltet Ausgänge.
Allein das umzusetzen hat mich jetzt >2Jahre gekostet
Natürlich bekommt man das alles schon in der KNX-Welt, aber dann bin ich ja arm und der Verteiler braucht >12TE
Die Kiste könnte das alles, man müsste es nur in die Firmware packen.
—> Freiwillige vor !!!
wobei man ehrlich sein muss, wenn man parallel auch noch die LogikKanäle nutzt kann man schon echt viel umsetzen. Aber dafür muss man sich halt ein paar Stunden hinsetzen. In 5min wird das alles nicht gemacht sein. Finde ich auch nicht gut, aber gerade ist es einfach so. Vielleicht passiert über den Winter hier was. Es gibt schon ein paar Ideen, aber dazu werde ich hier nichts sagen, da ich nicht weiß, ob ich jemals Zeit dafür finden werde.
Dazu habe ich auch gelesen das regelmäßige Bewässerung des Rasens gar nicht so gut sein soll für die Wurzeln, da sie dadurch nicht gestärkt werden für Hitzewellen die immer mehr kommen. Also lieber weniger und länger wässern als jeden Tag kurz.
Daher Bewässerungszeiten Minuten genau zu bestimmen, halte ich eh für nicht notwendig.
Aber das darf jeder selber bestimmen
Zuletzt geändert von Masifi; 11.08.2025, 22:12.
- Likes 1
Einen Kommentar schreiben:
-
Zum Hintergrund: Die Zustandsautomaten sind ein universell nutzbares OpenKNX-Modul, das vollkommen unabhängig von vom Bewässerungsautomaten entwickelt und zunächst nur als Bestandteil der StateEngine bereitgestellt wurde. Weil es aus Sicht von Nutzern gut zum Anwendungsfall des Bewässerungsautomaten passt, wurde es entsprechend integriert, wie bereits zuvor Logik-Modul und Konfigurationstransfer. Zukünftige Erweiterungen dieser Module werden somit auch in Applikation und Firmware des Bewässerungsautomaten einfließen. Bedenke aber bitte auch, dass wir hier freie Software entwickeln und keine kommerzielle Auftragsentwicklung.Zitat von BadSmiley Beitrag anzeigenjeder einfache Beregnungscomputer kann die Dauer der Beregnung über eine App einstellen[...]Wenn ich das alles in einer externen Logik auslagern muss, erschließt sich mir den Sinn von diesem Gerät nicht.
Auch mit den aktuellen Implementierungstand hast Du bereits verschiedene Möglichkeiten die Dauer zu beeinflussen: Du kannst verschiedene Sequenzen definieren, Du kannst innerhalb eines Zustandsautomaten durch unterschiedliche Start-Signale verschiedene Laufzeiten nutzen, vorzeitig die Bewässerung beenden. Eine frei einstellbare kontinuierliche Laufzeit kannst Du - bislang - halt "nur" unter Einsatz des enthaltenen LogikModuls realisieren (siehe Countdown-Zähler), aber Du musst dazu nicht auf zusätzliche Geräte zurückgreifen.
Die übergreifende Sinn-Frage müsste eher Masifi beantworten.
Einen Kommentar schreiben:
-
Naja, jeder einfache Beregnungscomputer kann die Dauer der Beregnung über eine App einstellen, hier würde ich es über den KNX Bus machen wollen. So ist die Visu davor egal. Genauso kann jeder Beregnungscomputer jeden Kreis individuell mit der eingestellten Nachlaufzeit beregnen. Wenn ich das alles in einer externen Logik auslagern muss, erschließt sich mir den Sinn von diesem Gerät nicht. Analog Eingänge, Ausgänge, Binäreingänge und Aktoren gibt es bereits und habe ich schon zick mal mit dem HS als Beregnungscomputer umgesetzt..Zitat von coko Beitrag anzeigenMit Laufzeit meinst Du wahrscheinlich die Dauer bis zum Wechsel in den Timeout-Folgezustand?
Einen Kommentar schreiben:
-
Zitat von hartmut Beitrag anzeigenIch wolle den 4..20mA Eingang für Liter verwenden. 20mA sind 3000l Wasservorrat, aber ich bekommen eine Fehlermeldung.Gerade mal kurz drauf geschaut: Ist reproduzierbar, mit "Liter (l)" und "Volumen (m³)". Wahrscheinliche Ursache: DPST-12-12 statt DPST-12-1200 und DPST-12-1201Zitat von Masifi Beitrag anzeigenOh, könnte das vielleicht jemand anders nachstellen?
Einen Kommentar schreiben:
-
Mit Laufzeit meinst Du wahrscheinlich die Dauer bis zum Wechsel in den Timeout-Folgezustand? Es gibt bislang keine Möglichkeit zum Zugriff auf die Laufzeit, abgesehen von einem Kommando über das Diagnose-Objekt zum vorgezogenen "sofortigen" Beenden des Timeouts (um z.B. Definitionen mit längeren Zeiten bequem testen zu können). Überlegungen den Timeout nach außen zu bringen gibt es bereits, ich will da aber keinen Versprechen in Richtung Zeithorizont und Funktionsumfang machen. Die Umsetzung muss am Ende kompatibel sein mit anderen Erweiterungsplänen und wird nicht spezifisch auf Bewässerung zugeschitten sein; auch wenn ich da keinen Konflikt sehe. Wahrscheinlich wird es als erstes eine Ausgabe der Restzeit, oder Zeit ab Zustandsaufruf, oder Zustandseintritt geben. Wobei die Restzeit nicht für alle Zustände definiert wäre.Zitat von BadSmiley Beitrag anzeigenDer Zustandsautomat und ich freunden uns langsam an.. evtl. kam die Frage auch schon, aber die Laufzeit über ein KO zu ändern je Kanal ist schon drin oder angedacht?
Damit sollte eine einfache Umsetzung mit zwei Logik-Kanälen möglich sein:- Differenzintervall aus Zeitausgabe und KO zur Laufzeitvorgabe
- Filter für entsprechenden Zustand + Ausgabe Folgezustand, wenn 1 erfüllt
Ansonsten freut mich das natürlich. Für weitere Beispiele und Erklärungen verweise ich noch mal auf den Vorstellungs-Thread:
OpenKNX StateEngine: Universelle Zustandsautomaten in KNX
Einen Kommentar schreiben:
-
Oh, könnte das vielleicht jemand anders nachstellen?
bin selber noch bis Ende August unterwegs.
Einen Kommentar schreiben:
-
Ich wolle den 4..20mA Eingang für Liter verwenden. 20mA sind 3000l Wasservorrat, aber ich bekommen eine Fehlermeldung.
image.png
ystem.Collections.Generic.KeyNotFoundException: Der angegebene Schlüssel war nicht im Wörterbuch angegeben.
bei System.Collections.Generic.SortedList`2.get_Item(T Key key)
bei Knx.Ets.ObjectModel.DomDictionaryWithIndexer.get_I tem(Id key)
bei Knx.Ets.ObjectModel.DomCollection.DynamicAndStatic ListWrapper.get_Item(Id key)
bei Knx.Ets.ObjectModel.DomCollection.ById[T](Id id)
bei Knx.Ets.ObjectModel.MasterData.DatapointSubtypeCol lection.get_Item(Id id)
bei Knx.Ets.ObjectModel.Operations.GroupAddress.Datapo intAssigner.Assign()
bei Knx.Ets.ObjectModel.Operations.GroupAddress.LinkGr oupAddressOperation.a(IComObjectInstance A_0, IGroupAddress A_1)
bei Knx.Ets.ObjectModel.Operations.GroupAddress.LinkGr oupAddressOperation.SpecializedExecute()
bei Knx.Ets.ObjectModel.Operations.Operation.a()
bei Knx.Ets.ObjectModel.WithTransaction.<>c__DisplayCl ass0_0.<Do>b__0()
bei Knx.Ets.ObjectModel.OnTransaction.Do(Action action, String rootPath)
bei Knx.Ets.ObjectModel.WithTransaction.Do(IEnlistment Notification this, Action action, String rootPath)
bei Knx.Ets.ObjectModel.Operations.Operation.b()
bei Knx.Ets.ObjectModel.Operations.OperationExtensions .HandleOperationCancel(IOperation this, Action action, String description)
bei Knx.Ets.ObjectModel.Operations.Operation.Execute()
bei Knx.Ets.ViewModel.Application.Wizards.GenericWizar dPageViewModel.ExecuteOperation(IOperation o)
bei Knx.Ets.ViewModel.Application.Wizards.GenericWizar dPageViewModel.<>c__DisplayClass32_0.<GetStepsFrom Operations>b__3()
bei Knx.Ets.ViewModel.Application.Wizards.ImportWizard .Commands.AsyncStep.OnExecute()
bei System.Threading.Tasks.Task.InnerInvoke()
bei System.Threading.Tasks.Task.Execute()
--- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
bei System.Runtime.CompilerServices.TaskAwaiter.ThrowF orNonSuccess(Task task)
bei System.Runtime.CompilerServices.TaskAwaiter.Handle NonSuccessAndDebuggerNotification(Task task)
bei Knx.Ets.ViewModel.Tools.AsyncCpuBoundCommand.<Exec uteAsync>d__9.MoveNext()
Ansonsten ein sehr schönes und einfach zu programierendes Teil. Bin sehr zufrieden.
Grüße Hartmut
Einen Kommentar schreiben:
-
Hier stand totaler Blödsinn! Man sollte nochmal in den Karton gucken und die richtige Leiste nehmen!
Nachtrag: Alles gelötet! ABER KRAAAAASE Applikation, ich bin gerade erschlagen.
Nachtrag2: Der Zustandsautomat und ich freunden uns langsam an.. evtl. kam die Frage auch schon, aber die Laufzeit über ein KO zu ändern je Kanal ist schon drin oder angedacht?
Zuletzt geändert von BadSmiley; 10.08.2025, 13:36.
- Likes 1
Einen Kommentar schreiben:
-
Das ist gerade alles andere als zufriedenstellend :-(
Der Hersteller wollte mir die HW schon vor Tagen zukommen lassen, aber leider kamen dort immer wichtigere Dinge dazwischen.
In den nächsten Tagen wird sich hier wenig tun, leider :-(
Werde mich hier melden sobald ich mehr weiß.
- Likes 3
Einen Kommentar schreiben:
-
Hallo Masifi! Wie kommt man denn auf eine Bestellerliste? Im Shop ist der GardenControl ja verfügbar angekündigt, auf der Detailseite dann aber nicht verfügbar. Könntest Du einen Termin nennen? Ist es wie bei angesagten Sneakern/Mobiltelefonen/..., dass ich mich nachts mit Schlafsack auf den Verkaufsstart vorbereiten muss?
Einen Kommentar schreiben:
-
Es hat ganze 5min gedauertZitat von Masifi Beitrag anzeigenWenn ich die HW hier liegen habe, dann dauert es wahrscheinlich keine 30min und dann weiß ich was Sache ist.
Folgendes konnte ich feststellen:
1.) ich habe die HW ganz normal angeschlossen und direkt gesehen, das die 4-20mA Versorgungsspannungspin ausgeschalten waren. Die sind eigentlich immer an.
2.) dann wollte ich per USB Kabel sehen was der GardenControl ausgibt. Ich musste aber feststellen, das der USB-Port immer "blockiert" war. Ein Reset hat auch nicht gereicht. Dann habe ich eine Test-Firmware geflashed die mir anzeigt, ob auch alle I2C Bauteile erkannt werden. dieser Test war in Ordnung, alle Bausteine wurden richtig erkannt. Dann habe ich die OpenKNX Firmware wieder aufgespielt und dann ging gar nichts mehr. Weder USB noch konnte ich per ETS parametrisieren.
3.) daraufhin habe ich einen kompletten Flash-Nuke gemacht, also das komplette Flash gelöscht.
4.) OpenKNX Firmware wieder drauf und welch Wunder funktioniert jetzt alles so wie es soll
4-20mA wird jetzt auch schön gesendet
Warum das passiert ist, ist mir ein Rätsel.
Winni kam es bei der Erstinbetriebnahme in der ETS zu Abbrüchen?
Die HW tut mal das was sie soll. Werde mich dann in den nächsten Tagen noch um die Anpassung für den SMT100 kümmern.
- Likes 1
Einen Kommentar schreiben:
-
Jeder SMT50 kann sowohl Feuchte wie auch Temperatur, also 2 Kanäle. GardenControl hat 4 ADC Kanäle, welche du beliebig nutzen kannst. Zum Beispiel 4x Feuchte oder 2x Feuchte und 2x Temperatur, 3x Feuchte, 1xTemperatur ...
Einen Kommentar schreiben:


Einen Kommentar schreiben: