Steuerung Adventbeleuchtung V0.9
Verfasst: So Nov 03, 2019 5:06 pm
Bei diesem Baustein handelt es sich um eine kleine Customlogik, die ich zur Steuerung meiner Adventbeleuchtung verwenden werde. Da im TLE das Setzen von Cron Strings noch nicht per Oberfläche möglich ist, sind die Zeiten als Cron String fest gecoded und müssen ggf. angepasst werden (Default ist 16:30 einschalten und 23:59 ausschalten). Sobald hier bessere Möglichkeiten bestehen, werde ich das in künftigen Versionen anpassen.
Der Baustein hat folgende kleine, aber wie ich finde nette Features implementiert:
Beschreibung der Ausgänge:
Der Baustein hat folgende kleine, aber wie ich finde nette Features implementiert:
- Es können optional zusätzliche boolsche Eingänge angelegt werden, um zusätzliche Bedingungen mit den Schaltzeiten zu verknüpfen (bspw. Sonnenwinkel oder Helligkeit), bevor ein Schaltevent ausgelöst wird
- Der Ausgang kann temporär bis zum nächsten Schaltevent übersteuert werden (bspw. wenn ich die Beleuchtung mal früher ein- oder ausschalten möchte). D.h. wenn ich mal früher einschalte, wird trotzdem zur eingestellten Abschaltzeit ausgeschaltet. Ideal ist hier ein Tastsensor, parametriert als Umschalter (höhrende GA für den aktuellen Status beachten)
- Das Deaktivieren der Steuerung schaltet die Ausgänge ab (statt einfach den Baustein anzuhalten, was per zusätzlichen Inhibit auch noch möglich ist)
- Das Aktivieren der Steuerung schaltet die Ausgänge ggf. direkt ein, wenn ein Einschaltevent vorliegt
- Zusätzlich zum binären Schaltausgang können auch Szenennummern ausgegeben werden
- "Steuerung aktiv": Aktiviert die Schaltautomatik (wird deaktiviert, wird einmalig "Aus" gesendet)
- "Szenennummer ein": Szenennummer, die zum Einschalten gesendet werden soll
- "Szenennummer aus": Szenennummer, die zum Ausschalten gesendet werden soll
- "Temporär übersteuern": Manuell bis zum nächsten Schaltevent übersteuern. Dies ist möglich, solange "Steuerung aktiv" auf true steht.
- [Optional] "Bedingung x": Zusätzliche Bedingungen (Binäreingänge), die zum Einschalten erfüllt sein müssen
- [Optional] "Inhibit x": Deaktivieren des Bausteins (es wird nichts gesendet)

Beschreibung der Ausgänge:
- "Szenen Nummer": Hier wird die parametrierte Szene zum Ein-bzw. Ausschalten gesendet
- "Ein/Aus": Schaltausgang binär
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 #
######################################################################################
# Adventlogik Version 0.9 #
# #
# Logik zur Steuerung von Weihnachtsbeleuchtung abhängig von Zeit (Zeitschaltuhr), #
# Helligkeit (binärer Eingang vom Dämmerungssensor) über Schaltobjekt und Szenen #
####################################################################################*/
{
"Level": [
["$StartZeit","string","0 30 16 * * 0,1,2,3,4,5,6"],
["$StopZeit","string","0 59 23 * * 0,1,2,3,4,5,6"],
["$Set","bool",false],
["$Res","bool",false],
["$Override","bool",false],
["$ConstTrue","bool",true],
["$ConstFalse","bool",false],
["$Stat","int",0],
["$Lvl_1_SceneResult","int",0],
["$Lvl_1_BinResult","bool",false],
["$Lvl_2_BinResult","bool",false],
["$Lvl_3_BinResult","bool",false],
["$O_Out","bool",false],
["$O_Scene","int",0],
["$I_SceneOff","int",0],
["$I_SceneOn","int",0],
["$I_Override","bool",false],
["$I_Enable","bool",true],
["$VAR<I_Conditions?>", "bool", false],
["$VAR<Inhibit?>", "bool", false]
],
"Module": [
["Break",["$VAR<Inhibit?>"] ],
["Cron","-$ConstFalse","$Set",0,"$StartZeit"],
["Cron","-$ConstFalse","$Res",0,"$StopZeit"],
["BinaryMultiplexer",["$Set","$Res"],"$Stat"],
["Multiplexer",["$Lvl_1_BinResult","-$ConstFalse","$ConstFalse"],"$Lvl_1_BinResult","$Stat"],
["Multiplexer",["$Lvl_1_SceneResult","$I_SceneOn","$I_SceneOff"],"$Lvl_1_SceneResult","$Stat"],
["And",["$Lvl_1_BinResult","$VAR<I_Conditions?>"],"$Lvl_2_BinResult"],
["Latch","$ConstTrue","$Override","$I_Override",3],
["Latch","$ConstFalse","$Override","$Lvl_2_BinResult",3],
["Latch","$Lvl_2_BinResult","$I_Override","$Lvl_2_BinResult",3],
["Multiplexer", ["$Lvl_2_BinResult", "$I_Override"], "$Lvl_3_BinResult", "$Override"],
["And",["$Lvl_3_BinResult","$I_Enable"],"$O_Out"],
["Multiplexer",["$I_SceneOff","$I_SceneOn"],"$O_Scene","$O_Out"]
],
"Input": [
["Bedingung","Zusatzbedingungen, die erfüllt sein müssen (Eingang=true), um zu schalten. Beispiel: Dämmerung, Sonnenwinkel,...","$VAR<I_Conditions?>","c"],
["Temporär übersteuern","Automatik bis zum nächsten Event übersteuern","$I_Override","c"],
["Szenennummer Ein","Nummer der Einschaltszene (0...63)","$I_SceneOn","c"],
["Szenennummer Aus","Nummer der Ausschaltszene (0...63)","$I_SceneOff","c"],
["Steuerung aktiv","Zeitsteuerung aktivieren (Eingang=true)","$I_Enable","c"],
["Inhibit","INHIBIT","$VAR<Inhibit?>","u"]
],
"Output": [
["Szenen Nummer","Szenen Ausgang der Zeitschaltuhr","$O_Scene","c"],
["Ein/Aus","Ausgang der Zeitschaltuhr","$O_Out","c"]
],
"_Meta": {
"_description": "Zeit und Helligkeit gesteuertes Schalten einer Adventsbeleuchtung via Binär- und Szenenobjekt und der Möglichkeit zum manuellen übersteuern. Ersteller: Dragonos2000, KNXUF Icon von MFD",
"Version": "0.9",
"Icon": " data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pg0KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE2LjAuMywgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPg0KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj4NCjxzdmcgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjM2MXB4Ig0KCSBoZWlnaHQ9IjM2MXB4IiB2aWV3Qm94PSIwIDAgMzYxIDM2MSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzYxIDM2MTsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGcgaWQ9ImxpZ2h0X3g1Rl94LW1hc194NUZfc3Rhcl94NUZfMiI+DQoJPGc+DQoJCTxnPg0KCQkJPGc+DQoJCQkJPHBhdGggc3R5bGU9ImZpbGw6IzAwMDAwMDsiIGQ9Ik04My44NCwxNjMuMDEzYzguOTE3LDEuNTIyLDE3LjgzMywzLjA0NSwyNi43NDksNC41NjdjNC40MTQsMC43NTQsNi4zMDQtNS45OTEsMS44NjEtNi43NQ0KCQkJCQljLTguOTE3LTEuNTIyLTE3LjgzMy0zLjA0NS0yNi43NDktNC41NjdDODEuMjg3LDE1NS41MDksNzkuMzk3LDE2Mi4yNTQsODMuODQsMTYzLjAxM0w4My44NCwxNjMuMDEzeiIvPg0KCQkJPC9nPg0KCQk8L2c+DQoJCTxnPg0KCQkJPGc+DQoJCQkJPHBhdGggc3R5bGU9ImZpbGw6IzAwMDAwMDsiIGQ9Ik04NC4xMTQsMTcyLjYyOGM4LjkxNywxLjUyMiwxNy44MzMsMy4wNDUsMjYuNzQ5LDQuNTY3YzQuNDE0LDAuNzUzLDYuMzA0LTUuOTkxLDEuODYxLTYuNzUNCgkJCQkJYy04LjkxNy0xLjUyMi0xNy44MzMtMy4wNDUtMjYuNzQ5LTQuNTY3QzgxLjU2MiwxNjUuMTI1LDc5LjY3MSwxNzEuODcsODQuMTE0LDE3Mi42MjhMODQuMTE0LDE3Mi42Mjh6Ii8+DQoJCQk8L2c+DQoJCTwvZz4NCgkJPGc+DQoJCQk8Zz4NCgkJCQk8cGF0aCBzdHlsZT0iZmlsbDojMDAwMDAwOyIgZD0iTTg0LjExNCwxODEuOTdjOC45MTcsMS41MjIsMTcuODMzLDMuMDQ1LDI2Ljc0OSw0LjU2N2M0LjQxNCwwLjc1NCw2LjMwNC01Ljk5MSwxLjg2MS02Ljc1DQoJCQkJCWMtOC45MTctMS41MjItMTcuODMzLTMuMDQ1LTI2Ljc0OS00LjU2N0M4MS41NjIsMTc0LjQ2Niw3OS42NzEsMTgxLjIxMSw4NC4xMTQsMTgxLjk3TDg0LjExNCwxODEuOTd6Ii8+DQoJCQk8L2c+DQoJCTwvZz4NCgkJPGc+DQoJCQk8Zz4NCgkJCQk8cGF0aCBzdHlsZT0iZmlsbDojMDAwMDAwOyIgZD0iTTg5LjgwOCwxOTEuOTQxYzUuMDA0LDAuODU0LDEwLjAwOCwxLjcwOCwxNS4wMTIsMi41NjNjNC40MTQsMC43NTQsNi4zMDQtNS45OTEsMS44NjEtNi43NQ0KCQkJCQljLTUuMDA0LTAuODU0LTEwLjAwOC0xLjcwOC0xNS4wMTItMi41NjNDODcuMjU1LDE4NC40MzgsODUuMzY1LDE5MS4xODMsODkuODA4LDE5MS45NDFMODkuODA4LDE5MS45NDF6Ii8+DQoJCQk8L2c+DQoJCTwvZz4NCgkJPHBhdGggc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MTA7c3Ryb2tlLW1pdGVybGltaXQ6MTA7IiBkPSJNMTIwLjc4NCwxMzcuMDczDQoJCQljMCw3LjU0NC02LjExNiwxMy42Ni0xMy42NiwxMy42Nkg4OC45MWMtNy41NDQsMC0xMy42Ni02LjExNi0xMy42Ni0xMy42NlY4OC41MDRjMC03LjU0NCw2LjExNi0xMy42NiwxMy42Ni0xMy42NmgxOC4yMTMNCgkJCWM3LjU0NCwwLDEzLjY2LDYuMTE2LDEzLjY2LDEzLjY2VjEzNy4wNzN6Ii8+DQoJPC9nPg0KCTxnPg0KCQkNCgkJCTxwb2x5Z29uIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjEwO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDsiIHBvaW50cz0iDQoJCQkxNDMuNDc2LDI2OS4zNjUgMTc2LjM0NiwyODYuNjQ2IDE3MC4wNjcsMjUwLjA0NSAxOTYuNjYsMjI0LjEyNCAxNTkuOTExLDIxOC43ODMgMTQzLjQ3NiwxODUuNDgyIDEyNy4wNDEsMjE4Ljc4MyANCgkJCTkwLjI5MSwyMjQuMTI0IDExNi44ODQsMjUwLjA0NSAxMTAuNjA1LDI4Ni42NDYgCQkiLz4NCgkJDQoJCQk8cG9seWdvbiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoxMDtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtbGluZWpvaW46cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7IiBwb2ludHM9Ig0KCQkJMTQzLjQ3NiwyNTQuNzUgMTU5LjkxMSwyNjMuMzkxIDE1Ni43NzEsMjQ1LjA5IDE3MC4wNjgsMjMyLjEyOSAxNTEuNjkzLDIyOS40NTkgMTQzLjQ3NiwyMTIuODA5IDEzNS4yNTgsMjI5LjQ1OSANCgkJCTExNi44ODMsMjMyLjEyOSAxMzAuMTgsMjQ1LjA5IDEyNy4wNDEsMjYzLjM5MSAJCSIvPg0KCTwvZz4NCgk8cGF0aCBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoxMDtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtbGluZWpvaW46cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7IiBkPSINCgkJTTE1My42MzQsMjA1Ljk0OWMwLTU2LjM2Miw1OC44NjUtMTAxLjk2OSwxMzEuNjEtMTAxLjk2OSIvPg0KCTxwYXRoIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjEwO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDsiIGQ9Ig0KCQlNMTU4LjM3NywyMTcuMjEzYzAtMzEuNzg1LDU2Ljc0NC01Ny41MDUsMTI2Ljg2Ny01Ny41MDUiLz4NCgk8cGF0aCBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoxMDtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtbGluZWpvaW46cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7IiBkPSINCgkJTTI4NS4yNDQsMTU5LjcwOGMwLTYuODgxLTE1Ljk0Ny0xMi40NS00MS44MzQtMTIuNDUiLz4NCgk8cGF0aCBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoxMDtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtbGluZWpvaW46cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7IiBkPSINCgkJTTI0My40MSwxNDcuMjU4YzAtNi4yMjYsMjYuNzI4LTE1LjI2NCw0Mi40NTctMTUuMjY0Ii8+DQoJPHBhdGggc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MTA7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwOyIgZD0iDQoJCU0yODUuODY3LDEzMS45OTRjMC00LjI2LTMzLjY4OS03LjcwNy00My4xOTMtNy43MDciLz4NCgk8cGF0aCBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoxMDtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtbGluZWpvaW46cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7IiBkPSINCgkJTTI0Mi42NzQsMTI0LjI4N2M4LjE4Ni05LjYzNSwxNy4wNzgtMTYuNzUsNDIuNTctMjAuMzA3Ii8+DQo8L2c+DQo8ZyBpZD0iRWJlbmVfMSI+DQo8L2c+DQo8L3N2Zz4NCg=="
}
}