############ V3.3 vom 11.04.2020 ############
Changelog:
- Da es mir bei Änderungen selbst manchmal schwerfällt nachzuvollziehen, was der Baustein gerade warum (nicht) macht- insbesondere, wenn manche Eingänge mit Inhibit bis zum ersten Wert beaufschlagt sind- gibt es jetzt einen Statusausgang (Beschreibung s.u.).
Allgemeines:
- Die Eingänge sind zum besseren Verständnis in Reihenfolge ihrer funktionalen Priorität implementiert: Je weiter unten der Eingang steht, desto höher ist seine funktionale Priorität, z.B. Hitzeschutz übersteuert normale sonnenabhänige Positionen, Fenster gekippt greift in die Tag/Nacht Positionen ein, usw...
- Unbenutzte Funktionen mit ihren Parametern können unbelegt bleiben, der Baustein funktionert trotzdem. Also z.B. Frostschutz einfach nicht verbinden und nicht mit Parametern belegen, wenn man's nicht braucht.
- Über das "+" Zeichen kann ein Inhibit hinzugefügt werden, damit kann der Baustein komplett stillgelegt werden.
- Der Baustein kann durch die Glättung der zugeführten Helligkeit, einstellbare Verzögerungszeiten und Hystere flexibel auf die eigenen Bedürfnisse angepasst werden. Grundsätzlich ist aber zu bedenken, dass sich diese Parameter auch negativ beeinflussen können und starke Auswirkung auf das Ansprechverhalten haben. Daher: Langsam rantasten.
- Der Statusausgang erlaubt Rückschlüsse warum welche Behanghöhe aus welchem Grund gerade gesendet wird.
Code: Alles auswählen
/**###################################################################################
# Der Schöpfer dieser Custom Logik überträgt die Nutzungsrechte gemäß der TOLL #
# ("Timberwolf Open Logikblock License"), die unter https://wrgt.news/TOLL #
# zum Download zur Verfügung steht. Das enthaltene Icon steht unter der #
# Creative Commons Lizenz vom Typ Namensnennung und wurde farblich angepasst, #
# https://creativecommons.org/licenses/by-sa/3.0/deed.de, Autor: mfd.gfx@gmail.com #
######################################################################################
# Beschattungsbaustein für Rolladen Version 3.3 #
# #
# Steuerung der Behanghöhen von Rolladen basierter Beschattung #
####################################################################################*/
{
"Level": [
["$Eins","integer",1],
["$I_Sonne","bool",true],
["$P_Thresh1_Pos","integer",50],
["$P_Thresh2_Pos","integer",102],
["$I_PosC","integer",200],
["$I_PosD","integer",160],
["$PosDwn","integer",255],
["$PosUp","integer",0],
["$P_PrioPosDay","integer",0],
["$P_PrioPosNight","integer",0],
["$P_MaxPos_Tilted","integer",100],
["$P_Antifreeze_PosDwn","integer",255],
["$P_Antifreeze_PosUp","integer",0],
["$I_Lux","float",0],
["$P_Lux_A","float",10000],
["$P_Lux_B","float",50000],
["$P_Hysteresis","float",1000],
["$Lux_A_Hysteresis","float",0],
["$Lux_B_Hysteresis","float",0],
["$Light_CResult_A","bool",false],
["$Light_CResult_B","bool",false],
["$I_Day","bool",false],
["$I_Disable","bool",false],
["$Sun","bool",false],
["$Shade","bool",false],
["$Window_Status","bool",false],
["$Lvl_1_select","integer",0],
["$Lvl_1_result","integer",0],
["$Lvl_1_delayed_result","integer",0],
["$Lvl_1_T1_trigger","bool",false],
["$Lvl_1_T2_trigger","bool",false],
["$Lvl_1_T1_result","bool",false],
["$Lvl_1_T2_result","bool",false],
["$Lvl_1_delayed_select","bool",false],
["$P_Holddown_up","integer",5],
["$P_Holddown_dwn","integer",5],
["$Lvl_2_select","integer",0],
["$Lvl_2_result","integer",0],
["$Lvl_3_select","integer",0],
["$Lvl_3_result","integer",0],
["$Lvl_3_result_MaxPos_Tilted","integer",0],
["$Lvl_4_select","integer",0],
["$Lvl_4_result","integer",0],
["$Lvl_5_result_Antifreeze","integer",0],
["$Lvl_5_select","integer",0],
["$Lvl_5_result","integer",0],
["$Output_window","integer",0],
["$O_Status","integer",0],
["$I_Presence","bool",false],
["$I_Heat","bool",false],
["$I_Prio_select","bool",false],
["$I_Open","bool",false],
["$I_Tilted","bool",false],
["$I_Antifreeze_select","bool",false],
["$I_Forced_mode","bool",false],
["$P_Forced_mode_dir","bool",false],
["$VAR<I_in_range!>","bool",false],
["$VAR<Inhibit?>","bool",false]
],
"Module": [
["Break",["$VAR<Inhibit?>"]],
["Polynomial","$Eins","$Lux_A_Hysteresis",["$P_Lux_A","-$P_Hysteresis"]],
["Polynomial","$Eins","$Lux_B_Hysteresis",["$P_Lux_B","-$P_Hysteresis"]],
["Comparator","$I_Lux","$Light_CResult_A",["$Lux_A_Hysteresis","$P_Lux_A"]],
["Comparator","$I_Lux","$Light_CResult_B",["$Lux_B_Hysteresis","$P_Lux_B"]],
["And",["-$I_Sonne","$Light_CResult_A"],"$Sun"],
["BinaryMultiplexer",["$Sun","$Light_CResult_B"],"$Lvl_1_select"],
["Multiplexer",["$PosUp","$P_Thresh1_Pos","$PosUp","$P_Thresh2_Pos"],"$Lvl_1_result","$Lvl_1_select"],
["Comparator","$Lvl_1_delayed_result","$Lvl_1_T1_trigger","$Lvl_1_result"], //Vergleich für auf
["Comparator","$Lvl_1_result","$Lvl_1_T2_trigger","$Lvl_1_delayed_result"], //Vergleich für ab
["Monoflop","$Lvl_1_T1_trigger","$Lvl_1_T2_trigger","$Lvl_1_T1_result","$P_Holddown_up",3],
["Monoflop","$Lvl_1_T2_trigger","$Lvl_1_T1_trigger","$Lvl_1_T2_result","$P_Holddown_dwn",3],
["Or",["$Lvl_1_T1_result","$Lvl_1_T2_result"],"$Lvl_1_delayed_select"],
["Multiplexer",["$Lvl_1_result","$Lvl_1_delayed_result"],"$Lvl_1_delayed_result","$Lvl_1_delayed_select"],
["And",["$VAR<I_in_range!>"],"$Shade"],
["BinaryMultiplexer",["$I_Presence","$Shade","$I_Heat"],"$Lvl_2_select"],
["Multiplexer",["$PosUp","$PosUp","$Lvl_1_delayed_result","$Lvl_1_delayed_result","$I_PosC","$I_PosD","$I_PosC","$I_PosD"],"$Lvl_2_result","$Lvl_2_select"],
["BinaryMultiplexer",["$I_Prio_select","$I_Day","$I_Disable"],"$Lvl_3_select"],
["Multiplexer",["$PosDwn","$P_PrioPosNight","$Lvl_2_result","$P_PrioPosDay","$PosDwn","$PosDwn","$PosUp"],"$Lvl_3_result","$Lvl_3_select"],
["Limiter","$Lvl_3_result","$Lvl_3_result_MaxPos_Tilted",0,["$PosUp", "$P_MaxPos_Tilted"]],
["BinaryMultiplexer",["$I_Tilted","$I_Open"],"$Lvl_4_select"],
["Multiplexer",["$Lvl_3_result","$Lvl_3_result_MaxPos_Tilted","$PosUp","$PosUp"],"$Lvl_4_result","$Lvl_4_select"],
["BinaryMultiplexer",["$P_Forced_mode_dir","$I_Forced_mode"],"$Lvl_5_select"],
["Multiplexer",["$Lvl_4_result","$Lvl_4_result","$PosUp","$PosDwn"],"$Lvl_5_result","$Lvl_5_select"],
["Limiter","$Lvl_5_result","$Lvl_5_result_Antifreeze",0,["$P_Antifreeze_PosUp", "$P_Antifreeze_PosDwn"]],
["Multiplexer",["$Lvl_5_result","$Lvl_5_result_Antifreeze"],"$Output_window","$I_Antifreeze_select"],
["Or",["$I_Tilted","$I_Open"],"$Window_Status"],
["BinaryMultiplexer",["$Lvl_1_delayed_select","$I_Prio_select","$Shade",0,"$Window_Status","-$I_Disable",0,0,"$I_Forced_mode","$Eins"],"$O_Status"]
],
"Input": [
["Lux","Helligkeitseingang","$I_Lux","c"],
["LuxSchw1","Schwellwert für Behangposition 1","$P_Lux_A","u"],
["LuxSchw2","Schwellwert für Behangposition 2","$P_Lux_B","u"],
["Hysterese","Hysterese: Schwellwert - Hysterese","$P_Hysteresis","u"],
["PosSchw1","Behangposition für Schwelle 1","$P_Thresh1_Pos","u"],
["PosSchw2","Behangposition für Schwelle 2","$P_Thresh2_Pos","u"],
["KeineSonne","Unterdrückt Beschattung, wenn keine Sonne (keine Sonne=True)","$I_Sonne","c"],
["DelayAuf","Verzögerungszeit beim Zurückfahren des Behangs","$P_Holddown_up","u"],
["DelayAb","Verzögerungszeit beim Ablassen des Behangs","$P_Holddown_dwn","u"],
["SonnenBed","Sonnenstands-Bedingungen, bspw. Kompassrichtung, Höhenwinkel (UND Verknüpft)","$VAR<I_in_range!>","c"],
["Hitze","Hitzeschutz auslösen","$I_Heat","c"],
["HPosAnw","Behanghöhe für Hitzeschutz bei Anwesenheit","$I_PosD","u"],
["HPosAbw","Behanghöhe für Hitzeschutz bei Abwesenheit","$I_PosC","u"],
["Praesenz","Hitzeschutz steuern nach Anwesenheit","$I_Presence","c"],
["Priorität","Übersteuert Beschattungs- und Hitzeschutzpositionen mit einer Prioritätsstellung","$I_Prio_select","c"],
["PrioPosTg","Höhe der Prioritätsstellung","$P_PrioPosDay","u"],
["PrioPosNt","Höhe der Prioritätsstellung","$P_PrioPosNight","u"],
["BeschattAus","Beschattung deaktivieren (deaktiviert=True)","$I_Disable","c"],
["Tag/Nacht","Tag/Nacht Eingang","$I_Day","c"],
["Gekippt","Fenster gekippt","$I_Tilted","c"],
["Geöffnet","Fenster geöffnet","$I_Open","c"],
["LimGekippt","Begrenzung untere Behangstellung bei gekipptem Fenster","$P_MaxPos_Tilted","u"],
["ZwangStrg","Zwangsführung des Behangs aktivieren","$I_Forced_mode","c"],
["ZwangAufAb","Richtung der Zwangsführung auf (False) oder ab (True)","$P_Forced_mode_dir","c"],
["Frostschutz","Aktiviert Begrenzung der oberen und unteren Endlage als Anfrierschutz (Frostschutz=True)","$I_Antifreeze_select","c"],
["FrostMaxAuf","Maximale Position obere Endlage bei Anfrierschutz","$P_Antifreeze_PosUp","u"],
["FrostMaxAb","Maximale Position untere Endlage bei Anfrierschutz","$P_Antifreeze_PosDwn","u"],
["Inhibit","INHIBIT","$VAR<Inhibit?>","u"]
],
"Output": [
["Pos_o_Fenster","Behangposition ohne Auswertung Fensterkontakte (Fassadensteuerung)","$Lvl_3_result","c"],
["Pos_m_Fenster","Behangposition mit Auswertung Fensterkontakte (Fenstersteuerung)","$Output_window","c"],
["Logikstatus","Ausgabe des aktuellen Zustands der Logik, bitweise kodiert (siehe Dokumentation)","$O_Status","c"]
],
"_Meta": {
"_description": "Steuerung der Behanghöhen von Rolladen basierter Beschattung.",
"Version": "3.3",
"Icon": " data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjg4LjhwdCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjg4LjhwdCIgdmlld0JveD0iMCAwIDI4OC44IDI4OC44IiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiA8ZGVmcz4KICA8Y2xpcFBhdGggaWQ9IkNsaXAwIj4KICAgPHBhdGggZD0iTTAgMCBMMTc5Ljc4NCAwIEwxNzkuNzg0IDEyNi41MDkgTDAgMTI2LjUwOSBMMCAwIFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDU0Ljg0MDgsIDgxLjc1ODQpIi8+CiAgPC9jbGlwUGF0aD4KICA8Y2xpcFBhdGggaWQ9IkNsaXAxIj4KICAgPHBhdGggZD0iTTAgMCBMMTc5Ljc4NCAwIEwxNzkuNzg0IDEyNi41MDkgTDAgMTI2LjUwOSBMMCAwIFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDU0Ljg0MDgsIDgxLjc1ODQpIi8+CiAgPC9jbGlwUGF0aD4KIDwvZGVmcz4KIDxnIGlkPSJIaW50ZXJncnVuZCI+CiAgPGcgaWQ9IkdydXBwZTIiIGNsaXAtcGF0aD0idXJsKCNDbGlwMCkiPgogICA8ZyBpZD0iZnRzX3g1Rl9zaHV0dGVyIiBjbGlwLXBhdGg9InVybCgjQ2xpcDEpIj4KICAgIDxwYXRoIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiMxNjE0MTM7IHN0cm9rZS13aWR0aDo4OyBzdHJva2UtbGluZWNhcDpidXR0OyBzdHJva2UtbGluZWpvaW46bWl0ZXI7IHN0cm9rZS1kYXNoYXJyYXk6bm9uZTsiIGQ9Ik0xNTguNCAxMDAuMzIgQzE1OC40IDEwMy4yMzYgMTU2LjAzNiAxMDUuNiAxNTMuMTIgMTA1LjYgTDUuMjggMTA1LjYgQzIuMzYzMiAxMDUuNiAwIDEwMy4yMzYgMCAxMDAuMzIgTDAgNS4yOCBDMCAyLjM2NCAyLjM2NCAwIDUuMjggMCBMMTUzLjEyIDAgQzE1Ni4wMzYgMCAxNTguNCAyLjM2NDggMTU4LjQgNS4yOCBMMTU4LjQgMTAwLjMyIFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDY1LjIsIDk4LjY2NzIpIi8+CiAgICA8cGF0aCBzdHlsZT0iZmlsbDojMTYxNDEzOyBmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZTsiIGQ9Ik01LjE1ODQgOCBDOC4zMDY0IDggMTEuNDU0NCA4IDE0LjYwMjQgOCBDMTkuNzYwOCA4IDE5Ljc2MDggMCAxNC42MDI0IDAgQzExLjQ1NDQgMCA4LjMwNjQgMCA1LjE1ODQgMCBDMCAwIDAgOCA1LjE1ODQgOCBMNS4xNTg0IDggWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTM0Ljc5OCwgMTQ3LjM0MikiLz4KICAgIDxwYXRoIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiMxNjE0MTM7IHN0cm9rZS13aWR0aDo4OyBzdHJva2UtbGluZWNhcDpidXR0OyBzdHJva2UtbGluZWpvaW46bWl0ZXI7IHN0cm9rZS1kYXNoYXJyYXk6bm9uZTsiIGQ9Ik0wIDAgTDAgMTAyLjczNSAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0NC41NzUsIDk4LjkxNikiLz4KICAgIDxwYXRoIHN0eWxlPSJmaWxsOiMxNjE0MTM7IGZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTojMTYxNDEzOyBzdHJva2Utd2lkdGg6ODsgc3Ryb2tlLWxpbmVjYXA6YnV0dDsgc3Ryb2tlLWxpbmVqb2luOm1pdGVyOyBzdHJva2UtZGFzaGFycmF5Om5vbmU7IiBkPSJNMTY5LjU5OSAxNC4wMTIgQzE2OS41OTkgMTQuNDE5MiAxNjcuMDY4IDE0Ljc0OTYgMTYzLjk0NiAxNC43NDk2IEw1LjY1MjggMTQuNzQ5NiBDMi41MzA0IDE0Ljc0OTYgMCAxNC40MTg0IDAgMTQuMDEyIEwwIDAuNzM3NiBDMCAwLjMzMDQgMi41MzEyIDAgNS42NTI4IDAgTDE2My45NDYgMCBDMTY3LjA2OCAwIDE2OS41OTkgMC4zMzEyIDE2OS41OTkgMC43Mzc2IEwxNjkuNTk5IDE0LjAxMiBaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1OS43MzM2LCA4NS43NTg0KSIvPgogICAgPHBhdGggc3R5bGU9ImZpbGw6IzE2MTQxMzsgZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmU7IiBkPSJNNS4xNTkyIDggQzQ0LjA4NjQgOCA4My4wMTM2IDguMDAwOCAxMjEuOTQgOC4wMDE2IEMxMzkuNTAyIDguMDAxNiAxNTcuMDY0IDguMDAxNiAxNzQuNjI2IDguMDAyNCBDMTc5Ljc4NCA4LjAwMjQgMTc5Ljc4NCAwLjAwMjQgMTc0LjYyNiAwLjAwMjQgQzEzNS42OTggMC4wMDI0IDk2Ljc3MiAwLjAwMTYgNTcuODQ0IDAuMDAwOCBDNDAuMjgyNCAwLjAwMDggMjIuNzIgMC4wMDA4IDUuMTU4NCAwIEMwIDAgMCA4IDUuMTU5MiA4IEw1LjE1OTIgOCBaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1NC44NDA4LCAxMDYuNjY2KSIvPgogICAgPHBhdGggc3R5bGU9ImZpbGw6IzE2MTQxMzsgZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmU7IiBkPSJNNS4xNTkyIDggQzQ0LjA4NjQgOCA4My4wMTM2IDguMDAwOCAxMjEuOTQgOC4wMDE2IEMxMzkuNTAyIDguMDAxNiAxNTcuMDY0IDguMDAxNiAxNzQuNjI2IDguMDAyNCBDMTc5Ljc4NCA4LjAwMjQgMTc5Ljc4NCAwLjAwMjQgMTc0LjYyNiAwLjAwMjQgQzEzNS42OTggMC4wMDI0IDk2Ljc3MiAwLjAwMTYgNTcuODQ0IDAuMDAwOCBDNDAuMjgyNCAwLjAwMDggMjIuNzIgMC4wMDA4IDUuMTU4NCAwIEMwIDAgMCA4IDUuMTU5MiA4IEw1LjE1OTIgOCBaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1NC44NDA4LCAxMTcuMDY2KSIvPgogICAgPHBhdGggc3R5bGU9ImZpbGw6IzE2MTQxMzsgZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmU7IiBkPSJNNS4xNTkyIDggQzQ0LjA4NjQgOCA4My4wMTM2IDguMDAwOCAxMjEuOTQgOC4wMDE2IEMxMzkuNTAyIDguMDAxNiAxNTcuMDY0IDguMDAxNiAxNzQuNjI2IDguMDAyNCBDMTc5Ljc4NCA4LjAwMjQgMTc5Ljc4NCAwLjAwMjQgMTc0LjYyNiAwLjAwMjQgQzEzNS42OTggMC4wMDI0IDk2Ljc3MiAwLjAwMTYgNTcuODQ0IDAuMDAwOCBDNDAuMjgyNCAwLjAwMDggMjIuNzIgMC4wMDA4IDUuMTU4NCAwIEMwIDAgMCA4IDUuMTU5MiA4IEw1LjE1OTIgOCBaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1NC44NDA4LCAxMjcuNDY2KSIvPgogICAgPHBhdGggc3R5bGU9ImZpbGw6IzE2MTQxMzsgZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmU7IiBkPSJNNS4xNTkyIDcuOTk5MiBDNDQuMDg2NCA4IDgzLjAxMzYgOC4wMDA4IDEyMS45NCA4LjAwMTYgQzEzOS41MDIgOC4wMDE2IDE1Ny4wNjQgOC4wMDE2IDE3NC42MjYgOC4wMDI0IEMxNzkuNzg0IDguMDAyNCAxNzkuNzg0IDAuMDAyNCAxNzQuNjI2IDAuMDAyNCBDMTM1LjY5OCAwLjAwMjQgOTYuNzcyIDAuMDAxNiA1Ny44NDQgMC4wMDA4IEM0MC4yODI0IDAuMDAwOCAyMi43MiAwLjAwMDggNS4xNTg0IDAgQzAgMi44NDIxN2UtMTQgMCA3Ljk5OTIgNS4xNTkyIDcuOTk5MiBMNS4xNTkyIDcuOTk5MiBaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1NC44NDA4LCAxMzcuODY2KSIvPgogICA8L2c+CiAgPC9nPgogPC9nPgo8L3N2Zz4K"
}
}
Bei der Tag/Nacht Steuerung den Behang in die untere Endlage ("Tag/Nacht" = False) zu fahren, erfolgt unabhängig vom Wert der Eingänge "Beschatten", "KeineSonne", "Hitzeschutz" oder "Prioritaet". Am Tag ("Tag/Nacht" = True) ist das Verhalten abhängig von den Eingängen "Beschatten", "KeineSonne", "Hitzeschutz" oder "Prioritaet".
Die Beschattung wird ausgeführt, wenn folgende Bedingungen erfüllt sind:
- Beschatten = True
- Eingänge SonnenBed innerhalb der definierten Grenzen (es können beliebig viele ergänzt werden, diese sind mit logischem UND verknüpft)
- Helligkeitsschwelle 1 bzw. 2 überschritten
- Tag/Nacht = True
- KeineSonne = False
- Geoeffnet = False
- Zwangsführung = False
Die Beruhigung des Behangs, z.B. bei wechselnder Bewölkung, erfolgt mittels getrennt einstellbarer Zeitverzögerung zum Auf- /Abfahren des Behangs sowie einstellbarer Hysterese. Die Verzögerung greift für die Helligkeitsschwellen und den Eingang "KeineSonne".
Hitzeschutz hat eine höhere Priorität als die Beschattung und übersteuert deren Behanghöhen. Dabei werden feste Positionen entsprechend Anwesenheit ("Praesenz" = True) und Abwesenheit ("Praesenz" = False) angefahren. Die Idee dahinter ist, den Behang hiermit aggressiv in Stellungen zu bringen, in denen möglichst wenig Sonnenlicht einfallen kann- auch bei Fenstern, die nicht direkt beschienen werden (bspw. Reflektion an Nachbars Hauswand). Hitzeschutz ist aktiv, wenn folgende Bedingungen erfüllt sind:
- Hitzeschutz = True
- Tag/Nacht = True (bei False, wird der Behang in die untere Endlage gefahren)
- Geoeffnet = False
Priorität ist aktiv, wenn folgende Bedingungen erfüllt sind:
- Prioritaet = True
- Geoeffnet = False
- Zwangsführung = False
Wird "Gekippt" auf True gesetzt, werden die Positionen entsprechend Beschattung, Hitzeschutz und Priorität angefahren, jedoch auf eine einstellbare untere Stellung begrenzt (Lüftungsstellung).
Wird "Geöffnet" auf True gesetzt, wird der Behang in die obere Endlage gefahren, ungeachtet Tag/Nacht und irgendwelcher Beschattungs- oder Prioritätsstellungen.
"Zwangsführung" hat die höchste Priorität und fährt den Behang unabhängig anderer Eingänge in die obere oder untere Endlage ensprechend dem Eingang "ZwangUpDwn" (lediglich begrenzt durch Frostschutz, s.u. ).
"Frostschutz" begrenzt alle oberen bzw. unteren Endlagen (Anfrierschutz).
Setup:
Folgende Eingänge sollten mit Option "I" versehen werden, damit der Baustein erst losläuft, nachdem gültige Werte auf diesen Eingängen empfangen wurden:
- Lux
- Tag/Nacht
- SonnenBed nach Bedarf (bitte selbst kritisch hinterfragen)
Für die Eingänge "SonnenBed" (Für Sonnenhöhe, -Kompassrichtung, und was einem sonst noch einfällt,...) ist ein Eingangsmodifikator wie im Beispiel zu konfigurieren, damit der Astro-Baustein verbunden werden kann. Mann kann über mehrere "SonnenBed"-Eingänge und ggf. vorgeschaltete Und-/Oder-Gatter beliebige einzelne Bereiche des Sonnenstands ausblenden (bspw. Baum, der das Fenster zu manchen Zeiten beschattet).
Ausgang "Logikstatus"
Ein Wert =0 zeigt an, dass der Baustein noch nicht gestartet ist (bspw. ein Eingang steht auf Inhibit). Ein Wert >0 ist also schonmal gut. Die Zustände sind bitweise kodiert, ein gesetztes Bit heißt "aktiv":
b0 = Verzögerung greift gerade ein
b1 = Prioritätsstellung aktiv
b2 = SonnenBed erfüllt (alle)
b3 = Reserved
b4 = Fensterstellung aktiv (Fenster geöffnet)
b5 = Beschattungsfunktionen eingeschaltet
b6 = Reserved
b7 = Reserved
b8 = Zwangsführung aktiv
b9 = Baustein gestartet
Beispiel: Ist der Baustein gestartet und die Beschattungsfunktionen eingeschaltet, dann sind Bit 9 und Bit 5 gesetzt, als Integerwert wird daher 544 ausgegeben
Anregungen/Feedback im Diskussionsthread viewtopic.php?f=9&t=1245&start=30 willkommen.