Ankündigung

Einklappen
Keine Ankündigung bisher.

LBS 19000145 - Beschattungssteuerung-NG

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

    starwarsfan im Prinzip würde mir genügen, wenn du einfach an den Ausgängen bei Trigger die aktuell sowieso schon vorhandenen Werte (der Baustein läuft ja ganz normal durch) noch einmal ausgibst. Somit könnte man "jederzeit" durch Triggern die aktuell gültigen Werte für Höhe und Winkel vom Baustein abfragen, welche die Jalousie eventuell verpasst hat während diese gesperrt war. Aktuell hätte ich mir auch beholfen mit Baustein deaktivieren/aktivieren, aber auch das schreibt leider die Werte nicht neu in den Bus.

    Die Anforderung von Andi ist da komplexer, da sehe ich es ähnlich wie du, dazu muss vermutlich gründlicher nachgedacht werden.

    Kommentar


      Hi

      Zitat von crewo Beitrag anzeigen
      im Prinzip würde mir genügen, wenn du einfach an den Ausgängen bei Trigger die aktuell sowieso schon vorhandenen Werte (der Baustein läuft ja ganz normal durch) noch einmal ausgibst. Somit könnte man "jederzeit" durch Triggern die aktuell gültigen Werte für Höhe und Winkel vom Baustein abfragen, welche die Jalousie eventuell verpasst hat während diese gesperrt war. Aktuell hätte ich mir auch beholfen mit Baustein deaktivieren/aktivieren, aber auch das schreibt leider die Werte nicht neu in den Bus.
      So einfach ist es leider nicht. "Sowieso schon vorhanden" nützt an dieser Stelle gar nichts, da der Trigger-Eingang explizit dafür gedacht ist, eine Berechnung auszulösen, egal in welchem Zustand sich der Baustein befindet. Das Problem ist, dass der Baustein nichts ausgibt, wenn sich nichts ändert und das ist im Moment explizit so gewünscht resp. so implementiert.

      Aber das heisst natürlich nicht, dass es das nicht geben wird!

      Dass der Trigger-Eingang E1 den Baustein unabhängig von dessen Status auf jeden Fall triggert, wurde erst mit einem der letzten Changes implementiert. Nun fehlt sozusagen noch eine Art Unterscheidung, was den Baustein ausgelöst hat. Wurde der Baustein also bspw. durch einen Change der Elevation oder des Azimut getriggert und die errechneten Ergebnisse sind identisch mit denen der vorherigen Berechnung, so werden die Ausgänge nicht neu geschrieben. Wurde der Baustein aber explizit durch den Trigger-Eingang angestossen, so sollen die Ergebnisse auf jeden Fall auf die Ausgänge geschrieben werden, egal ob sie identisch mit den vorherigen Resultaten sind oder nicht.
      Kind regards,
      Yves

      Kommentar


        Lieber Yves, das klingt perfekt! Danke für deine Mühen hier.

        EDIT: Hab mir bis dahin jetzt beholfen mit einem Wertauslöser, der hat an E2 die Höhe bzw. Winkel anliegen und an E1 die gleichen Auslöser wie der NG an E1, A1 schickt nun nach ersten Tests zuverlässig die aktuellen Werte auf den Bus, sobald der Trigger kommt.
        Zuletzt geändert von crewo; 20.03.2017, 14:06.

        Kommentar


          Zitat von starwarsfan Beitrag anzeigen
          Dass der Trigger-Eingang E1 den Baustein unabhängig von dessen Status auf jeden Fall triggert, wurde erst mit einem der letzten Changes implementiert. Nun fehlt sozusagen noch eine Art Unterscheidung, was den Baustein ausgelöst hat. Wurde der Baustein also bspw. durch einen Change der Elevation oder des Azimut getriggert und die errechneten Ergebnisse sind identisch mit denen der vorherigen Berechnung, so werden die Ausgänge nicht neu geschrieben. Wurde der Baustein aber explizit durch den Trigger-Eingang angestossen, so sollen die Ergebnisse auf jeden Fall auf die Ausgänge geschrieben werden, egal ob sie identisch mit den vorherigen Resultaten sind oder nicht.
          Diesen Ansatz finde ich interessant!

          Ggf. könnte man damit dann auch die anderen Wünsche mit etwas Logik (oder weiterem Vorschalt-LBS, Szene, etc.) ausserhalb des Beschattungs-LBS umsetzen:
          - erst alle nicht triggernden Eingänge setzen: andere Schwellen, Timerzeiten, Jalousiepositionen (einschliesslich einer Möglichkeit Timer z.B. mit einer 0 auch ausschalten oder zumindest auf ein kaum wahrnehmbares Minimum reduzieren zu können).
          - dann zum Schluss per E1 einen Trigger des kompletten LBS zu setzen, der dann auch die Werte der Ausgänge schreibt.
          - ggf. müssten dann E40/E60 auch nicht mehr triggern. Man kann dann selbst bestimmen ob eben direkt eine Änderung/Reaktion erfolgen soll in dem man dann entweder den E1 noch setzt (sofortige Reaktion entsprechend restlichen Eingängen) oder eben nicht (erst Reaktion beim nächsten Event/Änderung durch Wetterstation)
          - über evtl. SBC an den Ausgängen kann man dann auch noch selbst eingreifen, je nachdem was der JAL-Aktor hergibt. Mein Aktor fährt z.B. bei einer Sperrungsaufhebung (Sperrobjekt im Aktor nicht der Sperreingang des LBS!) automatisch die letzte bekannte Automatikposition an. Wenn jedoch der aktuell eingestellte Wert durch den LBS neu geschickt wird fährt er diese Position erneut an (Lamellen gehen einmal unnötig auf/zu)

          was aber hier entscheidend ist ist die Möglichkeit daß in jedem Zustand der Baustein auch tatsächlich jederzeit und auf alle geänderten Eingänge "reagiert". Ob das nun implementierungstechnisch auch eine größere Änderung ist oder heute so schon weitestgehend funktioniert kann ich grad nicht überblicken. Zumindest bei laufenden Timer geht das glaube ich aktuell nicht, die werden nach meinen Beobachtungen immer hart durchlaufen (was denke ich kaum so gewollt sein kann, oder doch?).

          Wenn ich nichts übersehe wäre das sehr flexibel. (aber vielleicht nicht ganz selbsterklärend und man müsste auch prüfen ob immer der E1 auch tatsächlich sicher als letzter Befehl abgesetzt wird...)

          Hoffentlich habe ich nun nicht irgendwas übersehen.
          Gruß
          Andi

          Kommentar


            N'abend@all,

            so, die 3.0.RC3 ist online. Die Ausgänge werden jetzt beim Trigger via E1 sowie bei Änderungen an den Aktivierungsstatus auf jeden Fall beschrieben. Das betrifft auch das direkte Anfahren der konfigurierten nach-Dämmerung- bzw. nach-Beschattung-Position, wenn der jeweilige Status zum Zeitpunkt der Deaktivierung ein Dämmerungs- bzw. Beschattungs-Status war.

            Bin gespannt, wie es damit nun bei euch aussieht.
            Kind regards,
            Yves

            Kommentar


              Das ist großartig, vielen Dank auch für die schnelle Reaktion hier!

              Kommentar


                Hi Yves,

                Danke für das Update! Habe eben aktualisiert, aktiviert und getestet. Beschattungs-Tests sind aktuell naturgemäß schwer möglich. Deswegen habe ich einfach die Lamellen händisch bewegt, Baustein deaktiviert sich. Nach Triggern von E12 mit einer 1 werden nun sofort die Dämmerungswerte angefahren (E63 und E64). Fazit: geil geil geil! Genauso wollte ich es ich immer haben, ein Klick in der Visu, LBS ist wieder scharf und die aktuelle Position nach LBS-Einstellung wird angefahren. Werde hoffentlich morgen mal dazu kommen, das ganze im Beschasttungds-Szenario zu testen.

                Viele vielen Dank für die viele Zeit und Nerven, die du in den tollen Baustein steckst!
                Gruß,
                Matthias

                Kommentar


                  Man o mann! So schnell komm ich gar nicht hinterher!

                  Vielen Dank​​​​ Yves.

                  Werde wohl erst morgen zum testen k​​ommen.
                  Gruß
                  Andi

                  Kommentar


                    Hi Yves,

                    ich habe das Re-Aktivieren des Bausteins nach automatischer Deaktivierung eben nochmal getestet. Gestern war der LBS ja im Dämmerungszustand, gerade ist er im Behangzustand Open (0). Gemäß meinen Einstellungen sind die Raffstoren auf 100% und die Lamellen auf "Durchblick" mit 50% (ich habe Typ 1). Wenn ich die Lamellen jetzt auf 75% verstelle deaktiviert sich der Baustein. Mit einer "1" auf E12 fahren die Lamellen nun aber erst auf 100% und direkt danach auf 50%. Ich hätte erwartet, dass direkt die Durchsichtsposition angefahren wird. Dasselbe Verhalten habe ich auch beim Beschatten beobachtet (erst komplett Verschlossen, danach auf die berechnete Position) - hier fehlt mir aber aktuell ein Beispiel.

                    Anbei ein Screenshot nach Deaktivierung duch Verstellen auf 75% Lamelle und direkt vor Senden einer "1" auf E12 (die 1 auf dem Screen kommt einfach vom letzten Senden des Wertes).

                    Beschattung1.png
                    Gruß,
                    Matthias

                    Kommentar


                      Hallo Matthias

                      Zitat von baumhaus123 Beitrag anzeigen
                      gerade ist er im Behangzustand Open (0). Gemäß meinen Einstellungen sind die Raffstoren auf 100% und die Lamellen auf "Durchblick" mit 50% (ich habe Typ 1).
                      Da es auf dem Screenshot nicht zu sehen ist: Als Default passt das aber nicht zusammen, da im Status OPEN (0) sowohl Höhe als auch Winkel jeweils 0 sind. Wie/wo genau hast Du das also eingestellt?


                      Zitat von baumhaus123 Beitrag anzeigen
                      Wenn ich die Lamellen jetzt auf 75% verstelle deaktiviert sich der Baustein. Mit einer "1" auf E12 fahren die Lamellen nun aber erst auf 100% und direkt danach auf 50%. Ich hätte erwartet, dass direkt die Durchsichtsposition angefahren wird. Dasselbe Verhalten habe ich auch beim Beschatten beobachtet (erst komplett Verschlossen, danach auf die berechnete Position) - hier fehlt mir aber aktuell ein Beispiel.
                      Das ist korrekt und ich wüsste auch nicht, wie ich das verhindern sollte. Der Wunsch war, dass beim Reaktivieren die letzte Position angefahren wird. Damit werden also alle Ausgänge neu beschrieben und damit fährt der Aktor zunächst die Höhe von (in dem Fall) 100% an, wobei die Lamellen geschlossen werden. Das ist eigentlich ein Aktor-Problem, wenn er nicht wirklich Höhe und Winkel separat handhaben kann. Wenn er sich auf 100% Höhe befindet und bekommt erneut die Info, auf 100% Höhe zu fahren, dann sollte er das nicht machen, da er ja schon dort ist.

                      In Daten und Wahrheit hat sich die Höhe nicht geändert aber das kann der Baustein nicht wissen. Danach wird dann vom Aktor der Winkel angefahren und erst damit besteht wieder der erwartete Zustand.

                      Evtl. lässt sich das mit einem SBC verhindern, mit dem Baustein selbst wird es aber vermutlich nicht funktionieren.

                      Kind regards,
                      Yves

                      Kommentar


                        Zitat von starwarsfan Beitrag anzeigen
                        Da es auf dem Screenshot nicht zu sehen ist: Als Default passt das aber nicht zusammen, da im Status OPEN (0) sowohl Höhe als auch Winkel jeweils 0 sind. Wie/wo genau hast Du das also eingestellt?
                        Ich denke hier müssten die Werte aus E68 (100%) und E69 (50%) gezogen haben (Nach-Dämmerung). Auf Zustand 0 bin ich gekommen, als ich mir den Wert des remantenten iKOs an E11 und A10 angesehen habe.

                        Zitat von starwarsfan Beitrag anzeigen
                        (...) Damit werden also alle Ausgänge neu beschrieben und damit fährt der Aktor zunächst die Höhe von (in dem Fall) 100% an, wobei die Lamellen geschlossen werden. Das ist eigentlich ein Aktor-Problem, wenn er nicht wirklich Höhe und Winkel separat handhaben kann. Wenn er sich auf 100% Höhe befindet und bekommt erneut die Info, auf 100% Höhe zu fahren, dann sollte er das nicht machen, da er ja schon dort ist.

                        In Daten und Wahrheit hat sich die Höhe nicht geändert aber das kann der Baustein nicht wissen. Danach wird dann vom Aktor der Winkel angefahren und erst damit besteht wieder der erwartete Zustand.

                        Evtl. lässt sich das mit einem SBC verhindern, mit dem Baustein selbst wird es aber vermutlich nicht funktionieren.
                        Ah, du hat vollkommen recht! Habe es eben getestet. Behang auf 100% macht bei einem Fahrbefehl ebenfalls auf 100% erst ganz zu und dann die vorherige Lamellenposition - wie du sagst klar ein Aktoren-Thema. Ist mir bisher noch gar nicht aufgefallen. Das lässt sich ja recht einfach über die Logik abfangen.

                        Danke!

                        Edit: Wenn ich SBC am Ausgang verwende fährt der Raffstore nach Reaktivierung komplett hoch. Aufgrund welcher Konfiguration macht er das denn? Wenn der Baustein neu aktiviert wird sollte doch die letzte Pos. vor der Deaktivierung angefahren werden, oder? Die war ja 100 / 50 bei mir.
                        Zuletzt geändert von baumhaus123; 21.03.2017, 14:53. Grund: Update mit SBCs
                        Gruß,
                        Matthias

                        Kommentar


                          Hallo Yves,

                          konnte nun nicht mehr warten, da ich sehr gespannt auf die Änderungen war... Der LBS läuft nun seit ein paar Minuten auf aktueller Version.

                          die gute Nachricht: Im Dämmerungszustand -4 funktioniert nun eine "0" an E60 wie gewollt: Jalousie fährt sofort auf Position E68/69!

                          Wenn ich dann aber direkt wieder eine "1" an E60 sende bleibt die Jalousie leider (erstmal) oben. Erst nach ein paar Minuten (scheint so als ob da irgendein Timer läuft) geht dann die Jalousie wieder runter. Wie war das von Dir gedacht: Ist beim Reaktivieren noch ein Timer aktiv oder wird dort wie beim Deaktivieren ohne Timer die neue Position geschrieben?

                          Mehr Tests dann hoffentlich morgen wenn es wieder hell ist...
                          Gruß
                          Andi

                          Kommentar


                            Hi Matthias

                            Zitat von baumhaus123 Beitrag anzeigen
                            Edit: Wenn ich SBC am Ausgang verwende fährt der Raffstore nach Reaktivierung komplett hoch. Aufgrund welcher Konfiguration macht er das denn? Wenn der Baustein neu aktiviert wird sollte doch die letzte Pos. vor der Deaktivierung angefahren werden, oder? Die war ja 100 / 50 bei mir.
                            Das kann ich Dir nicht sagen. Muss an deiner Logik oder dem Aktor liegen, da es ohne SBC ja funktioniert. Irgendwie bekommt der Aktor eine 0 auf die Höhe und fährt deshalb nach oben.
                            Kind regards,
                            Yves

                            Kommentar


                              Hoi Andi

                              Zitat von tger977 Beitrag anzeigen
                              Wenn ich dann aber direkt wieder eine "1" an E60 sende bleibt die Jalousie leider (erstmal) oben. Erst nach ein paar Minuten (scheint so als ob da irgendein Timer läuft) geht dann die Jalousie wieder runter. Wie war das von Dir gedacht: Ist beim Reaktivieren noch ein Timer aktiv oder wird dort wie beim Deaktivieren ohne Timer die neue Position geschrieben?
                              Das ist korrekt, da Du die Funktion ja aus bzw. ein schaltest. Beim einschalten wird der ganz normale Betrieb aufgenommen und somit laufen dann zunächst die jeweiligen Timer ab.
                              Kind regards,
                              Yves

                              Kommentar


                                Hallo Andi

                                Zitat von starwarsfan Beitrag anzeigen
                                Das ist korrekt, da Du die Funktion ja aus bzw. ein schaltest. Beim einschalten wird der ganz normale Betrieb aufgenommen und somit laufen dann zunächst die jeweiligen Timer ab.
                                Es ist sogar noch ein wenig komplexer. Wenn der Beschattungs- oder Dämmerungsmodus erneut aktiviert wird und sich der Baustein in einem entsprechenden Status befindet, dann macht der Baustein im Moment gar nichts. Er prüft den aktuellen Zustand, der hat sich nicht verändert und somit muss auch nichts neu positioniert werden. Habe das eben hier explizit durchgespielt.

                                Ein mögliche Lösung wäre, explizit bei Reaktivierung des Beschattungs- oder Dämmerungsmodus ein sofortiges Neupositionieren des Behangs auszulösen. Allerdings stellt sich dann die Frage, wer Vorrang hat: E1 oder E40 bzw. E1 oder E60! Das ist relevant, da der Trigger E1 den Behang auf die Werte aus der letzten Positionierung fährt, also nicht explizit die Position neu errechnet.

                                Muss da mal noch etwas länger drüber nachdenken...
                                Kind regards,
                                Yves

                                Kommentar

                                Lädt...
                                X