ich versuche folgendes Scenario zu realisieren:
1. Eine Systemvariable "Alert" kann durch verschiedene WebUI scripte befüllt werden
2. Ein WebUI Script "SMS"
3. ein WebUI Script "Threema"
die beiden "Reaktions" Scripte "SMS" und "Threema" sollen beide unabhängig voneinander auf eine Änderung des Inhalts der "Alert" Systemvariablen reagieren. Beide sollen dann diese Variable auslesen und im Fall es steht etwas drin, den Inhalt via CUxD und wget verschicken.
Nachdem beide Scripte angearbeitet sind, soll "Alert" wieder auf eine leere Zeichenkette gesetzt werden.
Beide "Reaktions" Scripte für sich laufen ansich. Jedoch weiss ich nicht so recht wann ich die "Alert" auf einen leeren String setzen soll.
Ich würde ungern den Code der beiden Scripte in ein grosses Script packen wollen, weil ich Zukunft vielleicht noch eine WhatsApp Anbindung etc hinzubauen will. Daher würde ich gerne diese Sachen jeweils in ihren eigenen Scripten haben, auch um sie selektiv ab/anschalten zu können.
So habe ich das gerade gebaut, es läuft jedoch in einer Endlosschleife (sehe ich via syslog)
Die Scripte (vereinfacht):
Code: Alles auswählen
object alert = dom.GetObject("Alert");
string text = alert.Value().Trim();
dom.GetObject("CUxD.CUX2801001:1.SYSLOG").State("SMS: " + text);
Code: Alles auswählen
object alert = dom.GetObject("Alert");
string text = alert.Value().Trim();
dom.GetObject("CUxD.CUX2801001:1.SYSLOG").State("Threma: " + text);
Code: Alles auswählen
Aug 15 03:26:18 192.168.178.36 cuxd[545]: CUX2801001:1 SMS:
Aug 15 03:26:18 192.168.178.36 cuxd[545]: CUX2801001:1 Threema:
Aug 15 03:26:18 192.168.178.36 cuxd[545]: CUX2801001:1 SMS:
Aug 15 03:26:18 192.168.178.36 cuxd[545]: CUX2801001:1 Threema:
Aug 15 03:26:18 192.168.178.36 cuxd[545]: CUX2801001:1 SMS:
Aug 15 03:26:18 192.168.178.36 cuxd[545]: CUX2801001:1 Threema:
Aug 15 03:26:18 192.168.178.36 cuxd[545]: CUX2801001:1 SMS:
Aug 15 03:26:18 192.168.178.36 cuxd[545]: CUX2801001:1 Threema:
Aug 15 03:26:18 192.168.178.36 cuxd[545]: CUX2801001:1 SMS:
Aug 15 03:26:18 192.168.178.36 cuxd[545]: CUX2801001:1 Threema:
Aug 15 03:26:18 192.168.178.36 cuxd[545]: CUX2801001:1 SMS:
Aug 15 03:26:18 192.168.178.36 cuxd[545]: CUX2801001:1 Threema:
Aug 15 03:26:18 192.168.178.36 cuxd[545]: CUX2801001:1 SMS:
Aug 15 03:26:18 192.168.178.36 cuxd[545]: CUX2801001:1 Threema:
Am liebsten wäre mir wenn die Reaktionsscripte tatsächlich, wie ursprünglich geplant, jeweils eigene WebUI Programme wären. Nur wann und wie setze ich dann die "Alert" Systemvariable wieder zurück? Ich weiss ja nicht, wenn beide Programme zu Ende sind.
Wäre eine Möglichkeit ein "Aggregat" Programm zu schreiben, welches dann einfach nur die anderen Programme sequentiell aufruft und am Ende die Systemvariable "Alert" auf "" (leer) setzt? Dazu müsste aber garantiert sein, dass "ExecuteProgram" auch synchron ausgeführt wird.