E-Mail-Versand zu schnell nacheinander?
Verfasst: 20.06.2018, 22:53
Hallo,
das Neuaufsetzen meiner Homatic nutze ich für die Optimierung des ganzen Systems. So steige ich beim E-Mail-Versand auf den CUxD um. Anstelle von
heißt es jetzt
Die Skripte meiner Bewegungsmelder in der alten, nicht CUxD-Version
Ist der Alarmstatus scharf und wird eine Bewegung registriert, so wird für jeden Bewgungsmelder das folgende Skript aufgerufen:
Das Setzen der Variable 'Bewegungsmelder_Flur' am Anfang löst dabei ein zweites Skript aus, das den eigentlichen Alarm abhandelt:
(Ich hab die Programme jetzt etwas vereinfacht. Die Buchstabenketten dienen der besseren Wiedererkennung des Textes in dieser Beschreibung)
Soweit hat bisher alles bestens funktioniert. Ich bekomme eine Meldung wer auslöst
und eine zweite Meldung dass auch der Alarm eingeleitet wurde
Nach dem Umstieg auf CUxD sehen die Skripte so aus:
und
Beim ersten Skript habe ich dabei schon in einer 'verbesserten' Version die Weitergabe der Bewegung (Setzen einer Variable) ans Ende verschoben, damit die zweite E-Mail so spät wie möglich ausgelöst wird.
Jetzt bekomme ich aber nur noch eine E-Mail mit folgendem Inhalt:
Gestern Abend hab ich sogar folgende E-Mail bekommen (ebenfalls nur eine). Es ließ sich aber heute leider nicht mehr reproduzieren.
(ok, es war schon spät und ich war müde, vielleicht hab ich auch noch was anderes gemacht ... )
Auf alle Fälle: Nach dem Umstieg auf den E-Mail-Versand mit CUxD klappen beide E-Mails hintereinander nicht mehr richtig. Hat vielleicht jemand von Euch eine Ahnung was ich falsch mache bzw. besser machen könnte? (Ich muss an verschiedenen Stellen direkt nacheinander mehrere E-Mails verschicken, d.h. bessere Vorschläge der Alarmbehandlung helfen mir hier auch nur bedingt weiter.)
LG Hawkeye
P.S.: Ich würde es gerne bei den zwei Meldungen belassen. Das erste Skript behandelt individuell den jeweiligen Sensor und ich weiß wo etwas los ist. Das zweite Skript behandelt für alle Sensoren die Reaktion und ich weiß, dass auch die geklappt hat. Inzwischen hab ich mich an das zweistufige außerdem gewöhnt ...
das Neuaufsetzen meiner Homatic nutze ich für die Optimierung des ganzen Systems. So steige ich beim E-Mail-Versand auf den CUxD um. Anstelle von
Code: Alles auswählen
string stdout;
string stderr;
system.Exec("/etc/config/addons/email/email 02", &stdout, &stderr);
Code: Alles auswählen
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("/etc/config/addons/email/email 02");
Ist der Alarmstatus scharf und wird eine Bewegung registriert, so wird für jeden Bewgungsmelder das folgende Skript aufgerufen:
Code: Alles auswählen
! Alarm-Weitergabe Variable für den Flur setzen
dom.GetObject("Bewegungsmelder_Flur").State("true");
! Text der Status-E-Mail
dom.GetObject("EMail_Betreff").State("Im Flur hat der Bewegungsmelder eine Bewegung registriert [AAAAAAAA]");
string vText =
"Im Flur hat der Bewegungsmelder eine Bewegung registriert. [BBBBBBBB]";
dom.GetObject("EMail_Text").State(vText);
! Status-E-Mail versenden
string stdout;
string stderr;
system.Exec("/etc/config/addons/email/email 02", &stdout, &stderr);
Code: Alles auswählen
! Alarm-Weitergabe Variablen zurück setzen
dom.GetObject("Bewegungsmelder_Flur").State("false");
! Text der Status-E-Mail
dom.GetObject("EMail_Betreff").State("Alarm Stufe 3 ausgelöst [CCCCCCCC]");
string vText =
"Alarm Stufe 3 ausgelöst. [DDDDDDDD]";
dom.GetObject("EMail_Text").State(vText);
! Status-E-Mail versenden
string stdout;
string stderr;
system.Exec("/etc/config/addons/email/email 02", &stdout, &stderr);
Soweit hat bisher alles bestens funktioniert. Ich bekomme eine Meldung wer auslöst
Code: Alles auswählen
Betreff: [SmartHome] Im Flur hat der Bewegungsmelder eine Bewegung registriert [AAAAAAAA]
Im Flur hat der Bewegungsmelder eine Bewegung registriert. [BBBBBBBB]
Code: Alles auswählen
Betreff: [SmartHome] Alarm Stufe 3 ausgelöst [CCCCCCCC]
Alarm Stufe 3 ausgelöst. [DDDDDDDD]
Code: Alles auswählen
! Text der Status-E-Mail
dom.GetObject("EMail_Betreff").State("Im Flur hat der Bewegungsmelder eine Bewegung registriert [AAAAAAAA]");
string vText =
"Im Flur hat der Bewegungsmelder eine Bewegung registriert. [BBBBBBBB]";
dom.GetObject("EMail_Text").State(vText);
! Status-E-Mail versenden
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("/etc/config/addons/email/email 02");
! Alarm-Weitergabe Variable für den Flur setzen
dom.GetObject("Bewegungsmelder_Flur").State("true");
Code: Alles auswählen
! Alarm-Weitergabe Variablen zurück setzen
dom.GetObject("Bewegungsmelder_Flur").State("false");
! Text der Status-E-Mail
dom.GetObject("EMail_Betreff").State("Alarm Stufe 3 ausgelöst [CCCCCCCC]");
string vText =
"Alarm Stufe 3 ausgelöst. [DDDDDDDD]";
dom.GetObject("EMail_Text").State(vText);
! Status-E-Mail versenden
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("/etc/config/addons/email/email 02");
Jetzt bekomme ich aber nur noch eine E-Mail mit folgendem Inhalt:
Code: Alles auswählen
Betreff: [SmartHome] Alarm Stufe 3 ausgelöst [CCCCCCCC]
Alarm Stufe 3 ausgelöst. [DDDDDDDD]
Code: Alles auswählen
Betreff: [SmartHome] Alarm Stufe 3 ausgelöst [CCCCCCCC]
Im Flur hat der Bewegungsmelder eine Bewegung registriert. [BBBBBBBB]
Auf alle Fälle: Nach dem Umstieg auf den E-Mail-Versand mit CUxD klappen beide E-Mails hintereinander nicht mehr richtig. Hat vielleicht jemand von Euch eine Ahnung was ich falsch mache bzw. besser machen könnte? (Ich muss an verschiedenen Stellen direkt nacheinander mehrere E-Mails verschicken, d.h. bessere Vorschläge der Alarmbehandlung helfen mir hier auch nur bedingt weiter.)
LG Hawkeye
P.S.: Ich würde es gerne bei den zwei Meldungen belassen. Das erste Skript behandelt individuell den jeweiligen Sensor und ich weiß wo etwas los ist. Das zweite Skript behandelt für alle Sensoren die Reaktion und ich weiß, dass auch die geklappt hat. Inzwischen hab ich mich an das zweistufige außerdem gewöhnt ...