Ankündigung

Einklappen
Keine Ankündigung bisher.

LBS 19000145 - Beschattungssteuerung-NG

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

    Hallo Yves,

    zu meinem Post #65 noch ein paar Details, da das Verhalten vermutlich hauptsächlich an meiner Logik und dem Aktorverhalten und wenn überhaupt nur zu einem geringen Teil an Deinem Baustein liegt:

    - LBS ist hier über E12 deaktiviert worden (Kinderzimmer Jalousie Nachtsperre), damit wird aber in meiner Logik auch die Sperre in meinem BMS Aktor gesetzt. Das passiert alles noch bei Helligkeit und LBS Zustand 0.
    - bei mir werden mit System KO 2 "Systemstart" immer die LBS Sperren aufgehoben und die LBS alle neu aktiviert, da die Timer für das zeitliche entsperren mit Systemstart alle resetiert sind und damit quasi eine Dauersperre ohne manuellen Eingriff entstehen würde. Damit wird die Automatiksperre im Aktor auch aufgehoben
    - darauf wiederrum fährt der BMS MCU Aktor die letzte ihm bekannte Automatikposition an (und das war die OPEN Position da keine Beschattung aktiv war und es noch nicht dunkel war...) --> Jalousie fährt hoch durch Aktor nicht durch Deinen LBS...
    - im KNX Log sehe ich daß mit KO2 der LBS Status mit -5 korrekt ermittelt und geschrieben wird. (-5 hier ok, da ja Vorgängerstatus noch 0 ist und bei der Abenddämmerung der LBS ja nicht gerechnet hat) und damit natürlich auch erstmal keine neue Jalousieposition rausgibt.
    - Nach Ablauf des Timers wird dann die Jalousie in die Dämmerungsposition gefahren

    soweit nun alles nachvollziehbar und erklärbar warum an der einen Jalousie das hochfahren ausgelöst wird. --> ist ein Thema das ich vermutlich selbst per Logik lösen muss, da doch sehr speziell für meinen Anwendungsfall... Vermutlich gebe ich die Jalousie Nachtsperre nun nur auf die Beschattungsautomatik (E40 auf 0) und nicht auf die Baustein Deaktivierung, da dann die Dämmerungsposition trotzdem berechnet werden sollte und bei einem Systemneustart dann auch der LBS Zustand auf -4 bekannt ist.

    Was ich aber nicht verstehe ist daß alle anderen LBS nach dem Neustart trotz der remanenten LBS Statusinfo von -4 einen neuen Timer aufsetzen und mit Status -5 gestartet werden und damit (aus meiner Sicht unnötig) in Zustand -5 versetzt werden. Nach Ablauf des Timers für die Dämmerung werden dann an allen LBS die eigentlich schon eingestellten Jalousiepositionen erneut ausgegeben und angefahren (bei mir löst das z.B. ein unnötiges Lamellen AUF/ZU aus). Getriggert werden die LBS wie oben geschrieben zwar alle von mir wegen dem Systemstart KO2 das auf E12 geht aber ich würde dann erwarten daß es beim Zustand -4 bleibt, kein Timer gestartet wird und damit dann auch keine neuen Jalousiepositionen an den Ausgängen ausgegeben werden.


    Gruß
    Andi

    Kommentar


      Zitat von starwarsfan Beitrag anzeigen
      Änderungen an den Eingängen E40 Beschattungssteuerung aktiv oder E60 Dämmerungssteuerung aktiv triggern in der kommenden LBS-Version den Baustein.
      Hallo Yves,

      danke dafür, aber leider nützt das so noch nicht viel da da nach wie vor nichts passiert wenn ich auf E40 eine "0" sende... Irgendwie wird da die Position von E48+49 nicht angefahren (weder direkt noch mit einem Timer).


      Gruß
      Andi

      Kommentar


        und was mir beim Spielen mit der Beschattung auch noch auffiel: Wenn z.B. ein Öffnen Timer gestartet wurde (Helligkeit unter Schwelle gefallen) und dann entweder die Helligkeitsschwelle unter den Helligkeitswert abgesenkt wird oder aber auch der Helligkeitswert der Wetterstation während des Timers wieder über die Schwelle geht wird der Timer trotzdem zu Ende gebracht und nach Ablauf fährt die Jalousie zuerst in Öffnungsposition und von dort wird dann direkt der neue Timer zum Schliessen wieder aufgesetzt.
        Gruß
        Andi

        Kommentar


          starwarsfan Die Winkelberechnung bei Typ 1 sieht nun gut aus, danke dir! Da ich nun die restliche Logik auch anpassen möchte (Umzug zum NG) noch eine Frage zur Sicherheit: Der alte Baustein hat beim Triggern immer die aktuellen Werte für Höhe und Winkel ausgegeben, das macht der NG nicht mehr, ist das absichtlich so? Wäre extrem hilfreich, so kann man einfach den aktuell richtigen Zustand vom Behang herstellen.

          Kommentar


            Hallo miteinander

            Zitat von tger977 Beitrag anzeigen
            aber leider nützt das so noch nicht viel da da nach wie vor nichts passiert wenn ich auf E40 eine "0" sende... Irgendwie wird da die Position von E48+49 nicht angefahren (weder direkt noch mit einem Timer).
            Stimmt, das ist dann ein ganz anderer Teil im Code. Aktuell ist es nun lediglich so, dass das Schreiben Eines Wertes auf E40 oder E60 den Baustein ebenfalls triggert. Wird dabei nun aber der jeweilige Teil deaktiviert, also mit einer 0 beschrieben, wird schlicht und ergreifend gar nichts gemacht. Eigentlich ist das ja genau so wie es sein soll. Wird die Beschattungs- oder Dämmerungssteuerung deaktiviert, macht sie gar nichts.

            Ob das so ok ist, kann man sicher diskutieren. Ich würde aber zunächst an dieser Stelle nichts weiter unternehmen, denn "it works as expected" und stattdessen lieber erstmal die tatsächlichen Fehler angehen. Wäre das ok für Dich?


            Zitat von tger977 Beitrag anzeigen
            und was mir beim Spielen mit der Beschattung auch noch auffiel: Wenn z.B. ein Öffnen Timer gestartet wurde (Helligkeit unter Schwelle gefallen) und dann entweder die Helligkeitsschwelle unter den Helligkeitswert abgesenkt wird oder aber auch der Helligkeitswert der Wetterstation während des Timers wieder über die Schwelle geht wird der Timer trotzdem zu Ende gebracht und nach Ablauf fährt die Jalousie zuerst in Öffnungsposition und von dort wird dann direkt der neue Timer zum Schliessen wieder aufgesetzt.
            Möglich, muss ich mir genauer ansehen. Das ist ein Wechsel innerhalb der Statemachine, welcher einem nicht linearen Durchlauf durch die einzelnen States entspricht.


            Zitat von crewo Beitrag anzeigen
            Die Winkelberechnung bei Typ 1 sieht nun gut aus, danke dir!
            Cool, freut mich zu hören. Ein Bug weniger.

            Zitat von crewo Beitrag anzeigen
            Da ich nun die restliche Logik auch anpassen möchte (Umzug zum NG) noch eine Frage zur Sicherheit: Der alte Baustein hat beim Triggern immer die aktuellen Werte für Höhe und Winkel ausgegeben, das macht der NG nicht mehr, ist das absichtlich so? Wäre extrem hilfreich, so kann man einfach den aktuell richtigen Zustand vom Behang herstellen.
            Was meinst Du mit "beim Triggern"? Explizit via E1?
            Kind regards,
            Yves

            Kommentar


              @all: Ich versuche, den Baustein so nach und nach "bullet-proof" zu machen und die hier gemeldeten Issues auszumerzen. Dabei kann es aber durchaus passieren, dass das eine oder andere gemeldete Problem untergeht, da ich den Thread schlicht und ergreifend nicht ständig neu quer lesen kann. Bitte in diesem Fall ggf. erneut nachfragen.

              Dabei aber ein Anliegen: Das Problem nach Möglichkeit immer mit der aktuellen Version des Bausteins nachstellen und alle relevanten Settings angeben. Am besten mit einem Screenshot mit Live-Daten. Dann kann ich mein Dev-Setup nämlich exakt genau so parametrieren und dem jeweiligen Problem nachgehen.

              Thx a lot und weiterhin viel Spass mit Edomi, dem Beschattungsbaustein und allem was sonst noch dazu gehört.
              Kind regards,
              Yves

              Kommentar


                starwarsfan Ja, genau via E1, ich würde erwarten ich bekomme dann auf den Ausgängen A3 bis A6 die Werte ausgegeben. Oder wie kann ich vorgehen um z.B. nach Sperre über Nacht (absolute Position gesperrt über Szene im Aktor) die Lamellenführung zu starten ohne auf Witterungsänderung zu warten?

                Kommentar


                  Zitat von starwarsfan Beitrag anzeigen
                  Ob das so ok ist, kann man sicher diskutieren. Ich würde aber zunächst an dieser Stelle nichts weiter unternehmen, denn "it works as expected" und stattdessen lieber erstmal die tatsächlichen Fehler angehen. Wäre das ok für Dich?
                  Hallo Yves,

                  das kann man wirklich diskutieren... Die tatsächlichen Fehler haben sicher Vorrang, ganz klar, aber mit dem derzeitigen Verhalten sehe ich (noch) keine wirkliche Chance die Temperatursteuerung über einen Vorschalt-LBS zu realisieren. Oder hast Du da was im Kopf was ich noch nicht sehe?

                  Wenn ich die Beschattungsautomatik beende würde ich erwarten daß der Baustein dann auch die Positionen nach Beschattungsende anfährt und ab dann eben nichts mehr über das Beschattungsprogramm macht. Wenn ich das Hochfahren zusätzlich zur Deaktivierung des Beschattungsprogramms manuell mache ist der Baustein ja über external height / angle sofort ganz aus und dann geht auch kein Dämmerungsprogramm mehr...

                  Szenario für die Anwendung: Es ist kalt draußen und drinnen, die Beschattung ist aus und ich nutze die Solargewinne zum heizen des Raumes. Wenn aber die Innenraumtemperatur dann irgendwann zu hoch wird wird die Beschattung aktiviert um ein Überhitzen zu vermeiden. Falls es dann aber wieder innen kälter wird würde ich gerne die Beschattung wieder aufheben zum erneuten Heizen. Letzteres geht so im Moment wohl noch nicht, oder?

                  Oder anderes formuliert: Wenn ich ein Programm beende sollten aus meiner Sicht auch die Einstellungen des Programms zurückgenommen werden. Ansonsten gleicht es eher einer Sperre als einer Deaktivierung.

                  Oder nochmal anders: was nützt die Retriggerung des Bausteins, wenn dann doch nichts passiert?

                  Mein Wunsch den ich hier gerne zur Diskussion stelle:
                  - bei Aktivierung prüfen ob Beschattung/Dämmerungspostion mit aktuellen Einstellungen anzufahren ist, falls ja direkt ohne Timer die berechnete Position anfahren (User oder andere Automatik/Vorschalt-LBS hat sich dazu ja schon gedanken gemacht und erwartet eigentlich eine direkte "Antwort"...)
                  - Bei Deaktivierung sollten die restlichen, aktiven Programme / Zustände berechnet werden, falls keines dieser Programme einen anderen Positionswert liefert sollten die Postionen "nach Beschattung / Dämmerung" eingestellt werden.
                  Zuletzt geändert von tger977; 19.03.2017, 20:01. Grund: Umsetzungswunsch ergänzt!
                  Gruß
                  Andi

                  Kommentar


                    tger977 ich denke unsere Anforderungen sind recht ähnlich. Nur wäre mir nicht so wichtig das Einstellungen beim deaktivieren zurückgenommen werden, denn zurück zu was? Könnte man doch mit externer Logik prima selbst managen. Wichtig wäre allerdings, dass bei Aktivierung oder generellem Trigger der Baustein die aktuelle Lage prüft und die Ausgänge einmalig neu beschreibt mit den passenden Werten zur Situation - das wäre wirklich extrem hilfreich

                    Kommentar


                      Zitat von crewo Beitrag anzeigen
                      Nur wäre mir nicht so wichtig das Einstellungen beim deaktivieren zurückgenommen werden, denn zurück zu was? Könnte man doch mit externer Logik prima selbst managen.
                      Die externe Logik ist nicht das Problem aus meiner Sicht. Nur wo speise ich die neue, gewünschte Jalousieposition dann im LBS ein? Wenn ich eine Position ohne den LBS direkt einstelle deaktiviert sich der Baustein ja selbst. Hatte ja auch noch meinen post oben genau um diesen Punkt ergänzt, kurz bevor Du geantwortet hast.

                      Zitat von crewo Beitrag anzeigen
                      Wichtig wäre allerdings, dass bei Aktivierung oder generellem Trigger der Baustein die aktuelle Lage prüft und die Ausgänge einmalig neu beschreibt mit den passenden Werten zur Situation - das wäre wirklich extrem hilfreich
                      full ack!
                      Zuletzt geändert von tger977; 19.03.2017, 20:35.
                      Gruß
                      Andi

                      Kommentar


                        also nach weiterem Testen habe ich fast die Vermutung daß generell wenn ein Timer läuft der LBS auf gar nichts mehr reagiert bis der timer abgelaufen ist...
                        Gruß
                        Andi

                        Kommentar


                          Hallo miteinander,

                          ok, verstehe die Problematik. Ob ich auch so eine Liste wie gaert anfange?
                          Kind regards,
                          Yves

                          Kommentar


                            Also ich hab nicht einmal bitte gelesen, außer von Yves selbst......

                            Kommentar


                              starwarsfan "hx5" hat nicht ganz unrecht, auch wenn das aktuell sicher auch ein Geben und Nehmen ist zwischen uns Testern und dir, trotzdem an dieser Stelle noch einmal vielen vielen Dank für die ganzen Mühen. Eine Liste kann nie schaden, dann weiß man auch was du überhaupt umsetzt und was nicht - und kann sich damit auf die eigene Lösungssuche machen

                              Und kurz rückgefragt: Wie löst du (oder würdest du lösen) bei dir den Fall, wenn eine Jalousie z.B. Nachts gesperrt werden muss und erst nach dem es am Morgen schon hell ist (aber keine Beschattung nötig), entsperrt wird? Dafür wird nicht die Bausteinfunktion "Sperre" verwendet, diese verwende ich für "Tür auf". Problem ist dann, der Baustein führt keine Änderung durch, auch nicht beim Triggern über sämtliche relevanten Eingänge, d.h. die Jalousie verbleibt im Modus "Dämmerung". Ich würde aber erwarten, das die Werte für "Nach Dämmerung" gesetzt werden. Könntest du dir das bitte einmal ansehen?

                              Kommentar


                                Hallo miteinander

                                Zitat von crewo Beitrag anzeigen
                                Ja, genau via E1, ich würde erwarten ich bekomme dann auf den Ausgängen A3 bis A6 die Werte ausgegeben. Oder wie kann ich vorgehen um z.B. nach Sperre über Nacht (absolute Position gesperrt über Szene im Aktor) die Lamellenführung zu starten ohne auf Witterungsänderung zu warten?
                                Zitat von tger977 Beitrag anzeigen
                                Wenn ich die Beschattungsautomatik beende würde ich erwarten daß der Baustein dann auch die Positionen nach Beschattungsende anfährt und ab dann eben nichts mehr über das Beschattungsprogramm macht. Wenn ich das Hochfahren zusätzlich zur Deaktivierung des Beschattungsprogramms manuell mache ist der Baustein ja über external height / angle sofort ganz aus und dann geht auch kein Dämmerungsprogramm mehr...
                                Das braucht jetzt offenbar eine ganze Portion mehr Hirnschmalz. Das sind alles Fälle, welche nach einem mehr oder weniger konkreten Schema den Durchlauf der Statemachine verändern. Vereinfacht gesagt ist es aktuell so, dass es einen genauen Ablauf zwischen den einzelnen Status gibt, welcher durch die Statemachine definiert und abgearbeitet wird. Die möglichen Status und deren Ablauf-Reihenfolge sieht so aus:
                                • SHADOW_FULL_CLOSE_TIMER_RUNNING (5)
                                • SHADOW_FULL_CLOSED (4)
                                • SHADOW_HORIZONTAL_OPEN_TIMER_RUNNING (3)
                                • SHADOW_HORIZONTAL_OPEN (2)
                                • SHADOW_OPEN_TIMER_RUNNING (1)
                                • OPEN (0)
                                • DAWN_OPEN_TIMER_RUNNING (-1)
                                • DAWN_HORIZONTAL_OPEN (-2)
                                • DAWN_HORIZONTAL_OPEN_TIMER_RUNNING (-3)
                                • DAWN_FULL_CLOSED (-4)
                                • DAWN_FULL_CLOSE_TIMER_RUNNING (-5)
                                Im Ablauf aktuell so:
                                2017-03-20-StateMachine01.png

                                Nun kommen aber eben weitere Statusübergänge hinzu und ich bin mir noch nicht so recht im klaren, wie ich diese modelliere resp. nachvollziehbar abbilde.

                                Aber wird schon, keine Sorge...
                                Kind regards,
                                Yves

                                Kommentar

                                Lädt...
                                X