Anbei ein Baustein, der auf dem Gerät gespeicherte Sequenzen synchronisiert. Der LED-Controller ist so einzustellen, dass eine Sequenz nur einmal durchlaufen wird und der Wert am Ende der Sequenz gehalten wird. Zudem ist es so gedacht, dass ein "Aus" auf dem Sequenz-Steuerobjekt, das Licht ausschaltet.
Der Sequenz-Steuereingang der LED-Controller ist mit dem Ausgang des Bausteins zu verbinden.
Das Sequenz-Statusobjekt der LED-Controller ist mit einem der "State in" Eingänge zu verbinden.
Optional können beliebig viele Szenen-Eingange zum Szenen basierten Ein- und Ausschalten ergänzt werden.
Es können beliebig viele "State in" Eingänge erzeugt und damit beliebig viele Controller synchronisiert werden. Der Baustein wartet, bis alle Controller das Ende der Sequenz gemeldet haben und startet diese dann neu.
Es können beliebig viele Szenen-Steuereingänge Erzeugt werden. Dies ist so gedacht, dass diese Szenen Eingänge mit einer Szenen-GA verbunden werden und per Input-Modifikator die Szenennummer eingestellt wird (Offset beachten, siehe Beschreibungstext zum Eingang)
Version: 1.0 (aktuell)
Changelog:
- Szeneneingänge ergänzt
- Code komplett überarbeitet
Code: Alles auswählen
/**##################################
Sync multiple LED controllers V1.0
##################################*/
{
"Level": [
["$ConstFalse","bool",false],
["$ConstTrue","bool",true],
["$VAR<I_SeqStatN!>","bool",false],
["$I_Start","bool",false],
["$VAR<I_OnScene?>","bool",false],
["$VAR<I_OffScene?>","bool",false],
["$Trigger","bool",false],
["$Synced","bool",false],
["$Selector","integer",0],
["$StartStop","bool",false],
["$TouchedTrigger","bool",false],
["$TouchedOutput","bool",false],
["$OnSceneRcvd","bool",false],
["$OffSceneRcvd","bool",false],
["$Send","bool",false],
["$O_Output","bool",false],
["$VAR<Inhibit?>","bool",false]
],
"Module": [
["Break",["$VAR<Inhibit?>"]],
["Or" , ["$VAR<I_OnScene?>"], "$OnSceneRcvd"],
["Or" , ["$VAR<I_OffScene?>"], "$OffSceneRcvd"],
["BinaryMultiplexer",["$OnSceneRcvd","$OffSceneRcvd"],"$Selector"],
["Multiplexer",["$StartStop","$ConstTrue","$ConstFalse","$StartStop"],"$StartStop","$Selector"],
["Latch","$StartStop","$I_Start","$StartStop",3],
["And" , ["$I_Start","-$VAR<I_SeqStatN!>"], "$Synced"],
["Latch","$ConstTrue","$Trigger","$Synced",1],
["Latch","$I_Start","$O_Output","$I_Start",3],
["Triggered", "$Trigger", "$TouchedTrigger" ],
["Triggered", "$O_Output", "$TouchedOutput" ],
["Or" , ["$TouchedTrigger","$TouchedOutput"], "$Send"],
["SendExplicit","$Send","$O_Output",0]
],
"Input": [
["Start/Stop","Binary input to start/stop sequence.","$I_Start","a"],
["OnScene","Scene input to start/switch on sequence;use input modificator with 'range' option to connect scene KO. Hint:Scenes start with 0. So, e.g. scene 10 equals to value 9 in input modificator.","$VAR<I_OnScene?>","a"],
["OffScene","Scene input to stop/switch off sequence;use input modificator with 'range' option to connect scene KO. Hint:Scenes start with 0. So, e.g. scene 10 equals to value 9 in input modificator.","$VAR<I_OffScene?>","a"],
["Sequ. state","Sequence state of LED controller","$VAR<I_SeqStatN!>","a"],
["Inhibit","INHIBIT","$VAR<Inhibit?>","u"]
],
"Output": [
["Trigger sequence","Sequence start","$O_Output","x"]
],
"_Meta": {
"Icon": "",
"Version": "1.0",
"_description": "Sync multiple (MDT) LED controllers"
}
}
/** 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. */