+!Zeigt aus zwei Gewerken an, ob bzw. wieviele Fenster
+!offen sind
+!Vorlage für ein
+!
+!
+string zeile1 = "";
+string color1 = "0x80";
+string icon1 = "";
+
+string zeile2 = "";
+string color2 = "0x80";
+string icon2 = "";
+
+string zeile3 = "";
+string color3 = "0x80";
+string icon3 = "";
+
+string zeile4 = "";
+string color4 = "0x80";
+string icon4 = "";
+
+string zeile5 = "";
+string color5 = "0x80";
+string icon5 = "";
+
+string zeile6 = "";
+string color6 = "0x80";
+string icon6 = "";
+
+
+!#################################################################
+!eigentliche Ermittlung der offenen Fenster in den beiden
+!Gewerken
+
+string gewerk = "WGR_TK";
+integer wgr_open = 0;
+var sec=dom.GetObject(gewerk);
+string i;
+foreach(i,sec.EnumUsedIDs()) {
+ var item=dom.GetObject(i);
+ if(item.IsTypeOf(OT_CHANNEL)) {
+ var dev=dom.GetObject(item.Device());
+ if((dev.HssType()=="HM-Sec-SCo") || (dev.HssType()=="HM-Sec-SC-2")) {
+ var state=item.DPByHssDP("STATE");
+ if(state.Value()) {
+ wgr_open = wgr_open+1;
+ }
+ }
+ }
+}
+gewerk="WGL_TK";
+integer wgl_open=0;
+sec=dom.GetObject(gewerk);
+foreach(i,sec.EnumUsedIDs()) {
+ var item=dom.GetObject(i);
+ if(item.IsTypeOf(OT_CHANNEL)) {
+ var dev=dom.GetObject(item.Device());
+ if((dev.HssType()=="HM-Sec-SCo") || (dev.HssType()=="HM-Sec-SC-2")) {
+ var state=item.DPByHssDP("STATE");
+ if(state.Value()) {
+ wgl_open = wgl_open+1;
+ }
+ }
+ }
+}
+!#################################################################
+zeile1 = "Marlies:";
+color1 = "0x80";
+
+zeile4 = "Susi:";
+color4 = "0x80";
+if (wgr_open > 0) {
+ zeile2 = wgr_open#" Fenster";
+ color2 = "0x81";
+ icon2 = "";
+ zeile3 = "offen";
+ color3 = "0x81";
+ icon3 = "";
+} else {
+ zeile2 = "Fenster zu";
+ color2 = "0x84";
+ icon2 = "";
+}
+
+if (wgl_open > 0) {
+ zeile5 = wgl_open#" Fenster";
+ color5 = "0x81";
+ icon5 = "";
+ zeile6 = "offen";
+ color6 = "0x81";
+ icon6 = "";
+} else {
+ zeile5 = "Fenster zu";
+ color5 = "0x84";
+ icon5 = "";
+}
+
+string splitter="|";
+string msgBuffer = zeile1 # splitter # color1 # splitter # icon1 # "\t";
+msgBuffer = msgBuffer # zeile2 # splitter # color2 # splitter # icon2 # "\t";
+msgBuffer = msgBuffer # zeile3 # splitter # color3 # splitter # icon3 # "\t";
+msgBuffer = msgBuffer # zeile4 # splitter # color4 # splitter # icon4 # "\t";
+msgBuffer = msgBuffer # zeile5 # splitter # color5 # splitter # icon5 # "\t";
+msgBuffer = msgBuffer # zeile6 # splitter # color6 # splitter # icon6;
+
+string substitutions = "A,0x41\tB,0x42\tC,0x43\tD,0x44\tE,0x45\tF,0x46\tG,0x47\tH,0x48\tI,0x49\tJ,0x4A\tK,0x4B\tL,0x4C\tM,0x4D\tN,0x4E\tO,0x4F\tP,0x50\tQ,0x51\tR,0x52\tS,0x53\tT,0x54\tU,0x55\tV,0x56\tW,0x57\tX,0x58\tY,0x59\tZ,0x5A";
+substitutions = substitutions # "\ta,0x61\tb,0x62\tc,0x63\td,0x64\te,0x65\tf,0x66\tg,0x67\th,0x68\ti,0x69\tj,0x6A\tk,0x6B\tl,0x6C\tm,0x6D\tn,0x6E\to,0x6F\tp,0x70\tq,0x71\tr,0x72\ts,0x73\tt,0x74\tu,0x75\tv,0x76\tw,0x77\tx,0x78\ty,0x79\tz,0x7A";
+substitutions = substitutions # "\t0,0x30\t1,0x31\t2,0x32\t3,0x33\t4,0x34\t5,0x35\t6,0x36\t7,0x37\t8,0x38\t9,0x39\t ,0x20\t!,0x21\t\",0x22\t%,0x25\t&,0x26\t=,0x27\t(,0x28\t),0x29\t*,0x2A\t+,0x2B\t,,0x2C\t-,0x2D\t.,0x2E\t/,0x2F";
+substitutions = substitutions # "\tÄ,0x5B\tÖ,0x23\tÜ,0x24\tä,0x7B\tö,0x7C\tü,0x7D\tß,0x5F\t:,0x3A\t;,0x3B\t@,0x40\t>,0x3E";
+
+string bufferLine;
+string substEntry;
+integer i;
+string char;
+string line;
+string icon;
+
+string command = "0x02";
+foreach(bufferLine, msgBuffer) {
+ line = bufferLine.StrValueByIndex(splitter, 0);
+ icon = bufferLine.StrValueByIndex(splitter, 2);
+ if ((line <> "") || (icon <> "")) {
+ command = command # ",0x12";
+ if ((line.Substr(0,2) == "0x") && (line.Length() == 4)) {
+ command = command # "," # line;
+ i = 12;
+ }
+ else {
+ i = 0;
+ }
+ while ((i < line.Length()) && (i < 12)) {
+ char = line.Substr(i, 1);
+ foreach(substEntry, substitutions){
+ if (char == substEntry.Substr(0,1)){command = command # substEntry.Substr(1,5);}
+ }
+ i = i + 1;
+ }
+ command = command # ",0x11," # bufferLine.StrValueByIndex(splitter, 1);
+ if (icon <> "") {
+ command = command # ",0x13," # icon;
+ }
+ }
+ command = command # ",0x0A";
+}
+command = command # ",0x03";
+
+dom.GetObject("BidCos-RF." # dom.GetObject("$src$").Name().StrValueByIndex(".",1) # ".SUBMIT").State(command);