Ereignis Skript wird mehrmals ausgeführt

Hallo zusammen,

nach dem Weihnachten überstanden ist, wollte ich heute meinen Eltern ihre neuen Rauchmelder vorführen. Grundsätzlich funktionieren sie. Jedoch wird bei Auslösung das Ereignisskript scheinbar doppelt ausgeführt, somit gibts es bei Alarm mind. 2 mal die gleiche SMS bzw. E-Mail?
Folgendes habe ich bereist getestet:

[ol]
[li]Rauchmelder aus HomeMatic Gruppe entfernt - gleicher Fehler
[/li][li]Ereignis gelöscht neu angelegt - gleicher Fehler
[/li][li]Ereignis von „bei bestimmten Wert“ auf Aktualisierung geändert und If Bedingung im Skript eingefügt - gleicher Fehler
[/li][li]Skript eine Taste auf einer Fernbedienung hinzugefügt - Skript wird genau einmal ausgeführt -> Skript dürfte also OK sein
[/li][/ol]

Das Skript lautet:

<?
$data=45867; //ID der Variable
$data = IPS_GetVariable($data);
$device = IPS_GetObject($data['VariableID']);
$device = IPS_GetLocation($device['ParentID']);
$meldung="Alarm";
$Text=$device ." " .$meldung;
//SMTP_SendMail(43947 /*[Administration\E-Mail2SMS]*/ , $Text, $Text);
SMTP_SendMailEx(28843, "alarm@domain.de", $Text, $Text);
?>

Habt ihr noch eine Idee?

Denke das das Skript 2x durch das selbe Ereignis getriggert wird. Viellecht aktualisiert sich ja die Rauchmeldervariable auch 2x

Hallo,

ja das scheint in der Tat so zu sein.
Was mich jedoch wundert ist, dass die Werte einmal „normal“ und einmal „grau“ geschrieben sind?
Für die Gruppe „Rauchmelder“ hatte ich das mit der Version vor #1799 getestet, da kamen die Alarme nur einmal. Gibts da evtl. ein Problem in der aktuellen Version?
Oder bringt es vll. was die Rauchmelder neu anzulernen?

-> Neu anlernen bringt zwar eine weitere Variable namens INSTALL_TEST aber sonst leider keine Änderung.
Habt ihr noch eine Idee?

RauchmelderStatus.png

Hallo Marco,

wie sieht denn deine Einstellung in der HM-Config aus. Laut deinem Logauszug sendet er nach 2sec. nochmal den selben Befehl.
Hängen noch mehrere daran, sodass es eine Folgemeldung gibt.

Hallo Rainer,

insgesamt habe ich drei RM.
Ursprünglich hatte ich alle drei in einer Gruppe im HomeMatic Konfigurator zusammengefasst. Die Melder und die Gruppe in IPS hinzugefügt und wenn der Gruppenstatus sich auf Alarm änderte wurde eine SMS / Email versendet. Um den Batteriestatus etc (Kanal 0) in IPS zu bekommen, habe ich dann ein SW Update auf die aktuelle Version gemacht.
Seit diesem Zeitpunkt scheint die Aktualisierung der Variable zweimal zu erfolgen.
Im HomeMatic Konfigurator kann ich außer der Gruppenzuordnung nichts weiter einstellen.
Leider habe ich auch den VMWare Snapshot der alten Version gelöscht, sonst würde ich nochmal zurück gehen und es dort noch mal testen.

Du kannst ja dieses mal als Workaround testen.

switch ($IPS_SENDER)
{
    case "Variable":                              
    if(IPS_GetScriptTimer($IPS_SELF) == 0)
    {                                           
        IPS_SetScriptTimer($IPS_SELF, 5);
        $data=45867; //ID der Variable
        $data = IPS_GetVariable($data);
        $device = IPS_GetObject($data['VariableID']);
        $device = IPS_GetLocation($device['ParentID']);
        $meldung="Alarm";
        $Text=$device ." " .$meldung;
        //SMTP_SendMail(43947 /*[Administration\E-Mail2SMS]*/ , $Text, $Text);
        SMTP_SendMailEx(28843, "alarm@domain.de", $Text, $Text);
    }
    else return;
    break;
    case "TimerEvent":
    IPS_SetScriptTimer($IPS_SELF, 0);
    break;
}

Das Skript sollte nur einmal ausgeführt werden, wenn du den Trigger auf „bei bestimmten Wert“ stellst und dann das Häkchen bei „Nachfolgende Ereignisse ausführen“ entfernst.

Hallo,

dieses Häckschen „Nachfolgende Ereignisse ausführen“ hatte ich glatt übersehen. Nehme ich das Häckschen raus geht immer nur eine SMS/EMail raus.

@RWN
trotzdem Danke für deinen Workaround. Kommt denke ich aufs gleiche raus.

Dennoch wundert es mich, dass nun die Variablen zweimal aktualisiert werden. Werde die Tage mal nach einem Backup der VM mit Version #1759 gucken und testen.
Vielleicht habe ich damals auch etwas übersehen. Der Hacken „Nachfolgende Ereignisse ausführen“ war jedensfalls gesetzt und es kam „nur“ eine SMS / Email.
Ggf. werden diese Variablen der RM auch aus sicherheitsgründen zweimal aktualisiert?

Ich werde über die Tests dann berichten…

Hallo,

so der Test mit „alten“ Version hat ergeben, das dort auch die Variable zweimal aktualisiert wurde. Jedoch musste ich dort den Hacken „Nachfolgende Ereignisse ausführen“ nicht rausnehmen um nur eine SMS zu bekommen.
Kann es sein das die Rauchmelder / IPS / HomeMaticKonfigurator es übel nehmen wenn die Geräte ca. 1,5 Wochen nicht verfügbar (als Geschenk eingepackt) sind?
Denn zusätzlich macht nun das Skript zur Überprüfung des lastUpdate (http://www.ip-symcon.de/forum/f53/rauchmeldertag-6850/) Probleme.
Die Variablen werden nicht aktualisiert.