// Datei: pages/api/server.js
// Platzhalter-Objekt zur Ersetzung in den Skripten
const placeholders = {
// Bestehende Platzhalter
"<%=IS%>": "CPLV35ISMAIL",
"<%=VHW%>": "CPL V3",
//"<%=CS0%>": "5.1.1.0 C-24-KA, CPLV35ISMAIL", alte Version
"<%=IP%>": "10.10.0.225, 255.255.255.0, 10.10.0.1",
"<%=CA0%>": "223, 0, 7, 0, 10.10.0.22, 0",
"<%=LI1%>": "1",
"<%=LI2%>": "1",
"<%=LI3%>": "0",
"<%=LI4%>": "0",
"<%=LI5%>": "1",
"<%=LI6%>": "1",
"<%=LI7%>": "0",
"<%=LI8%>": "0",
"<%=CE0%>": "0",
"<%=Ox%>": "0,0,0",
// last20Messages
"<%=SAM01%>":
"
| 00985 | 02501 | 2024-09-18 07:40:39:000 | Modul 16 Isofehler gehend | 0 |
" +
"| 00984 | 02501 | 2024-09-18 07:40:35:000 | Modul 16 Isofehler kommend | 1 |
" +
"| 00983 | 02400 | 2024-09-18 07:39:17:000 | Modul 15 Aderbruch kommend | 1 |
" +
"| 00982 | 01000 | 2024-09-18 07:38:49:000 | Modul 01 Aderbruch kommend | 1 |
" +
"| 00981 | 00108 | 2024-09-18 07:38:44:000 | Dig. Eingang 09 kommend | 1 |
" +
"| 00980 | 00101 | 2024-09-18 07:38:44:000 | Dig. Eingang 02 kommend | 1 |
" +
"| 00979 | 00100 | 2024-09-18 07:38:44:000 | Dig. Eingang 01 kommend | 1 |
" +
"| 00978 | 02501 | 2024-09-17 16:40:55:000 | Modul 16 Isofehler gehend | 0 |
" +
"| 00977 | 02501 | 2024-09-17 16:40:51:000 | Modul 16 Isofehler kommend | 1 |
" +
"| 00976 | 02501 | 2024-09-17 16:25:55:000 | Modul 16 Isofehler gehend | 0 |
" +
"| 00975 | 02501 | 2024-09-17 16:25:51:000 | Modul 16 Isofehler kommend | 1 |
" +
"| 00974 | 02501 | 2024-09-17 16:10:57:000 | Modul 16 Isofehler gehend | 0 |
" +
"| 00973 | 02501 | 2024-09-17 16:10:53:000 | Modul 16 Isofehler kommend | 1 |
" +
"| 00972 | 00127 | 2024-09-17 16:05:51:000 | Dig. Eingang 28 gehend | 0 |
" +
"| 00971 | 00126 | 2024-09-17 16:05:51:000 | Dig. Eingang 27 gehend | 0 |
" +
"| 00970 | 00125 | 2024-09-17 16:05:51:000 | Dig. Eingang 26 gehend | 0 |
" +
"| 00969 | 00124 | 2024-09-17 16:05:51:000 | Dig. Eingang 25 gehend | 0 |
" +
"| 00968 | 00123 | 2024-09-17 16:05:50:000 | Dig. Eingang 24 gehend | 0 |
" +
"| 00967 | 00122 | 2024-09-17 16:05:50:000 | Dig. Eingang 23 gehend | 0 |
" +
"| 00966 | 00121 | 2024-09-17 16:05:50:000 | Dig. Eingang 22 gehend | 0 |
",
// deviceName
"<%=SAN01%>": "CPLV4_ISM",
// mac1
"<%=SEM01%>": "0 48 86 81 46 157",
// mac2
"<%=SEM02%>": "0 48 86 81 46 158",
// ip
"<%=SEI01%>": "10.10.0.118",
// subnet
"<%=SES01%>": "255.255.255.0",
// gateway
"<%=SEG01%>": "10.10.0.1",
// datetime
"<%=SCL01%>": "09.01.00 04:05:24 Uhr",
// digitaler Eingänge de
"<%=DES80%>": "1, 0, 0, 0, 0, 0, 0, 0",
"<%=DES81%>": "0, 0, 0, 0, 0, 0, 0, 0",
"<%=DES82%>": "0, 0, 0, 0, 0, 0, 0, 0",
"<%=DES83%>": "0, 0, 0, 0, 0, 0, 0, 0",
//counter
"<%=DEC80%>": "0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0",
"<%=DEC81%>": "0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0",
"<%=DEC82%>": "0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0",
"<%=DEC83%>": "0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0",
//flutter
"<%=DEF80%>": "0, 0, 0, 0, 0, 0, 0, 0",
"<%=DEF81%>": "0, 0, 0, 0, 0, 0, 0, 0",
"<%=DEF82%>": "0, 0, 0, 0, 0, 0, 0, 0",
"<%=DEF83%>": "0, 0, 0, 0, 0, 0, 0, 0",
//kueOnline
"<%=KSO80%>": "1, 1, 1, 1, 1, 1, 1, 1",
"<%=KSO81%>": "1, 1, 1, 1, 1, 1, 1, 1",
"<%=KSO82%>": "1, 1, 1, 1, 1, 1, 1, 1",
"<%=KSO83%>": "1, 1, 1, 1, 1, 1, 1, 1",
/*
//kueID
"<%=KSI80%>":
"Kleefeld, Michael, Oldenburg, Modul 4, Modul 5, Hamburg, Modul 7, Slot 8",
"<%=KSI81%>":
"Modul 9, Modul 10, Modul 11, Modul 12, Modul 13, Modul 14, Modul 15, Modul 16",
"<%=KSI82%>":
"Modul 17, Modul 18, Modul 19, Modul 20, Modul 21, Modul 22, Modul 23, Modul 24",
"<%=KSI83%>":
"Modul 25, Modul 26, Modul 27, Modul 28, Modul 29, Modul 30, Modul 31, Modul 32",
*/
//kueID
"<%=KSI80%>": "1, 2, 3, 4, 5, 6, 7, 8",
"<%=KSI81%>": "9, 10, 11, 12, 13, 14, 15, 16",
"<%=KSI82%>": "17, 18, 19, 20, 21, 22, 23, 24",
"<%=KSI83%>": "25, 26, 27, 28, 29, 30, 31, 32",
//var kueName=[<%=KSA80%>,<%=KSA81%>,<%=KSA82%>,<%=KSA83%>];
"<%=KSA80%>": "Rastede, Test2, Oldenburg, Test4, KUE5, KUE6, KUE7, KUE8",
"<%=KSA81%>": ", , , , , , , ",
"<%=KSA82%>": ", , , , , , , ",
"<%=KSA83%>": ", , , , , , , ",
//kueIso
"<%=KIM80%>": "200, 200, 200, 200, 10, 10, 0, 10",
"<%=KIM81%>": "0, 0, 0, 0, 0, 0, 0, 0",
"<%=KIM82%>": "0, 0, 0, 0, 0, 0, 0, 0",
"<%=KIM83%>": "0, 0, 0, 0, 0, 0, 0, 0",
// kueValid
"<%=KIV80%>": "1, 1, 1, 1, 1, 1, 1, 1",
"<%=KIV81%>": "0, 0, 0, 0, 0, 0, 0, 0",
"<%=KIV82%>": "0, 0, 0, 0, 0, 0, 0, 0",
"<%=KIV83%>": "0, 0, 0, 0, 0, 0, 0, 0",
// kueAlarm1
"<%=KIA80%>": "0, 0, 0, 0, 0, 0, 0, 1",
"<%=KIA81%>": "0, 0, 0, 0, 0, 0, 0, 0",
"<%=KIA82%>": "0, 0, 0, 0, 0, 0, 0, 0",
"<%=KIA83%>": "0, 0, 0, 0, 0, 0, 0, 0",
// kueAlarm2
"<%=KRA80%>": "0, 0, 0, 0, 0, 0, 0, 0",
"<%=KRA81%>": "0, 0, 0, 0, 0, 0, 0, 0",
"<%=KRA82%>": "0, 0, 0, 0, 0, 0, 0, 0",
"<%=KRA83%>": "0, 0, 0, 0, 0, 0, 0, 0",
// kueRes
"<%=KRM80%>": "65, 65, 65, 65, .3.676, 3.599, 0, 3..714",
"<%=KRM81%>": "0, 0, 0, 0, 0, 0, 0, 0",
"<%=KRM82%>": "0, 0, 0, 0, 0, 0, 0, 0",
"<%=KRM83%>": "0, 0, 0, 0, 0, 0, 0, 0",
// kueCableBreak
"<%=KSC80%>": "1, 1, 1, 1, 0, 0, 0, 0",
"<%=KSC81%>": "0, 0, 0, 0, 0, 0, 0, 0",
"<%=KSC82%>": "0, 0, 0, 0, 0, 0, 0, 0",
"<%=KSC83%>": "0, 0, 0, 0, 0, 0, 0, 0",
// kueGroundFault
"<%=KSG80%>": "0, 0, 0, 0, 0, 0, 0, 0",
"<%=KSG81%>": "0, 0, 0, 0, 0, 0, 0, 0",
"<%=KSG82%>": "0, 0, 0, 0, 0, 0, 0, 0",
"<%=KSG83%>": "0, 0, 0, 0, 0, 0, 0, 0",
// kueLimit1
"<%=KIG80%>": "10, 10, 10, 10, 8, 0.6, 0, 999.9",
"<%=KIG81%>": "0, 0, 0, 0, 0, 0, 0, 0",
"<%=KIG82%>": "0, 0, 0, 0, 0, 0, 0, 0",
"<%=KIG83%>": "0, 0, 0, 0, 0, 0, 0, 0",
// kueLimit2Low
"<%=KRG80%>": "0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0, 0.1",
"<%=KRG81%>": "0, 0, 0, 0, 0, 0, 0, 0",
"<%=KRG82%>": "0, 0, 0, 0, 0, 0, 0, 0",
"<%=KRG83%>": "0, 0, 0, 0, 0, 0, 0, 0",
// kueLimit2High
"<%=KRH80%>": "1, 1, 1, 1, 1, 1, 0, 1",
"<%=KRH81%>": "0, 0, 0, 0, 0, 0, 0, 0",
"<%=KRH82%>": "0, 0, 0, 0, 0, 0, 0, 0",
"<%=KRH83%>": "0, 0, 0, 0, 0, 0, 0, 0",
// kueDelay1
"<%=KID80%>": "420, 420, 420, 420, 420, 420, 0, 420",
"<%=KID81%>": "0, 0, 0, 0, 0, 0, 0, 0",
"<%=KID82%>": "0, 0, 0, 0, 0, 0, 0, 0",
"<%=KID83%>": "0, 0, 0, 0, 0, 0, 0, 0",
// kueLoopInterval
"<%=KRI80%>": "6, 6, 6, 6, 6, 0, 0, 6",
"<%=KRI81%>": "0, 0, 0, 0, 0, 0, 0, 0",
"<%=KRI82%>": "0, 0, 0, 0, 0, 0, 0, 0",
"<%=KRI83%>": "0, 0, 0, 0, 0, 0, 0, 0",
// kueVersion
"<%=KIV80%>": "419, 419, 419, 419, 419, 419, 419, 419",
"<%=KIV81%>": "419, 419, 419, 419, 419, 419, 419, 419",
"<%=KIV82%>": "419, 419, 419, 419, 419, 419, 419, 419",
"<%=KIV83%>": "419, 419, 419, 419, 419, 419, 419, 419",
// tdrAtten
"<%=KTD80%>": "2, 2, 2, 2, 2, 0, 0, 2",
"<%=KTD81%>": "0, 0, 0, 0, 0, 0, 0, 0",
"<%=KTD82%>": "0, 0, 0, 0, 0, 0, 0, 0",
"<%=KTD83%>": "0, 0, 0, 0, 0, 0, 0, 0",
// tdrPulse
"<%=KTP80%>": "0, 0, 0, 0, 0, 0, 0, 0",
"<%=KTP81%>": "0, 0, 0, 0, 0, 0, 0, 0",
"<%=KTP82%>": "0, 0, 0, 0, 0, 0, 0, 0",
"<%=KTP83%>": "0, 0, 0, 0, 0, 0, 0, 0",
// tdrSpeed
"<%=KTS80%>": "100, 100, 100, 100, 100, 0, 0, 100",
"<%=KTS81%>": "0, 0, 0, 0, 0, 0, 0, 0",
"<%=KTS82%>": "0, 0, 0, 0, 0, 0, 0, 0",
"<%=KTS83%>": "0, 0, 0, 0, 0, 0, 0, 0",
// tdrAmp
"<%=KTA80%>": "0, 0, 0, 0, 0, 0, 0, 0",
"<%=KTA81%>": "0, 0, 0, 0, 0, 0, 0, 0",
"<%=KTA82%>": "0, 0, 0, 0, 0, 0, 0, 0",
"<%=KTA83%>": "0, 0, 0, 0, 0, 0, 0, 0",
// tdrTrigger
"<%=KTE80%>": "80, 80, 80, 80, 80, 0, 0, 80",
"<%=KTE81%>": "0, 0, 0, 0, 0, 0, 0, 0",
"<%=KTE82%>": "0, 0, 0, 0, 0, 0, 0, 0",
"<%=KTE83%>": "0, 0, 0, 0, 0, 0, 0, 0",
// tdrLocation
"<%=KTF80%>": "0, 0, 0, 0, 0, 0, 0, 0",
"<%=KTF81%>": "0, 0, 0, 0, 0, 0, 0, 0",
"<%=KTF82%>": "0, 0, 0, 0, 0, 0, 0, 0",
"<%=KTF83%>": "0, 0, 0, 0, 0, 0, 0, 0",
// tdrActive
"<%=KTX80%>": "0, 0, 0, 0, 0, 0, 0, 0",
"<%=KTX81%>": "0, 0, 0, 0, 0, 0, 0, 0",
"<%=KTX82%>": "0, 0, 0, 0, 0, 0, 0, 0",
"<%=KTX83%>": "0, 0, 0, 0, 0, 0, 0, 0",
// kueOverflow
"<%=KIW80%>": "1, 1, 1, 1, 0, 0, 0, 0",
"<%=KIW81%>": "0, 0, 0, 0, 0, 0, 0, 0",
"<%=KIW82%>": "0, 0, 0, 0, 0, 0, 0, 0",
"<%=KIW83%>": "0, 0, 0, 0, 0, 0, 0, 0",
// kue100V
"<%=KSS80%>": "0, 0, 0, 0, 0, 0, 0, 0",
"<%=KSS81%>": "0, 0, 0, 0, 0, 0, 0, 0",
"<%=KSS82%>": "0, 0, 0, 0, 0, 0, 0, 0",
"<%=KSS83%>": "0, 0, 0, 0, 0, 0, 0, 0",
// kueResidence
"<%=KSN80%>": "0, 0, 0, 0, 0, 0, 0, 0",
"<%=KSN81%>": "0, 0, 0, 0, 0, 0, 0, 0",
"<%=KSN82%>": "0, 0, 0, 0, 0, 0, 0, 0",
"<%=KSN83%>": "0, 0, 0, 0, 0, 0, 0, 0",
// tdrLastMeasurement
"<%=KTL80%>": "03.09.24 12:28:15, 03.09.24 12:28:04, ?, ?, ?, ?, ?, ?",
"<%=KTL81%>": "?, ?, ?, ?, ?, ?, ?, ?",
"<%=KTL82%>": "?, ?, ?, ?, ?, ?, ?, ?",
"<%=KTL83%>": "?, ?, ?, ?, ?, ?, ?, ?",
// kueBooting
"<%=KSB80%>": "0, 0, 0, 0, 0, 0, 0, 0",
"<%=KSB81%>": "0, 0, 0, 0, 0, 0, 0, 0",
"<%=KSB82%>": "0, 0, 0, 0, 0, 0, 0, 0",
"<%=KSB83%>": "0, 0, 0, 0, 0, 0, 0, 0",
//--------------------alte Platzhalter--------------------
//status
"<%=KS%>":
"0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0", //status
"<%=KE%>":
"4873,0,0,0,0,2,65535,0,65535,64010,64010,0,0,5717,64010,0,0,0,0,0,0,0,0,0,0", //Schleifenwiderstand
"<%=KX%>": "0,0,0,0,0,0,0,0,1,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0", //status2
"<%=KY%>": "1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0", //status3
"<%=KF%>": "0,0,0,0,0,0,0,0,0,0,0,0,0,0,0", //TDR Entfernung
"<%=KC%>":
"'100','100','0','0','0','0','1','1','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'", //TDR speed
"<%=KW%>":
"2000,100,420,0,100,420,0,100,420,0,100,1,0,100,420,55,160,26,0,100,420,0,100,420,2000,300,420,20100,100,420,20100,120,120,0,100,420,0,100,420,2000,100,420,20100,100,420,0,100,420,0,0,0,0,0,0,0,0,0,0,0,0,0,0", //Isolationswiderstand
//Schleifengrenzwert
"<%=KB0%>":
" 20,2540, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0", //Schleifengrenzwert
"<%=KA%>":
"0,1,2,3,4,5,6,7,8,9,10,255,255,255,255,255,255,255,255,255,255,255,255,255", //Adresse Steckplatz fängt von 0 an
"<%=KV%>": "419,419,419,419,419,419,419,419,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0", //Version version /100
//Beschreibungstext
"<%=P90%>":
"'kue1std','kue2std','kue3std','kue4std','kue5std','kue6std','kue7std','kue8std','kue9std','kue10std','kue11std','kue12std','kue13std','kue14std','kue15std','kue16std','kue17std','kue18std','kue19std','kue20std','kue21std','kue22std','kue23std','kue24std','kue25std','kue26std','kue27std','kue28std','kue29std','kue30std','kue31std','kue32std'", //Beschreibungstext
//vorhandene Slots
"<%=KN%>": "'32'", //vorhandene Slots
"<%=KO%>": "8,8,8,8", // slotKonfig
//werte // Enthält Isolationsgrenzwert und Meldeverzögerung
"<%=KK0%>":
"70,420,'nv','','nv','',100,1,'nv','',160,26,100,420,'nv','',300,420,100,420,120,120,'nv','','nv','',100,420,100,420,'nv','','nv','','nv','','nv','','nv','','nv','','nv','','nv','','nv'",
// Störungsunterdrückung ja = 0 / nein = 1
"<%=P91%>": "1,1,0,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0",
"<%=P93%>": "4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0", // Logger 0 bis 7 = 0 - 60 min
"<%=P01%>": "1,2,5,10,15,30,60,0,0,0", // intervall
"<%=P92%>": "-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0", // behandlung
// kvz
"<%=K#%>":
"0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0",
// c_cpl ['5.1.2.3 C-24-KA-32DB']
"<%=OC%>": "''5.1.2.3 C-24-KA-32DB'", // c_cpl
//c_kue_adr
"<%=OA%>":
"'1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '', '0', '0', '14', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0'",
//c_ewk_ver (7) ['0', '0', '0', '0', '0', '0', '0']
"<%=OF%>": "'0', '0', '0', '0', '0', '0', '0'", //c_ewk_ver
// zustandEWK (7) ['0', '0', '0', '0', '0', '0', '0'] <%=OE%>
"<%=OE%>": "'0', '0', '0', '0', '0', '0', '0'", //zustandEWK
// user (5) ['admin', '1', '1', '1', '1'] <%=BS%>
"<%=BS%>": "'admin', '1', '1', '1', '1'", //user
// zustandModem (4) [0, 0, 0, 0] <%=LI3%>,<%=LI4%>,<%=LI7%>,<%=LI8%>
//tdrTntfernung
"<%=KF%>":
"0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0",
//var userStd = "<%=BU%>";
"<%=BU%>": "user",
//-----------------------------------
};
// Funktion zur Ersetzung von Platzhaltern im Skriptinhalt
function replacePlaceholders(content, placeholders) {
for (const key in placeholders) {
const value = placeholders[key];
const regex = new RegExp(key, "g");
content = content.replace(regex, value);
}
return content;
}
// API-Handler für alle Anfragen
export default function handler(req, res) {
// Array mit erlaubten Ursprüngen
const allowedOrigins = ["http://localhost:3001", "http://localhost:3002"];
const origin = req.headers.origin;
// Überprüfen, ob die Ursprungsadresse in der Liste der erlaubten Ursprünge ist
if (allowedOrigins.includes(origin)) {
res.setHeader("Access-Control-Allow-Origin", origin);
} else {
res.setHeader("Access-Control-Allow-Origin", "*"); // Erlaubt alle Ursprünge (optional)
}
res.setHeader(
"Access-Control-Allow-Methods",
"GET, POST, PUT, DELETE, OPTIONS"
);
res.setHeader("Access-Control-Allow-Headers", "Content-Type, Authorization");
// Überprüfen, ob 'OPTIONS' Anfragen gesendet werden, um Preflight-Anfragen zu verarbeiten
if (req.method === "OPTIONS") {
return res.status(200).end();
}
const { query } = req;
// Überprüfen, ob 'last20Messages.acp' als Parameter übergeben wurde
if (query.hasOwnProperty("last20Messages.acp")) {
let scriptContent = `
//Allgemeine Variablen--------------------------------------
window.last20Messages = "<%=SAM01%>";
//---Name CPL, ID-------------------
window.deviceName = "<%=SAN01%>";
window.mac1 = "<%=SEM01%>";
window.mac2 = "<%=SEM02%>";
window.ip = "<%=SEI01%>";
window.subnet = "<%=SES01%>";
window.gateway = "<%=SEG01%>";
//---Zeitsstempel der internen Uhr--------------------
window.datetime = "<%=SCL01%>";
//--Applikationsversion-------------------
window.appVersion = "<%=SAV01%>";
//---OPCUA--------------------------------------
window.opcuaZustandServer = "<%=SOS01%>";
window.opcuaConnectedUserCount = "<%=SOC01%>";
window.opcuaNodeSet = "<%=SON01%>";
window.ntpActive = "<%=STA%>";
window.ntpServer1Ip = "<%=STP01%>";
window.ntpServer2Ip = "<%=STP01>";
window.ntpServer3Ip = "<%=STP01>";
window.ntpTimezone = "<%=STT01%>";
//Kabelüberwachung Allgemein--------------------------------------
window.de = "<%=DES80%>, <%=DES81%>, <%=DES82%>, <%=DES83%>".split(',').map(Number);
window.counter = "<%=DEC80%>, <%=DEC81%>, <%=DEC82%>, <%=DEC83%>".split(',').map(Number);
window.flutter = "<%=DEF80%>, <%=DEF81%>, <%=DEF82%>, <%=DEF83%>".split(',').map(Number);
window.kueOnline = "<%=KSO80%>, <%=KSO81%>, <%=KSO82%>, <%=KSO83%>".split(',').map(Number);
window.kueID = "<%=KSI80%>, <%=KSI81%>, <%=KSI82%>, <%=KSI83%>".split(',').map(Number);
window.kueName = "<%=KSA80%>, <%=KSA81%>, <%=KSA82%>, <%=KSA83%>".split(',');
window.kueIso = "<%=KIM80%>, <%=KIM81%>, <%=KIM82%>, <%=KIM83%>".split(',').map(Number);
window.kueValid = "<%=KIV80%>, <%=KIV81%>, <%=KIV82%>, <%=KIV83%>".split(',').map(Number);
window.kueAlarm1 = "<%=KIA80%>, <%=KIA81%>, <%=KIA82%>, <%=KIA83%>".split(',').map(Number);
window.kueAlarm2 = "<%=KRA80%>, <%=KRA81%>, <%=KRA82%>, <%=KRA83%>".split(',').map(Number);
window.kueRes = "<%=KRM80%>, <%=KRM81%>, <%=KRM82%>, <%=KRM83%>".split(',').map(Number);
window.kueCableBreak = "<%=KSC80%>, <%=KSC81%>, <%=KSC82%>, <%=KSC83%>".split(',').map(Number);
window.kueGroundFault = "<%=KSG80%>, <%=KSG81%>, <%=KSG82%>, <%=KSG83%>".split(',').map(Number);
window.kueLimit1 = "<%=KIG80%>, <%=KIG81%>, <%=KIG82%>, <%=KIG83%>".split(',').map(Number);
window.kueLimit2Low = "<%=KRG80%>, <%=KRG81%>, <%=KRG82%>, <%=KRG83%>".split(',').map(Number);
window.kueLimit2High = "<%=KRH80%>, <%=KRH81%>, <%=KRH82%>, <%=KRH83%>".split(',').map(Number);
window.kueDelay1 = "<%=KID80%>, <%=KID81%>, <%=KID82%>, <%=KID83%>".split(',').map(Number);
window.kueLoopInterval = "<%=KRI80%>, <%=KRI81%>, <%=KRI82%>, <%=KRI83%>".split(',').map(Number);
window.kueVersion = "<%=KIV80%>, <%=KIV81%>, <%=KIV82%>, <%=KIV83%>".split(',').map(Number);
window.tdrAtten = "<%=KTD80%>, <%=KTD81%>, <%=KTD82%>, <%=KTD83%>".split(',').map(Number);
window.tdrPulse = "<%=KTP80%>, <%=KTP81%>, <%=KTP82%>, <%=KTP83%>".split(',').map(Number);
window.tdrSpeed = "<%=KTS80%>,<%=KTS81%>,<%=KTS82%>,<%=KTS83%>".split(',').map(Number);
window.tdrAmp = "<%=KTA80%>,<%=KTA81%>,<%=KTA82%>,<%=KTA83%>".split(',').map(Number);
window.tdrTrigger = "<%=KTE80%>,<%=KTE81%>,<%=KTE82%>,<%=KTE83%>".split(',').map(Number);
window.tdrLocation = "<%=KTF80%>,<%=KTF81%>,<%=KTF82%>,<%=KTF83%>".split(',').map(Number);
window.tdrActive = "<%=KTX80%>,<%=KTX81%>,<%=KTX82%>,<%=KTX83%>".split(',').map(Number);
window.kueOverflow = "<%=KIW80%>,<%=KIW81%>,<%=KIW82%>,<%=KIW83%>".split(',').map(Number);
window.kue100V = "<%=KSS80%>,<%=KSS81%>,<%=KSS82%>,<%=KSS83%>".split(',').map(Number);
window.kueResidence = "<%=KSN80%>,<%=KSN81%>,<%=KSN82%>,<%=KSN83%>".split(',').map(Number);
window.tdrLastMeasurement = "<%=KTL80%>,<%=KTL81%>,<%=KTL82%>,<%=KTL83%>".split(',');
window.kueBooting = "<%=KSB80%>,<%=KSB81%>,<%=KSB82%>,<%=KSB83%>".split(',').map(Number);
window.status = "<%=KS%>".split(',').map(Number);
window.schleifenwiderstand = "<%=KE%>".split(',').map(Number);
window.status2 = "<%=KX%>".split(',').map(Number);
window.status3 = "<%=KY%>".split(',').map(Number);
window.tdrEntfernung = "<%=KF%>".split(',').map(Number);
window.isolationswiderstand = "<%=KW%>".split(',').map(Number);
window.schleifengrenzwert = "<%=KB0%>".split(',').map(Number);
window.adresse = "<%=KA%>".split(',').map(Number);
//window.version = "<%=KV%>".split(',').map(Number);
window.version ="<%=KIV80%>, <%=KIV81%>, <%=KIV82%>, <%=KIV83%>".split(',').map(Number);
window.beschreibungstext = "<%=P90%>".split(',');
window.slotsCount = "<%=KN%>".split(',').map(Number);
window.slotKonfig = "<%=KO%>".split(',');
window.werte = "<%=KK0%>".split(',').map(Number);
window.stoerung = "<%=P91%>".split(',');
window.logger = "<%=P93%>".split(',');
window.intervall = "<%=P01%>".split(',').map(Number);
window.behandlung = "<%=P02%>".split(',').map(Number);
window.kvz = "<%=K#%>".split(',').map(Number);
window.statusCPL = "<%=LI1%>,<%=LI2%>,<%=LI3%>,<%=LI4%>,<%=LI5%>,<%=LI6%>,<%=LI7%>,<%=LI8%>".split(',').map(Number);
window.c_cpl = "<%=OC%>";
window.c_kue_adr = "<%=OA%>";
window.c_ewk_ver = "<%=OF%>";
window.zustand_acc = "<%=Ox%>";
window.zustandEWK = "<%=OE%>";
window.user = "<%=BS%>";
window.zustandModem = "<%=LI3%>,<%=LI4%>,<%=LI7%>,<%=LI8%>".split(',').map(Number);
window.debugModus = true;
window.userStd = "<%=BU%>";
`;
scriptContent = replacePlaceholders(scriptContent, placeholders);
res.setHeader("Content-Type", "application/javascript");
res.status(200).send(scriptContent);
} else {
res.status(400).send("Invalid query parameter");
}
}