Ankündigung

Einklappen
Keine Ankündigung bisher.

LBS 19000141 - Beschattungssteuerung

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

  • starwarsfan
    antwortet
    Hi Andi

    Zitat von tger977 Beitrag anzeigen
    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.
    Du hast Recht, das ist nicht konsistent. Ist mir gar nicht (mehr) aufgefallen, da man im Logikeditor nie den gesamten Kommentar an den Eingängen zu Gesicht bekommt und damit gar nicht sieht, dass dort "Minuten" dahinter steht.

    Ich werde das korrigieren, danke für den Hinweis.

    gaert: Könnte man die Eingänge eines LBS genauso vollständig einblenden, wenn man mit der Maus drüber fährt, wie die Ausgänge?

    Einen Kommentar schreiben:


  • tger977
    antwortet
    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

    Einen Kommentar schreiben:


  • starwarsfan
    antwortet
    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!

    Einen Kommentar schreiben:


  • starwarsfan
    antwortet
    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.

    Einen Kommentar schreiben:


  • baumhaus123
    antwortet
    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!

    Einen Kommentar schreiben:


  • MrMirror
    antwortet
    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.

    Einen Kommentar schreiben:


  • pamo
    antwortet
    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.

    Einen Kommentar schreiben:


  • pamo
    antwortet
    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

    Einen Kommentar schreiben:


  • starwarsfan
    antwortet
    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.

    Einen Kommentar schreiben:


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

    Einen Kommentar schreiben:


  • pamo
    antwortet
    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.


    Einen Kommentar schreiben:


  • pamo
    antwortet
    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!

    Einen Kommentar schreiben:


  • starwarsfan
    antwortet
    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?

    Einen Kommentar schreiben:


  • pamo
    antwortet
    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?


    Einen Kommentar schreiben:


  • starwarsfan
    antwortet
    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!

    Einen Kommentar schreiben:

Lädt...
X