Ankündigung

Einklappen
Keine Ankündigung bisher.

[OpenKNX-Ready] GardenControl Bewässerungsautomat

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Zitat von Masifi Beitrag anzeigen
    Die habe ich genommen
    Ich meinte die Reiheneinbausicherung.

    Kommentar


      Achso :-)

      das ist die Phoenix Contact Feinsicherungsklemme ST4-HESILA250(5X20)

      www.smart-mf.de | KNX-Klingel | GardenControl | OpenKNX-Wiki

      Kommentar


        Zitat von coko Beitrag anzeigen
        Du meinst den Hinweis mit der Verknüpfung von mehreren Automaten?
        eigentlich war hier schon Schluss

        Zitat von coko Beitrag anzeigen
        Formal:
        Ventil_Schaltzustand: Ventilnummer × Zustand →​ {EIN, AUS}

        Ventil_Schaltzustand(n, z) :=
        EIN (wenn Ventil n im Zustand z geöffnet sein soll)
        bzw.
        AUS (wenn Ventil n im Zustand z geschlossen sin soll)
        mir helfen da immer Bilder bzw. ein Exportstring um das Grundschema zu verstehen.
        Gruß David

        Kommentar


          Zitat von shortyle Beitrag anzeigen
          eigentlich war hier schon Schluss
          [...]
          mir helfen da immer Bilder bzw. ein Exportstring um das Grundschema zu verstehen.
          Das war eigentlich nur noch als Ergänzung/Alternative zum Text gedacht ;-)


          Zitat von coko Beitrag anzeigen
          Du könntest auch direkt die einzelnen Ventile schalten (über mehrere Ausgänge), bzw. den Schaltzustand setzen. Das passt auch eher zum Zustandskonzept, wenn Du einen (eindeutigen) funktionalen Zusammenhang abbildest. D.h.: Der Öffnungszustand jedes einzelnen Ventils sollte ausschließlich davon abhängen welcher Zustand aufgerufen wurde.

          Formal:
          [...]
          Ich probiere es einfach noch mal mit einem Bild (mit künstlichem Beispiel). Wenn Du für jeden Zustand direkt sagen kannst ob ein Ventil offen oder geschlossen ist (egal was davor passiert ist!), dann hast Du ein direkt nachvollziehbares und robustes verhalten:
          grafik.png
          z A B Timeout T Ventil1
          O1
          Ventil2
          O2
          Ventil3
          O3
          Ventil4
          O4
          Ventil5
          ?
          Ventil6
          ?​
          Ventil7
          ?
          1 alles aus 2 0 0 0 0 0 0 0
          2 Zone1+4 1 15min 3 EIN 0 0 0 0 EIN 0
          3 Zone2a+4 1 5min 4 0 EIN EIN 0 0 EIN 0
          4 Zone2a+2b 1 10min 5 0 EIN EIN EIN 0 0 0
          5 Zone3+5 1 10min 1 0 0 0 0 EIN 0 EIN

          Du kannst dann also einfach eine Tabelle mit Zustandänden und Ventil-Öffnung erstellen (das funktioniert nur wenn Du einen solchen klaren funktionalen Zusammenhang hast), siehst aber auch dass es eben mehr als 4 Ausgangswerte benötigt die man direkt mit einem Zustandsautomaten erzeugen kann.

          Eine Möglichkeit ist die genannte Kopplung, die als "Abfallprodukt" beim direkten Setzen des Zustands möglich ist.:
          Folgender_Automat_Ventile.marked.png

          Der "Folgende Automat" übernimmt dann nur noch die Ausgabe weiterer Ausgangswerte.

          Und mir sind auch gerade noch weitere Lösungsansätze eingefallen...
          OpenKNX www.openknx.de | StateEngine: Universelle Zustandsautomaten in KNX | OpenKNX Konfigurationstransfer

          Kommentar


            Zitat von shortyle Beitrag anzeigen
            Das Modul mit den Zustandsautomaten ist für mich nach wie vor ein Buch mit sieben Siegeln Aber ich finde es sehr interessant.​
            Interesse ist schon mal eine gute Basis. Zur sinnvollen Nutzung des Moduls bzw. auch dem Erkennen von geeigneten Einsatzszenarien braucht es in der Tat eine gewisse Vorstellung vom zugrundeliegenden Konzept mit Zuständen und Ereignissen die zu Zustandswechseln führen. Das Modul erfordert es realistischerweise, dass man sich etwas damit auseinandersetzt. Ich erwarte nicht, dass bei allen Nutzern die von dem Modul profitieren können bereits ein intuitives Verständnis vorhanden ist. Sehr einfach sollten es alle Menschen haben die mal Informatik studiert haben und das zugrundeliegende Modell noch aus aus dem Grundstudium kennen; für alle anderen dürfte der Einstieg schwieriger sein. Werde gerne dabei unterstützten; bei allgemeinem Interesse können wir mal einen Online-Workshop dazu durchführen, mit
            Stereofeld und Masifi hatte ich das schon mal andiskutiert.

            Ansonsten stell gerne auch einfach so Fragen.
            OpenKNX www.openknx.de | StateEngine: Universelle Zustandsautomaten in KNX | OpenKNX Konfigurationstransfer

            Kommentar


              Wenn Interesse besteht, solche Punkte mal entspannt an einen Abend zu besprechen, dann organisiere ich das gerne.
              www.smart-mf.de | KNX-Klingel | GardenControl | OpenKNX-Wiki

              Kommentar


                Hallo zusammen,

                ich schaue mir gerade die GardenControl Applikation an um die Möglichkeiten mit meiner bisherigen Installation (Heizungsaktor + Analogaktor) zu vergleichen.
                Im Analogbereich geht mir ein wenig die Möglichkeit ab die Sensordaten auf Prozent / Liter usw. umzusetzen wenn diese nicht liniear sind. Aktuell habe ich zumindest 5 Werte mit denen ich mit dem Sensor gemessene Werte in "echte" Werte umsetzen kann, dazwischen wird natürlich jeweils linearisiert. Gibt's hier im Gerät selber möglichkeiten die ich aktuell nicht sehe?

                Gruß
                Winni

                Kommentar


                  Nein das geht aktuell nicht direkt. Aber man könnte hier vielleicht was mit dem Logikmodul machen und den Benutzerformeln. Hier könnte man sich unter Umständen das passende zusammenbauen.
                  www.smart-mf.de | KNX-Klingel | GardenControl | OpenKNX-Wiki

                  Kommentar


                    wollte nur gerade mal zurückmelden das ich mit dem Zustandsautomaten eine ganze Ecke weiter bin.

                    Ziel war es 4 Rasenzonen nacheinander laufen zulassen.
                    Vor den 4 Zonenventilen sitzt ein Hauptventil (V1), welches beim Starten der Bewässerung zuerst geöffnet werden soll. Anschließend öffnet das erste (Rasen)Zonenventil V2 mit Verzögerung von 2s. Nach der eingestellten Laufzeit (zu Testzwecken 10s) schließt V2 und es wird, mit erneuter Verzögerung, das nächste (Rasen)Zonenventil V3 geöffnet usw. bis zu Zone4 (V5). Jeder Wechsel wird per Textanzeige ausgegeben.
                    Nach dem letzten Zoneventil schließt mit Verzögerung von 2s auch das Hauptventil.
                    Gestartet wird die Bewässerungssequenz entweder über eine ZSU oder manuell.

                    Aufgrund der Anzahl an benötigten Ausgängen (5 Ventile + Diagnosetext) werden 2 Zustandsautomaten verwendet und quasi nacheinander durchlaufen (KO DEA 2, Ausgabe Zustand und KO DEA 3, Eingabe Zustand mittels GA verbinden).
                    Auch ein gezielter Start einer Bewässerungszone innerhalb der Sequenz funktioniert. Allerdings läuft die Sequenz dann bis zum Schluss durch.

                    So funktioniert es erst einmal für mich, auch wenn es bestimmt noch etwas schlanker/eleganter geht. Wichtig für mich ist, ich bin ein ganzes Stück schlauer zum Zustandsautomat.

                    Als nächster Schritt folgt das Einbinden für einen Windalarm, der die Bewässerung pausiert (einfach über einen Logikkanal und das passende KO im DEA). Ein Regenalarm soll ebenfalls noch Einfluss nehmen (hier weiß ich aber noch nicht, was wirklich sinnvoll ist zu messen) und auch die Bodenfeuchte.

                    Danke nochmal für all die Mühen und die Hilfsbereitschaft sowohl bei Hardware wie auch den Modulen.

                    Hier die beiden DEAs als String, für jene die es auch einmal probieren und "spielen" wollen

                    DEA 1
                    Code:
                    OpenKNX,cv1,0xA210:0x9/DFA:0x4/2§a~Name=Bew%C3%A4sserung%20Rasen§a~Active=1§a~StartPause=1§a~StateSetting=1§a~SymbolPairAB=1§a~SymbolPairEF=1§a~SymbolPairGH=1§a~SymbolAName:2=Bew.%20Rasen%20an%2Faus§a~SymbolAInput:2=1§a~SymbolCName:1=ZSU§a~SymbolCInput:1=3§a~SymbolCLogicNumber:1=11§a~SymbolEName:2=Windalarm§a~SymbolGName:2=Regenalarm§a~Output1Name=Hauptventil§a~Output2Name=Rasen%201§a~Output3Name=Rasen%202§a~Output4Name=Status§a~Output1Dpt=10§a~Output2Dpt=10§a~Output3Dpt=10§a~Output4Dpt=161§a~z01Name=alles%20AUS§a~z02Name=Rasen%201%20aktivieren§a~z03Name=Rasen%201§a~z04Name=Rasen%202%20aktivieren§a~z05Name=Rasen%202§a~z06Name=Rasen%203%20aktivieren§a~z07Name=Rasen%203§a~z08Name=Rasen%204%20aktivieren§a~z09Name=Rasen%204§a~z10Name=deaktivieren§a~d01A=2§a~d01C=2§a~z01o1Send=10§a~z01o1Dpt1=0§a~z01o2Send=10§a~z01o2Dpt1=0§a~z01o3Send=10§a~z01o3Dpt1=0§a~z01o4Send=10§a~z01o4Dpt16=Alles%20AUS§a~d02B=10§a~d02T=3§a~d02TTime=2§a~z02o1Send=10§a~z02o2Send=10§a~z02o2Dpt1=0§a~z02o3Send=10§a~z02o3Dpt1=0§a~z02o4Send=10§a~z02o4Dpt16=Bew.%20starten§a~d03B=10§a~d03T=4§a~d03TTime=10§a~z03o1Send=10§a~z03o2Send=10§a~z03o3Send=10§a~z03o3Dpt1=0§a~z03o4Send=10§a~z03o4Dpt16=Rasen%201%20aktiv§a~d04B=10§a~d04T=5§a~d04TTime=2§a~z04o1Send=10§a~z04o2Send=10§a~z04o2Dpt1=0§a~z04o3Send=10§a~z04o3Dpt1=0§a~z04o4Send=10§a~z04o4Dpt16=Zonenwechsel§a~d05B=10§a~d05T=6§a~d05TTime=10§a~z05o1Send=10§a~z05o2Send=10§a~z05o2Dpt1=0§a~z05o3Send=10§a~z05o4Send=10§a~z05o4Dpt16=Rasen%202%20aktiv§a~d06B=10§a~d06T=7§a~d06TTime=2§a~z06o1Send=10§a~z06o2Send=10§a~z06o2Dpt1=0§a~z06o3Send=10§a~z06o3Dpt1=0§a~z06o4Send=10§a~z06o4Dpt16=Zonenwechsel§a~d07B=10§a~d07T=8§a~d07TTime=10§a~z07o1Send=10§a~z07o2Send=10§a~z07o2Dpt1=0§a~z07o3Send=10§a~z07o3Dpt1=0§a~z07o4Send=10§a~z07o4Dpt16=Rasen%203%20aktiv§a~d08B=10§a~d08T=9§a~d08TTime=2§a~z08o1Send=10§a~z08o2Send=10§a~z08o2Dpt1=0§a~z08o3Send=10§a~z08o3Dpt1=0§a~z08o4Send=10§a~z08o4Dpt16=Zonenwechsel§a~d09B=10§a~d09T=10§a~d09TTime=10§a~z09o1Send=10§a~z09o2Send=10§a~z09o2Dpt1=0§a~z09o3Send=10§a~z09o3Dpt1=0§a~z09o4Send=10§a~z09o4Dpt16=Rasen%204%20aktiv§a~d10T=1§a~d10TTime=2§a~z10o1Send=10§a~z10o2Send=10§a~z10o2Dpt1=0§a~z10o3Send=10§a~z10o3Dpt1=0§a~z10o4Send=10§a~z10o4Dpt16=Bew.%20stoppen§;OpenKNX
                    DEA 2
                    Code:
                    OpenKNX,cv1,0xA210:0x9/DFA:0x4/3§a~Name=Bew%C3%A4sserung%20Rasen§a~Active=2§a~StartPause=1§a~StateSetting=1§a~SymbolPairAB=1§a~SymbolPairEF=1§a~SymbolPairGH=1§a~SymbolAName:2=Bew.%20Rasen%20an%2Faus§a~SymbolAInput:2=1§a~SymbolCName:1=ZSU§a~SymbolCInput:1=3§a~SymbolCLogicNumber:1=11§a~SymbolEName:2=Windalarm§a~SymbolGName:2=Regenalarm§a~Output1Name=Rasen%203§a~Output2Name=Rasen%204§a~Output4Name=Status§a~Output1Dpt=10§a~Output2Dpt=10§a~Output4Dpt=161§a~z01Name=alles%20AUS§a~z02Name=Rasen%201%20aktivieren§a~z03Name=Rasen%201§a~z04Name=Rasen%202%20aktivieren§a~z05Name=Rasen%202§a~z06Name=Rasen%203%20aktivieren§a~z07Name=Rasen%203§a~z08Name=Rasen%204%20aktivieren§a~z09Name=Rasen%204§a~z10Name=deaktivieren§a~d01A=2§a~d01C=2§a~z01o1Send=10§a~z01o1Dpt1=0§a~z01o2Send=10§a~z01o2Dpt1=0§a~z01o4Send=10§a~z01o4Dpt16=Alles%20AUS§a~d02B=10§a~d02T=3§a~d02TTime=2§a~z02o1Send=10§a~z02o2Send=10§a~z02o2Dpt1=0§a~z02o4Send=10§a~z02o4Dpt16=Bew.%20starten§a~d03B=10§a~d03T=4§a~d03TTime=10§a~z03o1Send=10§a~z03o2Send=10§a~z03o2Dpt1=0§a~z03o4Send=10§a~z03o4Dpt16=Rasen%201%20aktiv§a~d04B=10§a~d04T=5§a~d04TTime=2§a~z04o1Send=10§a~z04o2Send=10§a~z04o2Dpt1=0§a~z04o4Send=10§a~z04o4Dpt16=Zonenwechsel§a~d05B=10§a~d05T=6§a~d05TTime=10§a~z05o1Send=10§a~z05o2Send=10§a~z05o2Dpt1=0§a~z05o4Send=10§a~z05o4Dpt16=Rasen%202%20aktiv§a~d06B=10§a~d06T=7§a~d06TTime=2§a~z06o1Send=10§a~z06o2Send=10§a~z06o2Dpt1=0§a~z06o4Send=10§a~z06o4Dpt16=Zonenwechsel§a~d07B=10§a~d07T=8§a~d07TTime=10§a~z07o1Send=10§a~z07o2Send=10§a~z07o4Send=10§a~z07o4Dpt16=Rasen%203%20aktiv§a~d08B=10§a~d08T=9§a~d08TTime=2§a~z08o1Send=10§a~z08o2Send=10§a~z08o2Dpt1=0§a~z08o4Send=10§a~z08o4Dpt16=Zonenwechsel§a~d09B=10§a~d09T=10§a~d09TTime=10§a~z09o1Send=10§a~z09o2Send=10§a~z09o2Dpt1=0§a~z09o4Send=10§a~z09o4Dpt16=Rasen%204%20aktiv§a~d10T=1§a~d10TTime=2§a~z10o1Send=10§a~z10o2Send=10§a~z10o2Dpt1=0§a~z10o4Send=10§a~z10o4Dpt16=Bew.%20stoppen§;OpenKNX
                    Zuletzt geändert von shortyle; 15.05.2025, 19:53.
                    Gruß David

                    Kommentar


                      Es ist geschafft, der Release 0.9 steht :-)

                      https://github.com/OpenKNX/BEM-GardenControl/releases

                      Ich habe in noch als Beta laufen, da es jetzt doch ein paar Änderungen zum letzten Offiziellen Release 0.4 gegeben hat.

                      Wenn euch was negativ auffällt, dann lasst es mich wissen. Ansonsten viel Spaß damit
                      www.smart-mf.de | KNX-Klingel | GardenControl | OpenKNX-Wiki

                      Kommentar


                        Zitat von shortyle Beitrag anzeigen
                        Hier die beiden DEAs als String,
                        Ist zweimal Kanal2...
                        OpenKNX www.openknx.de | StateEngine: Universelle Zustandsautomaten in KNX | OpenKNX Konfigurationstransfer

                        Kommentar


                          Zitat von coko Beitrag anzeigen
                          Ist zweimal Kanal2...
                          Dank dir, hab es korrigiert.
                          Gruß David

                          Kommentar


                            Ist es möglich eine Zeit per KO vorzugeben? Im Moment ist die Treppenhauszeit in der ETS festzulegen. Kann ich auf irgendwelchen Umwegen die Zeit per KO vorgeben?



                            image.png

                            Kommentar


                              Zitat von mpl1337 Beitrag anzeigen
                              Ist es möglich eine Zeit per KO vorzugeben?
                              Schau Dir mal das Beispiel des Countdown-Zählers an, wobei Du wahrscheinlich eher ein EIN erzeugen willst so lange die 0 noch nicht erreicht ist. Wenn Du nur einige wenige verschiedene Zeiten benötigst, dann wäre das auch sehr bequem über die Timeout-Funktion der Zustandsautomaten möglich (Aufruf verschiedener Zustände mit unterschiedlichen Timeouts).
                              In Zukunft wird es noch ein OpenKNX-Modul mit Countdown-Funktion (von mgeramb ) geben, das ist aktuell aber noch in keiner Produktiv-Applikation enthalten.
                              OpenKNX www.openknx.de | StateEngine: Universelle Zustandsautomaten in KNX | OpenKNX Konfigurationstransfer

                              Kommentar


                                Zitat von shortyle Beitrag anzeigen
                                wollte nur gerade mal zurückmelden das ich mit dem Zustandsautomaten eine ganze Ecke weiter bin.[...] Wichtig für mich ist, ich bin ein ganzes Stück schlauer zum Zustandsautomat. [..]
                                Danke nochmal für all die Mühen und die Hilfsbereitschaft sowohl bei Hardware wie auch den Modulen.
                                Gerne. Freut mich, dass das zu einem Ergebnis geführt hat und danke auch dafür, dass Du das hier als Beispiel teilst.


                                Zitat von shortyle Beitrag anzeigen
                                Aufgrund der Anzahl an benötigten Ausgängen (5 Ventile + Diagnosetext) werden 2 Zustandsautomaten verwendet und quasi nacheinander durchlaufen (KO DEA 2, Ausgabe Zustand und KO DEA 3, Eingabe Zustand mittels GA verbinden).

                                Schön, dass das bei Dir so funktioniert. Die Eingänge hast Du hoffentlich nicht mit beiden Automaten verknüpft? Damit würdest Du ein potenziell unerwartetes Verhalten provozieren, weil der zweite Automat dann ggf. so reagiert als hätte er das selbe Symbol zweimal hintereinander erhalten. Etwas was in Deinem Anwendungsfall evt. nicht mal auffällt. Ich würde empfehlen im zweiten Automaten alle Eingänge und Zustandswechsel zu entfernen. Insbesondere Timeouts könnten sonst bei späteren Anpassungen zu Überraschungen führen (wenn Du diese im Haupt-Automaten verlängerst und diese im zweiten weiterhin früher ausgeführt werden). Die Kopplung von meheren Automaten verhält sich halt nicht exakt genau so wie ein einzelner zusammenhängender Automat.
                                Beim Begriff "nacheinander" hätte ich eher noch an eine andere Form von Automaten-Kombination gedacht.


                                Zitat von shortyle Beitrag anzeigen
                                Auch ein gezielter Start einer Bewässerungszone innerhalb der Sequenz funktioniert. Allerdings läuft die Sequenz dann bis zum Schluss durch.

                                So funktioniert es erst einmal für mich, auch wenn es bestimmt noch etwas schlanker/eleganter geht.
                                ​​
                                Beim direkten Start (über Zustandsaufruf nehme ich an?) einer Zone hättest Du kein Vorab-Schalten des Hauptventils. Das ließe sich Abbilden, wenn Du das Schalten der Ventile nicht durch die Automaten-Definition, sondern durch einen nachgelagerten Logik-Kanal verzögerst (Einschaltverzögerung von 2s und beim Hauptkanal das Ausschalten um 2s, wobei der auch durch ODER-Verknüpfung der Ventile erzeugt werden könnte.

                                Zitat von shortyle Beitrag anzeigen
                                Nach der eingestellten Laufzeit (zu Testzwecken 10s)
                                Über das Diagnose-Objekt kannst Du auch den Timeout des aktuellen Zustands direkt auslösen.


                                Zitat von shortyle Beitrag anzeigen
                                Als nächster Schritt folgt das Einbinden für einen Windalarm, der die Bewässerung pausiert (einfach über einen Logikkanal und das passende KO im DEA).
                                ​​
                                Vorsicht: Pausieren könnte dazu führen, dass Dauerberegnung erfolgt, wenn das Ventil gerade an ist.
                                OpenKNX www.openknx.de | StateEngine: Universelle Zustandsautomaten in KNX | OpenKNX Konfigurationstransfer

                                Kommentar

                                Lädt...
                                X