All Downloads are FREE. Search and download functionalities are using the official Maven repository.

data.nodescript.lighteffects.CampFire.nodescript Maven / Gradle / Ivy

### Dieses Script definiert ein Asseccory, 
### um die LED eines Lagerfeuers
### anzusteuern.
### Getestet wurde das Script mit zwei orangen und zwei roten LED (Umbau des Lagerfeuer Viessmann 5022)
###
### Hardware: Anzahl der Lightport kann im Menu eingegeben werden.
### Software: 1 accessory
###           2 macros, 0 = Aus, 1 = Ein (Macro 1 laeuft endlos)
###
### history: 2017-03-19 A.Tillner, erste Version
###          2017-03-20 A.Tillner, randomdelay does not work in Wizard -> temporary back to fix delay
###          2017-03-21 A.Tillner, flexible number of LEDs and back to random delay
###
###
### -------------- 1. Select Target
##application(text:de="Lagerfeuer, mit flexibler Anzahl LED", text:en="Camp-Fire, with flexible number of LEDs")
##instruction(text:de="Lagerfeuer: 
Lightports = fire_1, fire_2, fire_3, fire_4, ...
Macros = Feuer aus, Feuer an", text:en="Camp-Fire:
lightports = fire_1, fire_2, fire_3, fire_4, ...
macros = fire off, fire on", link="http://wiki.fichtelbahn.de/doku.php?id=konfigvorlagen:lichteffekte" ) ### ##input($AccessoryName:string, text:de="Name des Lagerfeuer-Accessories: ", text:en="Name of the Camp-Fire Accessory: ", default="Lagerfeuer") ##input($my_accessory:accessory, text:de="Nummer des zu erzeugenden Accessory: ", text:en="Number of the Accessory: ", default=0) ##input($my_macro:macro, text:de="Nummer des ersten Macros (Feuer aus): ", text:en="Number of the first macro (fire off): ", default=0) ##input($start_led:light, text:de="Nummer des ersten Lightport (fire_1): ", text:en="Number of the first Lightport (fire_1): ", default=0) ##input($led_count:int, text:de="Anzahl der LED, die das Feuer abbilden: ", text:en="Number of LEDs that represent the fire: ", default=4) ##input($prevent_replace_labels:boolean, text:de="Keine Namen fuer Accessory, Makros, Ports ersetzen", text:en="Prevent replace labels for accessory, macro and ports", default=false) #set($led_gap = 1) ### die anderen LED sind an den folgenden Lightports angeschlossen ### ### -------------- 2. set Parameters for Ports #set($WertbeiOff = 0) #set($WertbeiOn = 160) #set($Ueberblenden_fast = 15) #set($Ueberblenden_slow = 10) #set($OnTime = 0) #if (${dimm_range} == 8) ### Es handelt sich um einen Knoten mit 8 Bit Dimming #set($DimmzeitOffFast = 15) #set($DimmzeitOffSlow = 20) #set($DimmzeitOnFast = 15) #set($DimmzeitOnSlow = 40) #set($DimmzeitOffFast_Param = "DimmOff=${DimmzeitOffFast}") #set($DimmzeitOnFast_Param = "DimmOn=${DimmzeitOnFast}") #set($DimmzeitOffSlow_Param = "DimmOff=${DimmzeitOffSlow}") #set($DimmzeitOnSlow_Param = "DimmOn=${DimmzeitOnSlow}") #else ### Es handelt sich um einen Knoten mit 16 Bit Dimming #set($DimmzeitOffFast = 15) #set($DimmzeitOffSlow = 20) #set($DimmzeitOnFast = 15) #set($DimmzeitOnSlow = 40) #set($DimmzeitOffFast_Param = "DimmOff88=${DimmzeitOffFast}") #set($DimmzeitOnFast_Param = "DimmOn88=${DimmzeitOnFast}") #set($DimmzeitOffSlow_Param = "DimmOff88=${DimmzeitOffSlow}") #set($DimmzeitOnSlow_Param = "DimmOn88=${DimmzeitOnSlow}") #end ### -------------- 3. execute part of the script #set($macro0 = $my_macro) ### need some additional macros #set($macro1 = $macro0 + 1) ### need some additional macros ######################################## ######################################### ### Define Number of LED ### set LED-Label ### configure port #set($led_count = $led_count - 1) #set($DimmMode = $DimmzeitOnFast_Param) ### Next Lightport in fast Dimmmode #foreach ( $led_num in [0..${led_count}] ) #set ( $led_fire = $led_num * $led_gap + $start_led ) ### Set label of Ports #if (!${prevent_replace_labels}) set light ${led_fire} name="${AccessoryName}_${my_accessory}_${led_fire}_fire_${led_num}" #end ### ### Ports: (set Parameters) #if ( $DimmMode == $DimmzeitOnFast_Param) config port ptype=light ValueOff=${WertbeiOff} ValueOn=${WertbeiOn} ${DimmzeitOffFast_Param} ${DimmzeitOnFast_Param} number=${led_fire} #set($DimmMode = $DimmzeitOnSlow_Param) ### Next Lightport in slow Dimmmode #else config port ptype=light ValueOff=${WertbeiOff} ValueOn=${WertbeiOn} ${DimmzeitOffSlow_Param} ${DimmzeitOnSlow_Param} number=${led_fire} #set($DimmMode = $DimmzeitOnFast_Param) ### Next Lightport in fast Dimmmode #end #set ($led_num = $led_num +1 ) #end ######################################## ######################################## ######################################## ### Setzt label, wenn ${prevent_replace_labels} NICHT true #if (!${prevent_replace_labels}) ### Set label of Macro set macro ${macro0} name="${AccessoryName}_${my_accessory}_Off" set macro ${macro1} name="${AccessoryName}_${my_accessory}_On" ### Set label of Accessories set accessory ${my_accessory} name="${AccessoryName}_${my_accessory}" #end ######################################## ################################################/ ### Macro Feuer aus ### select macro ${macro0} config macro repeat=1 slowdown=1 ### Macro stoppen add step ptype=macro action=stop number=${macro1} ### nicht benoetigte LED's ausschalten #foreach ( $led_num in [0..${led_count}] ) #set ( $led_fire = $led_num * $led_gap + $start_led ) add step ptype=light action=off number=${led_fire} #end ### ### Ende Feuer aus ### ################################################/ ################################################/ ### Macro Feuer an ### select macro ${macro1} #set ($RandomMode = 1) config macro repeat=0 slowdown=1 ### Feuer brennt #foreach ( $led_num in [0..${led_count}] ) #set ( $led_fire = $led_num * $led_gap + $start_led ) #if ($RandomMode == 1) add step ptype=randomdelay delay=${Ueberblenden_fast} #set ($RandomMode = 0) #else add step ptype=randomdelay delay=${Ueberblenden_slow} #set ($RandomMode = 1) #end add step ptype=light action=neon number=${led_fire} #end ### ### Ende Feuer an ### ################################################/ ### Define Accessory select accessory ${my_accessory} add aspect 0 macroname="${AccessoryName}_${my_accessory}_Off" add aspect 1 macroname="${AccessoryName}_${my_accessory}_On"




© 2015 - 2024 Weber Informatics LLC | Privacy Policy