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

data.nodescript.signals.DB_HV_KS_Lichtsperrsignal+Ke.nodescript Maven / Gradle / Ivy

### Dieses Script definiert ein Accessory, 
### um die vier LEDs (rt,rt, ws1, ws2) eines Licht-Sperrsignal (DB)
### über 2 bis 3 Ports anzusteuern.
###
### Hardware: 2 - 3 Lightports (Port 0 = rt, 1 = ws;  optional: 1 = ws1, 2 = ws2))
### Software: 1 accessory
###           2 - 3 macros, 0 = Sh0, 1 = Sh1 opt. 2 = Kennl.
###
### history: 2016-12-06 A.Tillner, erste Version
###          2017-01-17 A.Tillner, 
###                     - Dimming unabhängig vom Node 
###                     - Accessory Namen eingeben 
###          2021-12-12 R.Brandt,
###                     - Kennlicht hinzugefügt 
###          2021-12-15 R.Brandt,
###                     -Auswahl KE und Einzelansteuerung Sh1
###          2021-12-25 R. Brandt 
###                     - Kommentare verbessert

###  Voraussetzung:
###  Das LS ist folgendermaßen ausgestattet: z.B. Ebert
###  Hp0/Sh0 wird über 2 LED in Reihe angeschlossen. (Port 0)
###  Sh1     wird über 2 LED in Reihe angeschlossen (Port +1)
###  Ke      wird über 1 LED zwischen den beiden LED abgezweigt. (Port +2)
###
###  Bei dieser Anschaltung sind mindestens 9 Versorgungsspannungerforderlich.
###     VCC  ---+---   Rt1:Sh0(Hp0)   -----------  Rt2:Sh0(Hp0) ---O Sh0      (Port  0)
###             |
###             +---   Ws1:KE/Sh1.1   ---+-----  Ws2:Sh1.2   ------O Sh1      (Port +1)
###                                      |
###                                      +-------------------------O Ke       (Port +2)
### Optional können die beiden weissen Lampen auch einzeln angesteuert werden. Dann ist 
### eine direkte Ansteuerung mit WS2811 auch ohne Widerstand möglich.
### Die Spannung (5 V) reicht für 2 rote LED in Reihe. Die weisen LED müssen separat 
### angesteuert werden.
###      VCC    -------------------------+-----  Ws1:Sh1.1   ------O Sh1.1    (Port +1)
###                                      |
###                                      +-----  Ws2:Sh1.2/Ke -----O Sh1.2/Ke (Port +2)
###
### how to use:
### A) configure
###    In section 1, define your ports and the desired accessory number
###    In section 2, define your settings (like brightness and speed)
### B) load and run this script
###    what will happen?
###    1. the ports will be configured with the given parameters
###    2. three new macros for the aspects will be defined
###    3. these macros will be assigned to the accessory
### C) have fun
###
### -------------- 1. Select Target
##application(text:de="DB HV/KS Licht-Sperrsignal + Ke", text:en="DB HV/KS stop signal + Ke")
##instruction(text:de="DB HV/KS Licht-Sperrsignal
erster Lichtausgänge = rt, ws1, ws2
Makros = Sh0, Sh1, Ke", link="https://forum.opendcc.de/wiki/doku.php?id=konfigvorlagen:signale_db_hv_ks#db_hv_ks_licht-sperrsignal_ke") ##instruction(text:en="DB HV/KS stop signal
lightports = rt, ws1, ws2
macro = Sh0, Sh1, Ke", link="https://forum.opendcc.de/wiki/doku.php?id=konfigvorlagen:signale_db_hv_ks#db_hv_ks_licht-sperrsignal_ke") ### ##input($AccessoryName:string, text:de="Name des Sperrsignals-Accessories: ", text:en="Name of the stop signal Accessory: ", default="Sperrsignal") ##input($my_accessory:accessory, text:de="Nummer des zu erzeugenden Accessory: ", text:en="Nummber of the Accessory: ", default=0) ##input($my_macro:macro, text:de="Nummer des ersten Macros (Sh0): ", text:en="Number of the first macro (Sh0): ", default=0) ##input($start_led:light, text:de="Nummer des ersten Lightport (rt LED): ", text:en="Number of the first Lightport (rt LED): ", default=0) ##input($existing_Sh1sp:boolean, text:de="Sh1 mit Einzelansteuerung", text:en="Sh1 with separate ports", default=false) ##input($existing_Ke:boolean, text:de="Kennlicht", text:en="Marker light", default=false) ##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) ### angeschlossene Ports 1-3: 1.Port = 2 rote LED ; 2.Port = beide LED ws1+ws2 (Sh1); 3.Port nur LED ws1 (Kennlicht) ### ### -------------- 2. set Parameters for Ports #set($WertbeiOff = 0) #set($WertbeiOn = 200) #set($Ueberblenden = 15) #set($Ueberblenden2 = 5) #set($OnTime = 0) #if (${dimm_range} == 8) ### Es handelt sich um einen Knoten mit 8 Bit Dimming #set($DimmzeitOff = 10) #set($DimmzeitOn = 10) #set($DimmzeitOffParam = "DimmOff=${DimmzeitOff}") #set($DimmzeitOnParam = "DimmOn=${DimmzeitOn}") #else ### Es handelt sich um einen Knoten mit 16 Bit Dimming #set($DimmzeitOff = 2500) #set($DimmzeitOn = 2500) #set($DimmzeitOffParam = "DimmOff88=${DimmzeitOff}") #set($DimmzeitOnParam = "DimmOn88=${DimmzeitOn}") #end ### -------------- 3. execute part of the script #set($macro0 = $my_macro) ### need some additional macros #set($macro1 = $macro0 + 1) ### need some additional macros #if (${existing_Ke}) #set($macro2 = $macro1 + 1) ### need some additional macros #end #set($led_rt = $start_led) ### LED rt1 an erstem lightport, der eingegeben wurde #set($led_ws1 = 1 * $led_gap + $start_led) ### LED ws1 an nächstem lightport #set($led_ws2 = 2 * $led_gap + $start_led) ### LED ws2 an nächstem lightport ####################################### ### Setzt label, wenn ${prevent_replace_labels} NICHT true #if (!${prevent_replace_labels}) ### Set label of Ports set light ${led_rt} name="${AccessoryName}_${my_accessory}_${led_rt}_rt" set light ${led_ws1} name="${AccessoryName}_${my_accessory}_${led_ws1}_ws1" #if (${existing_Sh1sp} or ${existing_Ke}) set light ${led_ws2} name="${AccessoryName}_${my_accessory}_${led_ws2}_ws2" #end ### Set label of Macro set macro ${macro0} name="${AccessoryName}_${my_accessory}_Sh0" set macro ${macro1} name="${AccessoryName}_${my_accessory}_Sh1" #if (${existing_Ke}) set macro ${macro2} name="${AccessoryName}_${my_accessory}_Ke" #end ### Set label of Asseccories set accessory ${my_accessory} name="${AccessoryName}_${my_accessory}" #end ####################################### ### ### Ports: (set Parameters) config port ptype=light ValueOff=${WertbeiOff} ValueOn=${WertbeiOn} ${DimmzeitOffParam} ${DimmzeitOnParam} number=${led_rt} config port ptype=light ValueOff=${WertbeiOff} ValueOn=${WertbeiOn} ${DimmzeitOffParam} ${DimmzeitOnParam} number=${led_ws1} #if (${existing_Sh1sp} or ${existing_Ke}) ### Kennlicht oder Einzelansteuerung config port ptype=light ValueOff=${WertbeiOff} ValueOn=${WertbeiOn} ${DimmzeitOffParam} ${DimmzeitOnParam} number=${led_ws2} #end ################################################/ ### Macro Lichtsperrsignal Sh0/Hp0 ### select macro ${macro0} config macro repeat=1 slowdown=1 ### Signal dunkel add step ptype=light action=down number=${led_rt} add step ptype=light action=down number=${led_ws1} #if (${existing_Sh1sp} or ${existing_Ke}) ### Kennlicht oder Einzelansteuerung add step ptype=light action=down number=${led_ws2} #end ### Sp0 setzten, $Ueberblenden Ticks dunkel add step ptype=light action=up delay=${Ueberblenden} number=${led_rt} ### ### Ende Lichtsperrsignal Sh0/Hp0 ### #################################################/ ### Macro Lichtsperrsignal Sh1 ### select macro ${macro1} config macro repeat=1 slowdown=1 ### Signal dunkel add step ptype=light action=down number=${led_rt} add step ptype=light action=down number=${led_ws1} #if (${existing_Sh1sp} or ${existing_Ke}) add step ptype=light action=down number=${led_ws2} #end ### Sh1 setzten, $Ueberblenden Ticks dunkel add step ptype=light action=up delay=${Ueberblenden} number=${led_ws1} #if (${existing_Sh1sp}) ### Einzelansteuerung add step ptype=light action=up delay=${Ueberblenden2} number=${led_ws2} #end ### ### Ende Macro Lichtsperrsignal Sp1 ### ################################################/ ### Macro Lichtsperrsignal Ke ### #if (${existing_Ke}) select macro ${macro2} config macro repeat=1 slowdown=1 ### Signal dunkel add step ptype=light action=down number=${led_rt} add step ptype=light action=down number=${led_ws1} add step ptype=light action=down number=${led_ws2} ### Ke setzten, $Ueberblenden Ticks dunkel add step ptype=light action=up delay=${Ueberblenden} number=${led_ws2} #end ### ### Ende Macro Lichtsperrsignal Ke ### ################################################/ ### Define Accessory select accessory ${my_accessory} add aspect 0 macroname="${AccessoryName}_${my_accessory}_Sh0" add aspect 1 macroname="${AccessoryName}_${my_accessory}_Sh1" #if (${existing_Ke}) add aspect 2 macroname="${AccessoryName}_${my_accessory}_Ke" #end #if (!${prevent_replace_labels}) set aspect 0 accessory=${my_accessory} name="Aspect 0 = Sh0" set aspect 1 accessory=${my_accessory} name="Aspect 1 = Sh1" #if (${existing_Ke}) set aspect 2 accessory=${my_accessory} name="Aspect 2 = Ke" #end #end




© 2015 - 2024 Weber Informatics LLC | Privacy Policy