Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
### 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