Baustein Automatikjalousie - Prioritaeten von Up/Dw, Cu/Cd, Alp, Loxone-App

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • tholle
    MS Profi
    • 26.08.2015
    • 830

    #1

    Baustein Automatikjalousie - Prioritaeten von Up/Dw, Cu/Cd, Alp, Loxone-App

    Hi Forum,

    kennt jemand die die Prioritaeten der Eingaenge Up/Dw, Cu/Cd, Alp und Loxoneapp beim Baustein Automatikjalousie?

    Irgendeine Art von Prioritaet muss es geben, denn wenn ich am Alp einen Wert aliegen habe (z.B. 100 durch einen davorgeschalteten Statusbaustein) und ich betaetige Up oder Cu oder UP in der Loxone-App, zieht Q (Auf) kurz an und faehrt dann in die Ursprungsposition (in diesem Fall 100) wieder zurueck.

    Wenn jemand die Prioritaetenkette der Eingaege des Automatikjalousiebausteins kennt, immer raus damit. Ich wuerde es dann auch im Loxowikiartikel zur Automatikjalousie nachtragen.

    Vielen Dank und Gruss,
    tholle
  • svethi
    Lebende Foren Legende
    • 25.08.2015
    • 6313

    #2
    Also bisher war es ja immer so, dass der letzte eingehenden Befehl alles vorherige "überschreibt"
    Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)

    Kommentar

    • romildo
      Lebende Foren Legende
      • 25.08.2015
      • 5144

      #3
      Hallo,
      Bei mir ist das auch in der V8.1.11.11 noch so.
      Das beschriebene Verhalten kann ich auch nicht nachstellen.
      lg Romildo

      Kommentar

      • doc-brown
        Lox Guru
        • 13.09.2015
        • 1480

        #4
        vielleicht liegt es am statusbaustein - mit einem analogspeicher funktioniert das bei mir wenn ich das richtig in erinnerung habe. vielleicht "schickt" der statusbaustein regelmäßig den wert an den jal-baustein und sie fährt deswegen immer wieder in die position?

        Kommentar


        • svethi
          svethi kommentierte
          Kommentar bearbeiten
          Das stimmt nicht ganz. Ich hatte da auch schon genügend Probleme. Wenn da noch nichts dran geändert wurde, sendet der Statusbaustein jedes Mal einen Wert, auch wenn sich das Ergebnis nicht ändert, sobald sich ein Eingang ändert.

        • romildo
          romildo kommentierte
          Kommentar bearbeiten
          Ja, das kann schon sein, bei einer Eingangsänderung muss der Baustein ja auch eine Prüfung ausführen.
          Aber ohne eine Änderung an den Eingängen passiert da von sich aus gar nichts.

        • doc-brown
          doc-brown kommentierte
          Kommentar bearbeiten
          man muesste mal sehen, was im statusbaustein gemacht wird und wie die eingaenge belegt sind...
      • tholle
        MS Profi
        • 26.08.2015
        • 830

        #5
        Vielen Dank euch schon mal soweit. Ich probiere noch ein paar Einstellungen im Statusbaustein. Wenn ich's nicht hinkriege, melde ich mich noch mal mit Screenshots.

        Aber schon mal in ein paar kurzen Saetzen, was ich vorhabe.

        Ich wuerde gern die Rolllaeden in Schlafzimmer in Abhaengigkeit von Uhrzeit(Schaltuhr-Baustein), Reedkontakt Fenster einstellen.
        Ziel ist, die Rolllaeden sollen nur zu einer bestimmten Uhrzeit Auf-, bzw. Abfahren, sollen bei "geschlossen" und Fenster gekippt auf "Beschattung" gehen, nach Schliessen des Fensters die Ursprungsposition wieder einnehmen (Position wird von AQp via Merker an Statusbaustein uebergeben), und natuerlich trotz der Automatisierung per Taster oder App jederzeit bedient werden koennen.

        Thx und Gruss,
        tholle

        Kommentar

        • tholle
          MS Profi
          • 26.08.2015
          • 830

          #6
          Ok, nachdem komplexe Logiken im Statusbaustein nicht so funktioniert haben, wie ich mir das erhofft habe, fange ich mal ganz klein an.

          Ich habe jetzt mal eine einzige ganz einfach Bedingung definiert. Logisch ausgedrueckt soll sie, meines Erachtens wie folgt funktionieren:

          WENN AI1 gleich 0 (true) UND AI2 groesser oder gleich 80 (true), gib an AQ den analogen Wert 80 aus.
          Ok, wenn ich nun AI1 auf 0 setze, wird tatsaechlich 80 an AQ ausgegeben, aber nicht gehalten. nach cal 0,5sec liegt an AQ 0 an. Duerfte doch aber eigentlich nicht sein, da die oben stehende Bedingung ja auch trifft, wenn an AI2 auch 80 anliegt (wegen des "Groesser oder gleich" >=-Zeichens in der Bedingung).
          Der Wert fuer AI2 kommt aus einem Merker, der am Jalousiebaustein an AQp haengt. Spiegelt also exakt den aktuellen Zustand des Rollladens wieder.

          Interpretiere ich hier etwas falsch oder gibt es eine Information zum Statusbaustein, die nicht offiziell dokumentiert ist?

          Gruss,
          tholle

          PS: der Screenshot zeigt den Zustand, nachdem AI1 auf 0 gesetzt wurde. An AQ lag kurze Zeit 80 an, dann ging er auf Null.
          Zuletzt geändert von tholle; 12.03.2017, 09:39.

          Kommentar

          • svethi
            Lebende Foren Legende
            • 25.08.2015
            • 6313

            #7
            Lt. Screenshot darf gar keine 80 an AQ anliegen. Schließlich fragst Du nach AI2 größer/gleich 80. An AI2 liegt aber 0 an und das ist weder kleiner noch gleich 80. Allerdings musst Du im Statusbaustein stets noch eine Regel einfügen, die greift, wenn alle anderen nicht greifen. In Deinem Fall sieht es so aus, dass wenn Du jetzt mal kurz eine 80 oder höher an AI2 anlegst, geht AQ auf 80 wird dann irgend etwas anders, wird der Wert eigentlich gar nicht mehr zurückgesetzt. Du müsstest als erste Zeile z.B. Fragen ob AI1 > 0 und dann den AQ auf 0 setzen. In der 2. Zeile dann Deine Abfrage.
            Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)

            Kommentar

            • romildo
              Lebende Foren Legende
              • 25.08.2015
              • 5144

              #8
              Hallo,
              Das wird so nie funktionieren. Wozu brauchst Du denn die Rückmeldung von der Jalousie am Eingang vom Statusbaustein.
              Mit dem Statusbaustein möchtest Du ja nur eine bestimmte Position anfahren.

              Diese kann aber nie erreicht werden, da der Jalousiebaustein bei 80% die Lamellen öffnen möchte und somit der Wert kleiner wie 80 wird.
              Dies hat dann wiederum zur Folge, dass der Statusbaustein eine 0 an den Jalousiebaustein raus gibt. Im Prinzip baust Du Dir da einen Schwingkreis.
              lg Romildo

              Kommentar


              • tholle
                tholle kommentierte
                Kommentar bearbeiten
                An AI1 haengt der Reedkontakt des Fensters. Wenn das Fenster geschlossen ist, steht AI1 auf 1. Wenn die Rolllaeden unten sind, AQp (Jalousiebaustein) also auf 100(%), dann ist auch AI2 am Statusbaustein auf 100. Wenn nun der Zustand von AI1 auf 0 wechselt, greift die Bedingung, denn AI1 = 0 und AI2 >= 80. An AQ wird in diesem Moment 80 ausgegeben. Und zwar solange, bis AI2 auch den Wert 80 hat. Danach geht AQ auf 0. Die frage ist, warum. Denn in der Bedingung heisst es ja, AQ1 = 0 (ist erfuellt) und AQ2 groesser doder gleich 80. Ist auch erfuellt. Und zwar sowohl im Ursprungszustand, wo AI2 = 100 war, als auch, von 100 rueckwaerts bis 80. Logisch gesehen muesste diese Bedingung IMMMER greifen. Tut sie aber nicht.

              • romildo
                romildo kommentierte
                Kommentar bearbeiten
                Beim öffnen des Fensters ist die Bedingung erfüllt und der Wert 80 wird an den Jalousiebaustein ausgegeben.
                Die Jalousie färhrt aber nicht genau auf 80 sondern auch manchmal auf 79.9 und schon ist die Bedingung nicht mehr erfüllt.
                Wie weit die Abweichung ist, hängt zudem von der Mindestfahrzeit-Einstellung ab.

                Mach doch einfach mal in der Simulation den Test mit einer Mindestfahrzeit von 0.1 und AI2 >= 79.
                Dann sieht man sehr schön wie das ganze schwingt.
            • tholle
              MS Profi
              • 26.08.2015
              • 830

              #9
              Moin Sventhi,

              lass dich durch den Screenshot nicht taeuschen. Der ist entstanden, nachdem der Durchlauf schon beendet ist. Also nachdem AQ von 80 auf 0 ging.
              Das ist, was ich mit
              Ok, wenn ich nun AI1 auf 0 setze, wird tatsaechlich 80 an AQ ausgegeben, aber nicht gehalten
              sagen wollte.

              Bei der Ausgangssituation ist AI1 = 1 und AI2 = 100. Wenn AI1 nun auf 0 gesetzt wird, greift die Bedingung und gibt an AQ kurz 80 aus. Danach dann 0.
              In dem Moment, in dem sich AI2 von 100 auf 80 aendert, es wird rueckwaerts gezaehlt, also 100, 99, 98, 97...82, 81,80 wird die Bedingung ja immer noch erfuellt. AI1 ist immer noch 0 und AI2 immer noch groesser als 80.
              In dem Moment, in dem AI2 den Wert 80 erreicht, muesste die Bedingung ja auch noch gelten, da der Vergleichsoperator ja auf "groesser" ODER "gleich" prueft. Ab genau an dieser Stelle scheint die Bedingung dann nicht mehr zu greifen und AQ wird auf 0 gesetzt. Die Frage ist also, wieso? Was genau passiert an dieser Stelle im Statusbaustein, der ja letzten Endes nichts anderes als ein erweiterter while-true-loop ist.

              Gruss,
              tholle

              Kommentar

              • svethi
                Lebende Foren Legende
                • 25.08.2015
                • 6313

                #10
                Er hat doch geschrieben, dass er beim Fenster öffnen/kippen die Jalousie auf Beschattung fahren möchte und danach wieder zurück in den ursprünglichen Zustand. Dafür braucht er dann doch den Wert. Wie die Werte letztlich sind und die Logik dahinter aussieht ist ja erst einmal nebensächlich So lange der Statusbaustein nicht gänzlich verstanden wurde.
                Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)

                Kommentar


                • tholle
                  tholle kommentierte
                  Kommentar bearbeiten
                  Naja, so wirklich erklaeren konntest du mir das Verhalten nicht. Denn wenn, wie ich schon mehrfach schrieb, eine Bedingung habe, die in jedem Fall zutrifft, wird sie trotzdem aus irgendeinem Grund vom Statusbaustein ignoriert. Die Frage ist nach wie vor nach dem Warum.
                  Das Verhalten zeigt ja, dass der Statusbaustein irgendetwas noch anders machen muss, als hier genannt wurde. Ich tippe mal schwer darauf, dass der Statusbaustein in festen Zeitintervallen abgearbeitet wird.

                • romildo
                  romildo kommentierte
                  Kommentar bearbeiten
                  Sorry, ich weiss halt nicht wie ich es verständlich erklären soll.

                  Nein die Bedingung wird nicht ignoriert, sondern im Gegenteil sie wird ausgeführt.
                  Du gibst einen Wert von 80 als Zielwert an den Jalousiebaustein welcher bemüht ist, diesen Zielwert zu erreichen.
                  Da Du aber gleichzeitig den aktuellen Wert vom Jalousiebaustein an den Statusbaustein an einen Eingang gibst, bedeutet dies eine erneute Bedingungsprüfung für den Statusbaustein. Dies wiederum bedeutet eine neue Ausgabe des Wertes auch wenn dieser gleich ist.
                  In wie weit der Jalousiebaustein diese erneute Änderung verarbeitet ist aus Zeitkritischen Gründen, da er ja noch am Regeln ist, aber nicht immer identisch und daher sollte dies vermieden werden.

                  Jetzt kommt bestimmt die Frage woher ich das weiss.
                  Da muss ich sagen, dass ich das nicht weiss, nur meine bisherigen diesbezüglichen Versuche haben mich zu diesem Schluss geführt.
                  Das dies so sein muss, kann man im übrigen auch mittels Aufbau in der Simulation belegen.

                • tholle
                  tholle kommentierte
                  Kommentar bearbeiten
                  Bingo! Du hast voellig Recht. Jeder veraenderte Wert fuehrt zu einer erneuten Pruefung der Bedingungen. Deswegen kommt bei sekuendlich aendernden AI-Werten teilweise unerwartete Sachen heraus.
                  Man kriegt das aber mit einer vorgeschalteten Logik in den Griff, ganz so, wie du, romildo, es bereits dargestellt hast.
                  Ist halt der Uebersichtlichekeit nicht zutraeglich, aber ich bin gerade dabei, mich daran zu gewoehnen, dass KISS bei Loxone nicht passieren wird.

                  Vielen Dank euch fuer's Mitdenken und Aufklaeren.

                  Gruss,
                  tholle
              • romildo
                Lebende Foren Legende
                • 25.08.2015
                • 5144

                #11
                Ich würde das auf diese Art lösen:

                Klicke auf die Grafik für eine vergrößerte Ansicht

Name: Jalousiesteuerung.png
Ansichten: 649
Größe: 104,9 KB
ID: 88715

                Die Objekte für den AIl Eingang habe ich nur mal so zum Testen eingefügt, damit die Jalousie auch wirklich dorthin fährt wo sie soll.
                An Stelle der Konstanten kann man natürlich auch einen Statusbaustein einsetzten.
                lg Romildo

                Kommentar

                • romildo
                  Lebende Foren Legende
                  • 25.08.2015
                  • 5144

                  #12
                  Und hier noch die Simulationsschaltung welche beweisen soll, dass eine Eingangsänderung den Analogwert erneut ausgibt.
                  Funktionsbeschrieb:
                  Die Schaltung in der Config per PC-Simulation starten.
                  Wenn der Stop auf AUS ist, sendet der Impulsschalter alle 5 Sekunden einen Impuls an den Stepper.
                  Der Stepper zählt somit von 0-100 in 5 Sekundenschritten hoch und sendet den jeweiligen Wert an den Statusbaustein.
                  Der Statusbaustein überprüft den Eingang auf grösser 2 und gibt Wert 80 an den AQ Ausgang aus.
                  Der Jalousiebaustein empfängt den Wert und fährt die Jalousie auf 80% und danach etwas zurück, da er die Lamellenposition von sich aus verändert.
                  Beim nächsten Empfang des Wertes wiederholt er dieses Spiel, was man in der PC Simulation sehr gut sehen kann.
                  Dies macht er immer genau dann, wenn der 5 Sekundenimpuls den Statusbaustein am Eingang erhöht, obwohl der Ausgang immer auf 80 steht.
                  Stopt man nun den Ablauf mittels Stoptaste, kann man sehen, dass auch am Jalousiebaustein keine Wertänderung mehr gemacht wird.

                  Dies führt zur Schlussfolgerung, dass bei einer Änderung am Eingang des Statusbausteins der Wert am Ausgang auch ausgegeben wird, wenn er identisch zum Vorwert ist.

                  Klicke auf die Grafik für eine vergrößerte Ansicht

Name: StatuswertausgabeFunktionsweise.png
Ansichten: 640
Größe: 15,8 KB
ID: 88791
                  lg Romildo

                  Kommentar


                  • tholle
                    tholle kommentierte
                    Kommentar bearbeiten
                    So viel Arbeit haettest du dir gar nicht machen muessen. Du hat voellig Recht (hab ich oben schon geschrieben). Es ist exakt so, wie du sagst.
                    Ich muss das jetzt leider mit einem Analogschalter umsetzen. Nervt mich etwas, weil ich immer alles gern sauber und uebersichtlich haette, aber was sein muss, muss sein.

                    Vielen Dank nochmal!

                  • romildo
                    romildo kommentierte
                    Kommentar bearbeiten
                    Bitte gerne.
                    Das habe ich schon gelesen, habe es ja auch nicht nur für Dich gemacht
                • Stewe
                  LoxBus Spammer
                  • 26.08.2015
                  • 285

                  #13
                  Hallo romildo

                  sehe ich das richtig, das im Baustein der Automatikjalousie bezgl. AQp und AQl für direkte Positionsfahrt ein Fehler versteckt ist?

                  Gibt es da eine Möglichkeit dieses Problem zu umgehen?

                  LG SteWE

                  Kommentar

                  • romildo
                    Lebende Foren Legende
                    • 25.08.2015
                    • 5144

                    #14
                    Stewe
                    Wohin die Jalousie über die Positionseingänge fährt, ist von einigen Parametern und zudem von der Ausgangsposition abhängig. Fehler?

                    Eine Möglichkeit um einigermassen immer an die gewünschte Position zu gelangen habe ich hier mal beschrieben.
                    lg Romildo

                    Kommentar

                    Lädt...