Timer unzuverlässig

Neben dem Sommerzeitproblem sind meine Timer selten aber regelmässig unzuverlässig.
Insbesondere werden Timer welche von einem Script gestartet werden nicht mit der richtigen Zeit ausgeführt.
Dieses Script

<?

if($_IPS['SENDER'] == "TimerEvent")
	{
  	IPS_SetScriptTimer($_IPS['SELF'], 0);
// Aktion Türkonflikt
	}
else
	{
  	IPS_SetScriptTimer($_IPS['SELF'], 60);
	}

?>

führt z.B. zu diesem Ergebnis:

Timer.jpg

Ein weiteres Problem ist übrigens, dass dieser Typus Scripte teilweise denkt es sei durch den Timer gestartet worden und direkt im ersten Teil der If-Abfrage startet, obwohl der Aufruf durch ein anderes Script erfolgte, was den Ablauf (nämlich die Verzögerung) sinnlos werden lässt.

Ist der Code etwa falsch? Warum nur sporadisch Probleme?

Mit den Dingern hatte ich früher auch Probleme.
Siehe z.B. hier: http://www.ip-symcon.de/forum/threads/17599-Konsole-reagiert-nicht-mehr?p=160477#post160477
Mache das jetzt nur noch so (Beispiel):


    //---------------------------------------------------------------------------

    $EreignisID = @IPS_GetEventIDByName("Timer Wecker", 38032 /*[Wecker\wecker]*/);
    if ($EreignisID === false)
    {
         $eid = IPS_CreateEvent(1);                      //Event zycl.
        IPS_SetEventCyclic($eid, 0, 0, 0, 2, 2 ,1);         //Jede Minute
        IPS_SetParent($eid, 38032 /*[Wecker\wecker]*/);                           //Eregnis zuordnen
        IPS_SetName($eid, "Timer Wecker");                   //Name des Timers
        IPS_SetEventActive($eid, true);                        //Ereignis aktivieren
    }
    else
    {
       //Ereignis schon vorhanden
       $arr = IPS_GetEvent($EreignisID);
       if($arr['EventActive'] == true)
       {
          //schon aktiv
        }
        else
        {
            IPS_SetEventActive($EreignisID, true);        //Ereignis aktivieren
        }
    }

    //---------------------------------------------------------------------------

Bist du dir sicher, dass nicht ein anderen Skript den Timer auf 15 Sek setzt? Es wäre schon ein sehr kritischer Fehler, wenn ein 60 sek Timer auf 15 sek gestellt wird. Das würde auffallen :wink:

paresy

Sicher ist man ja nie aber ich habe mit TextCrawler alle Scripte nach SetScriptTimer durchsucht und nach der ID des Scripts und es kommt nirgends sonst vor.
Welche Alternative gäbe es denn sonst noch den Timer (falsch) zu starten wonach ich suchen könnte?
Mit Version 2.7 hatte ich keinerlei Probleme damit und ich wüsste nicht was ich beim Wechsel geändert haben könnte in diesem Zusammenhang aber ich bin mir bewusst, dass ich nie sagen kann, dass nicht ich es war :-).
Lässt sich das mit dem Log eruieren, wer den Timer startet? Problem tritt rund alle 2 wochen auf, nicht immer beim gleichen Script.

Edit: Wenn der Timer von einem anderen Ort aus gestartet werden würde, wäre natürlich auch das Problem aus dem zweiten Post erklärt. Wie finde ich das heraus?

Hallo,
Kann mich dem Timer Problem anschließen.
Timer werden zur vorgesehen Zeit nicht gestartet, oder zur falsche Zeit.
Im log ist da nichts zu finden, nach einem PC Reboot funktioniert es wieder für eine gewisse Zeit.
Ich kann leider keine Regelmäßigkeit feststellen.
Scripte die nicht über Timer gestartet werden funktionieren einwandfrei.

Schönen abend noch.
Chris

Wie lässt sich sowas erklären: