Ankündigung

Einklappen
Keine Ankündigung bisher.

LBS 19000141 - Beschattungssteuerung

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

    Super, danke euch für die schnelle Antwort.
    Dann teste ich mal weiter

    Kommentar


      Hallo miteinander

      Zitat von vento66 Beitrag anzeigen
      Die Deaktivierung hat eine gewisse Toleranz (ich glaub 5%), also alles kein Problem!
      Ich hoffe, dass das auch noch so ist...

      Muss ich nochmal checken!
      Kind regards,
      Yves

      Kommentar


        Hallo Yves

        Zum Soll/Ist Vergleich und der Deaktivierung gleich noch eine Frage.

        Du schreibst Winkel und Höhe in %:


        Code:
        [e#33      =Hoehe Ist-Wert (%)                                   ]
        [e#34      =Winkel Ist-Wert (%)                                  ]
        Jedoch machst du im Code ja folgendes:

        PHP-Code:
         if ($currentHeightExternalRefreshed == && $currentHeightExternal <> '' && ((($currentHeightExternal 2.55) < $minHeight) || ($currentHeightExternal 2.55) > $maxHeight)) {
                        
        setLogicElementVar($id3, ($currentHeightExternal 2.55));
                        
        setLogicElementVar($id160);
                        
        setLogicLinkAusgang($id80);
                        
        LB_LBSID_debug($idtrue"LBS disabled through external height change");
                        return;
                    } 

        Somit rechnest du ja 0-255 in % um, was ja bereits am Eingang anliegen sollte gem. Beschreibung.

        Ist hier die Doku oder der Code nicht korrekt?


        Kommentar


          Hallo und guten Abend

          Zitat von pamo Beitrag anzeigen
          Zum Soll/Ist Vergleich und der Deaktivierung gleich noch eine Frage.
          Immer gerne!


          Zitat von pamo Beitrag anzeigen
          Du schreibst Winkel und Höhe in %:

          Code:
          [e#33 =Hoehe Ist-Wert (%) ]
          [e#34 =Winkel Ist-Wert (%) ]
          Jedoch machst du im Code ja folgendes:

          [PHP] if ($currentHeightExternalRefreshed == 1 && $currentHeightExternal <> '' && ((($currentHeightExternal / 2.55) < $minHeight) || ($currentHeightExternal / 2.55) > $maxHeight)) {
          setLogicElementVar($id, 3, ($currentHeightExternal / 2.55));
          ...
          Somit rechnest du ja 0-255 in % um, was ja bereits am Eingang anliegen sollte gem. Beschreibung.

          Ist hier die Doku oder der Code nicht korrekt?
          Guter Punkt! Das ist in der Tat inkonsistent. Ist mir nicht explizit aufgefallen, da ich die Funktion aktuell nicht wirklich verwende und nur in meinem Test-Setup durchgespielt habe. Danke für den Hinweis!

          Da alle Eingänge auf echten %-Werten basieren, würde ich auch hier die Eingänge in % verarbeiten, also die jeweilige Division durch 2.55 entfernen. Einverstanden?
          Kind regards,
          Yves

          Kommentar


            Da alle Eingänge auf echten %-Werten basieren, würde ich auch hier die Eingänge in % verarbeiten, also die jeweilige Division durch 2.55 entfernen. Einverstanden?
            Ja, macht Sinn so.
            Merci!

            Kommentar


              Salü Yves

              Ich habe festgestellt, dass bei meinem Aktor, die Toleranzen nicht immer ausreichern.
              Bspw. Behang auf 100% und Winkel auf 0% führt bei mir dazu, dass der Behang schlussendlich bei 96% steht, und dies liegt ausserhalb der Toleranz.

              Es wäre toll, wenn die Toleranz konfigurierbar wäre.


              Kommentar


                Wenn die 5% noch im Baustein sind, dan sollte das doch passen.

                Kommentar


                  Hallo miteinander

                  Zitat von vento66 Beitrag anzeigen
                  Wenn die 5% noch im Baustein sind, dan sollte das doch passen.
                  So ist es. Toleranz Höhe ist +/- 10% und Toleranz Winkel ist +/- 5%.

                  Aber wie oben schon geschrieben, wird der Eingang zwar als % beschrieben aber als Byte behandelt. Solange das noch nicht korrigiert ist, einfach einen Bytewert einspeisen oder den %Wert mit 2.55 multiplizieren.
                  Kind regards,
                  Yves

                  Kommentar


                    Stimmt, die Toleranz müsste eigentlich passen.
                    Jedoch deaktiviert sich der LBS immer von selber, sobald die Storen unten sind.
                    Ich muss das Ganze morgen noch debugen

                    Kommentar


                      Ich konnte nun das Verhalten genauer analysieren.

                      LBS Log
                      Code:
                      2016-08-18 10:03:56    296264    20756    INFO:     Previous values == current values, no new timer started (isInSun: 1, produceShadow: 1, heightPercent: 100, anglePercent: 22, previousShutterState: 2, shutterState: 2)
                      2016-08-18 10:04:04    347119    20756    INFO:     Timer finished, updating outputs...
                      2016-08-18 10:04:04    348949    20756    INFO:     Produce shadow 0/1: 1
                      2016-08-18 10:04:04    350040    20756    INFO:     Height 100%, 255 Byte
                      2016-08-18 10:04:04    351248    20756    INFO:     Angle 22%, 56 Byte, 20°
                      2016-08-18 10:04:06    171798    20756    INFO:     Azimut 110.11728°: Facade at 135° is illuminated (from 45° to 225°, Azimut calc 65.11728°, entry calc at 0°, exit calc at 180°)
                      2016-08-18 10:04:06    171864    20756    INFO:     Elevation: 33.88224°, resulting shutter angle: 22° (without stepping and offset)
                      2016-08-18 10:04:06    172163    20756    INFO:     Elevation: 33.88224°, resulting shutter angle: 20°
                      2016-08-18 10:04:06    172214    20756    INFO:     Shutter angle 20° = 22%
                      2016-08-18 10:04:06    172844    20756    INFO:     Previous values == current values, no new timer started (isInSun: 1, produceShadow: 1, heightPercent: 100, anglePercent: 22, previousShutterState: 2, shutterState: 2)
                      2016-08-18 10:04:06    290699    20756    INFO:     Azimut 110.11728°: Facade at 135° is illuminated (from 45° to 225°, Azimut calc 65.11728°, entry calc at 0°, exit calc at 180°)
                      2016-08-18 10:04:06    290755    20756    INFO:     Elevation: 33.88224°, resulting shutter angle: 22° (without stepping and offset)
                      2016-08-18 10:04:06    290872    20756    INFO:     Elevation: 33.88224°, resulting shutter angle: 20°
                      2016-08-18 10:04:06    290905    20756    INFO:     Shutter angle 20° = 22%
                      2016-08-18 10:04:06    291079    20756    INFO:     Previous values == current values, no new timer started (isInSun: 1, produceShadow: 1, heightPercent: 100, anglePercent: 22, previousShutterState: 2, shutterState: 2)
                      2016-08-18 10:04:16    187710    20756    INFO:     Azimut 110.11728°: Facade at 135° is illuminated (from 45° to 225°, Azimut calc 65.11728°, entry calc at 0°, exit calc at 180°)
                      2016-08-18 10:04:16    187774    20756    INFO:     Elevation: 33.88224°, resulting shutter angle: 22° (without stepping and offset)
                      2016-08-18 10:04:16    187900    20756    INFO:     Elevation: 33.88224°, resulting shutter angle: 20°
                      2016-08-18 10:04:16    187936    20756    INFO:     Shutter angle 20° = 22%
                      2016-08-18 10:04:16    188123    20756    INFO:     Previous values == current values, no new timer started (isInSun: 1, produceShadow: 1, heightPercent: 100, anglePercent: 22, previousShutterState: 2, shutterState: 2)
                      2016-08-18 10:04:16    299420    20756    INFO:     Azimut 110.11728°: Facade at 135° is illuminated (from 45° to 225°, Azimut calc 65.11728°, entry calc at 0°, exit calc at 180°)
                      2016-08-18 10:04:16    299473    20756    INFO:     Elevation: 33.88224°, resulting shutter angle: 22° (without stepping and offset)
                      2016-08-18 10:04:16    299595    20756    INFO:     Elevation: 33.88224°, resulting shutter angle: 20°
                      2016-08-18 10:04:16    299629    20756    INFO:     Shutter angle 20° = 22%
                      2016-08-18 10:04:16    299801    20756    INFO:     Previous values == current values, no new timer started (isInSun: 1, produceShadow: 1, heightPercent: 100, anglePercent: 22, previousShutterState: 2, shutterState: 2)
                      2016-08-18 10:04:26    191447    20756    INFO:     Azimut 110.11728°: Facade at 135° is illuminated (from 45° to 225°, Azimut calc 65.11728°, entry calc at 0°, exit calc at 180°)
                      2016-08-18 10:04:26    191505    20756    INFO:     Elevation: 33.88224°, resulting shutter angle: 22° (without stepping and offset)
                      2016-08-18 10:04:26    191621    20756    INFO:     Elevation: 33.88224°, resulting shutter angle: 20°
                      2016-08-18 10:04:26    191653    20756    INFO:     Shutter angle 20° = 22%
                      2016-08-18 10:04:26    191816    20756    INFO:     Previous values == current values, no new timer started (isInSun: 1, produceShadow: 1, heightPercent: 100, anglePercent: 22, previousShutterState: 2, shutterState: 2)
                      2016-08-18 10:04:26    302131    20756    INFO:     Azimut 110.11728°: Facade at 135° is illuminated (from 45° to 225°, Azimut calc 65.11728°, entry calc at 0°, exit calc at 180°)
                      2016-08-18 10:04:26    302194    20756    INFO:     Elevation: 33.88224°, resulting shutter angle: 22° (without stepping and offset)
                      2016-08-18 10:04:26    302326    20756    INFO:     Elevation: 33.88224°, resulting shutter angle: 20°
                      2016-08-18 10:04:26    302390    20756    INFO:     Shutter angle 20° = 22%
                      2016-08-18 10:04:26    302597    20756    INFO:     Previous values == current values, no new timer started (isInSun: 1, produceShadow: 1, heightPercent: 100, anglePercent: 22, previousShutterState: 2, shutterState: 2)
                      2016-08-18 10:04:36    204874    20756    INFO:     Azimut 110.11728°: Facade at 135° is illuminated (from 45° to 225°, Azimut calc 65.11728°, entry calc at 0°, exit calc at 180°)
                      2016-08-18 10:04:36    204955    20756    INFO:     Elevation: 33.88224°, resulting shutter angle: 22° (without stepping and offset)
                      2016-08-18 10:04:36    205292    20756    INFO:     Elevation: 33.88224°, resulting shutter angle: 20°
                      2016-08-18 10:04:36    205338    20756    INFO:     Shutter angle 20° = 22%
                      2016-08-18 10:04:36    205910    20756    INFO:     Previous values == current values, no new timer started (isInSun: 1, produceShadow: 1, heightPercent: 100, anglePercent: 22, previousShutterState: 2, shutterState: 2)
                      2016-08-18 10:04:36    218211    20756    INFO:     Azimut 110.11728°: Facade at 135° is illuminated (from 45° to 225°, Azimut calc 65.11728°, entry calc at 0°, exit calc at 180°)
                      2016-08-18 10:04:36    218277    20756    INFO:     Elevation: 33.88224°, resulting shutter angle: 22° (without stepping and offset)
                      2016-08-18 10:04:36    218492    20756    INFO:     Elevation: 33.88224°, resulting shutter angle: 20°
                      2016-08-18 10:04:36    218534    20756    INFO:     Shutter angle 20° = 22%
                      2016-08-18 10:04:36    218732    20756    INFO:     Previous values == current values, no new timer started (isInSun: 1, produceShadow: 1, heightPercent: 100, anglePercent: 22, previousShutterState: 2, shutterState: 2)
                      2016-08-18 10:04:37    741717    20756    INFO:     LBS disabled through external angle change
                      2016-08-18 10:04:39    259253    20756    INFO:     LBS disabled through external angle change
                      KNX Telegramme
                      Code:
                      2016-08-18 10:04:04    530400    KNX WRITE    EDOMI    4/3/7    333    ST - E5 WC - M7 - Storen, Storenposition    255
                      2016-08-18 10:04:04    546308    KNX WRITE    1.1.254    4/3/7    333    ST - E5 WC - M7 - Storen, Storenposition    255
                      2016-08-18 10:04:04    581727    KNX WRITE    EDOMI    4/3/18    344    ST - E5 WC - M7 - Storen, Lamellenposition    54
                      2016-08-18 10:04:04    624433    KNX WRITE    1.1.254    4/3/18    344    ST - E5 WC - M7 - Storen, Lamellenposition    54
                      2016-08-18 10:04:37    678231    KNX WRITE    1.1.26    4/6/7    377    ST - E5 WC - M7 - Storen    255
                      2016-08-18 10:04:37    722662    KNX WRITE    1.1.26    4/7/7    388    ST - E5 WC - M7 - Storen    255
                      2016-08-18 10:04:39    130389    KNX WRITE    1.1.26    4/6/7    377    ST - E5 WC - M7 - Storen    245
                      2016-08-18 10:04:39    175945    KNX WRITE    1.1.26    4/7/7    388    ST - E5 WC - M7 - Storen    51

                      Nun ist es bei meinem Jalousieaktor von MDT so, dass er jeweils auf die entsprechende Höhe fährt und einen fixen Winkel, welcher in ETS konfiguriert wird, einstellt. Danach wird ein Telegramm für die absolute Höhe und den Winkel versendet. In diesem Fall 255 für die Höhe und 255 für den Winkel.

                      In einem zweiten Schritt stellt er die Lamellen gem. dem absoluten Winkel, welcher im zweiten Telegramm von EDOMI geschickt wurde. Dabei verändert sich auch die Höhe leicht. Anschliessend gibt's wieder 2 Telegramme. 245 für die Höhe und 51 für den Winkel.

                      Der LBS deaktiviert sich jedoch immer selber, da der zuerst gesendete Winkel natürlich ausserhalb der Toleranz liegt. :-(

                      Ich werde nun einen Verzögerungs LBS vor die beiden Eingänge schalten und testen ob die Beschattung damit korrekt funktioniert.

                      Mir ist jedoch unklar ob das Verhalten des MDT Aktors aussergewöhnlich ist oder ob ich andere Aktoren auch so verhalten. Falls dieses Verhalten der Standard ist wäre es wohl sinnvoll bereits im Beschattungs-LBS eine Verzögerung einzubauen.

                      Kommentar


                        Ich habe auch MDT-Aktoren, erst wenn der Raffstore komplett die gesendeten Höhen und Winkel angefahren hat, werden die Statuswerte gesendet, hab damit keine Probleme.

                        Kommentar


                          Habe vorgestern Abend auch mal den Release Candidate in Betrieb genommen, konnte es gestern tagsüber aber leider nicht beobachten, da ich nicht zuhause war. Was ich aber schon mal sagen kann: nachdem ich gestern Abend heimgekommen bin, standen die Lamellen zum ersten Mal alle perfekt waagrecht auf 50% (wie konfiguriert). Bisher waren die oft leicht schief - vermutlich deswegen, weil auch bei mir die 1 - 2% Fahrbefehle zwar den Aktorstatus aber nicht den physischen Lamellenwinkel beeinflusst haben und deswegen am Abend die Werte voneinander abgewichen sind. Die Minimalverstellung steht bei mir auch auf 5%.
                          Die automatische Deaktivierung des LBS bei manueller Verstellung habe ich nun auch mal bei einem Raffstore implementiert. Werde weiter beobachten und berichten.

                          Nochmals vielen Dank für diesen tollen Baustein!
                          Gruß,
                          Matthias

                          Kommentar


                            Hallo miteinander

                            Zitat von pamo Beitrag anzeigen
                            Ich konnte nun das Verhalten genauer analysieren.
                            ...
                            Nun ist es bei meinem Jalousieaktor von MDT so, dass er jeweils auf die entsprechende Höhe fährt und einen fixen Winkel, welcher in ETS konfiguriert wird, einstellt. Danach wird ein Telegramm für die absolute Höhe und den Winkel versendet. In diesem Fall 255 für die Höhe und 255 für den Winkel.

                            In einem zweiten Schritt stellt er die Lamellen gem. dem absoluten Winkel, welcher im zweiten Telegramm von EDOMI geschickt wurde. Dabei verändert sich auch die Höhe leicht. Anschliessend gibt's wieder 2 Telegramme. 245 für die Höhe und 51 für den Winkel.
                            Zitat von MrMirror Beitrag anzeigen
                            Ich habe auch MDT-Aktoren, erst wenn der Raffstore komplett die gesendeten Höhen und Winkel angefahren hat, werden die Statuswerte gesendet, hab damit keine Probleme.
                            Ich kann da nichts dazu sagen, da ich einen solchen Aktor nicht habe. Wenn es aber bei Christoph funktioniert, dann solltet ihr wohl mal die Aktor-Settings miteinander abgleichen. Evtl. liegt ja hier der Unterschied.

                            PS: Ich wäre euch sehr verbunden, wenn ihr dazu einen separaten Thread aufmachen würdet.
                            Kind regards,
                            Yves

                            Kommentar


                              Guten Abend miteinander,

                              soeben habe ich die Version 2.8 veröffentlicht. Posting #1 ist aktualisiert, hier nochmal die Neuerungen und Changes:

                              1. Schrittweite der Lamellenverstellung
                              Mit dem Eingang E38 kann die minimale Lamellenverstellung in % angegeben werden. Oftmals ist es der Fall, dass die Raffstore-Antriebe kleine Schritte im Prozentbereich nicht sauber anfahren können. Mit diesem Wert kann die minimale Verstellung vorgegeben werden. Dabei wird steigende oder fallende Elevation korrekt gehandhabt, so dass die Lamellen jeweils erst wieder dann verstellt werden, wenn die Sonne im weiteren Verlauf hindurch scheinen würde.

                              2. Minimale / Maximale Elevation
                              Mit den Eingängen E36/E37 kann eine minimale bzw. maximale Elevation angegeben werden. Wenn der Helligkeitsschwellwert überschritten wird, die Elevation aber kleiner als E36 bzw. grösser als E37 ist, wird nicht beschattet. Diese Funktion kann bspw. verwendet werden, wenn ein Balkon zeitweise Schatten auf ein darunter befindliches Fenster wirft. Dann braucht dort der Behang nicht herunter gefahren werden.

                              3. Status über Edomi-Neustart
                              Mit dem Ausgang A10 steht der aktuelle interne Status des Behangs zur Verfügung. Wenn es wichtig ist, dass der Behang nach einem Edomi-Neustart nicht verfahren wird, sondern in der von Edomi errechneten Position von vor dem Edomi-Neustart verbleibt, kann dieser Ausgang über ein remanentes KO mit dem Eingang E39 verbunden werden.

                              4. Korrektur des Handling externer Behang-Manipulation

                              Weiterhin viel Spass mit dem Baustein!
                              Kind regards,
                              Yves

                              Kommentar


                                Hallo Yves,

                                habe seit gestern EDOMI installiert, da mich Dein Baustein hier sehr interessiert und ich ihn ausprobieren wollte. Erstmal vielen Dank für das ausführliche Werk von Dir!

                                Bin nun über die Timer bzgl. Einheiten gestolpert. Man findet in der Doku leider widersprüchliche Angaben: mal Minuten, mal Sekunden, mal Millisekunden. Nachdem ich mir den Code angesehen habe vermute ich daß ms richtig sind.

                                Vielleicht lässt sich das im Help Bereich (dort findet man z.B. 5s als Beispiel, ansonsten keine weitere Einheitsangabe) und auch im Code (dort findet man Minuten im Kommentar) korrigieren, dann müssen andere darüber nicht stolpern.

                                Bin nun auf morgen gespannt wie sich das Ganze an meiner ersten Testjalousie verhalten wird, das Projekt ist eben live gegangen.

                                Und dann kommen noch so schöne Dinge wie Temperaturprogramm (innen, aussen und auch vorhergesagte maximale Temperatur abhängig beschatten oder auch nicht), die ich noch in die Logik mit einbauen möchte. Kann man ja aber gut über die vorhandenen Eingänge mit anhängen... Oder hast Du da ggf. auch vor den Baustein zu erweitern?

                                Gruß
                                Andi
                                Gruß
                                Andi

                                Kommentar

                                Lädt...
                                X