Script für OPENCCU zur Prüfung auf offene Fenster und Türen sowie Ansage mit Funkgong

! Ultramobiles Skript – Mit Einleitungsdatei 007
string sLp;
string sChanName;
string sDevName;
string sOpenList = „“;
integer iOpenCount = 0;
string sMp3List = „“;

string sDevList = dom.GetObject(„Verschluss“).EnumUsedIDs();

foreach(sLp, sDevList) {
var oChan = dom.GetObject(sLp);
if (oChan && oChan.IsTypeOf(OT_CHANNEL)) {
var dp = oChan.DPByHssDP(„STATE“);
if (!dp) { dp = oChan.DPByHssDP(„STATE_TRANSMITTER“); }

if (dp) {
if (dp.Value() > 0) {
! 1. Kanalnamen holen und in Kleinbuchstaben wandeln
sChanName = oChan.Name().ToLower();

! 2. Gerätenamen (Kanal-Elternteil) holen und in Kleinbuchstaben wandeln
var oDevice = dom.GetObject(oChan.Device());
if (oDevice) { sDevName = oDevice.Name().ToLower(); } else { sDevName = „“; }

! Namen für die Text-Variable sammeln
if (iOpenCount == 0) { sOpenList = oChan.Name(); } else { sOpenList = sOpenList # „, “ # oChan.Name(); }
iOpenCount = iOpenCount + 1;

! MP3-Zuordnung: Prüft Kanalname ODER Gerätename auf Übereinstimmung
string sMp3No = „“;
if (sChanName.Contains(„t_wozi“) || sDevName.Contains(„t_wozi“)) { sMp3No = „024“; }
if (sChanName.Contains(„t_hr“) || sDevName.Contains(„t_hr“)) { sMp3No = „027“; }
if (sChanName.Contains(„f_gwc“) || sDevName.Contains(„f_gwc“)) { sMp3No = „016“; }
if (sChanName.Contains(„f_gastl“) || sDevName.Contains(„f_gastl“)) { sMp3No = „014“; }
if (sChanName.Contains(„f_gastr“) || sDevName.Contains(„f_gastr“)) { sMp3No = „015“; }
if (sChanName.Contains(„f_kizi“) || sDevName.Contains(„f_kizi“)) { sMp3No = „021“; }
if (sChanName.Contains(„t_kueche“) || sDevName.Contains(„t_kueche“)) { sMp3No = „023“; }
if (sChanName.Contains(„f_wz_r“) || sDevName.Contains(„f_wz_r“)) { sMp3No = „025“; }
if (sChanName.Contains(„f_wz_l“) || sDevName.Contains(„f_wz_l“)) { sMp3No = „026“; }
if (sChanName.Contains(„t_schuppen“)|| sDevName.Contains(„t_schuppen“)){ sMp3No = „028“; }
if (sChanName.Contains(„f_schuppen“)|| sDevName.Contains(„f_schuppen“)){ sMp3No = „029“; }
if (sChanName.Contains(„f_sz_l“) || sDevName.Contains(„f_sz_l“)) { sMp3No = „019“; }
if (sChanName.Contains(„f_sz_r“) || sDevName.Contains(„f_sz_r“)) { sMp3No = „020“; }
if (sChanName.Contains(„t_kizi“) || sDevName.Contains(„t_kizi“)) { sMp3No = „022“; }
if (sChanName.Contains(„t_eingang“) || sDevName.Contains(„t_eingang“)) { sMp3No = „017“; }
if (sChanName.Contains(„f_bad“) || sDevName.Contains(„f_bad“)) { sMp3No = „018“; }

if (sMp3No != „“) {
if (sMp3List == „“) { sMp3List = sMp3No; } else { sMp3List = sMp3List # „,“ # sMp3No; }
}
}
}
}
}

! 1. In Systemvariable schreiben
var oVar = dom.GetObject(„Offene_Fenster“);
if (oVar) {
if (iOpenCount == 0) { oVar.State(„Alle Fenster geschlossen“); } else { oVar.State(iOpenCount # “ geöffnet: “ # sOpenList); }
}

! 2. Ausgabe an den Funk-Gong via channels.Get()
var oGongKanal = channels.Get(„HM-OU-CFM-TW OEQ0142440:2“);

if (oGongKanal) {
if (iOpenCount > 0) {
! HIER wird nun „007,“ statt „001,“ als Einleitung vorangestellt
string sCommand = „0.6,1,108000,007,“ # sMp3List;
oGongKanal.DPByHssDP(„SUBMIT“).State(sCommand);
} else {
! Wenn alles zu ist, spiele 002.mp3 („Alles geschlossen“)
oGongKanal.DPByHssDP(„SUBMIT“).State(„0.6,1,108000,054“);
}
}

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert