Hilfe bei mehrmaligen Skriptaufruf nur nach bestimmter Zeit

Morgen Leute,
ich brauche wieder mal Hilfe:

Ich habe ein Skript das aufgerufen wird wenn ein Sensor anspricht und eine Meldung erzeugt.
Dieses Skript soll aber, wenn einmal aufgerufen, erst wieder nach 60 Minuten oder 120 Minuten aufgerufen werden können.
Ich möchte also wenn der Sensor alle 2 Minuten anspricht, nicht alle 2 Minuten eine Meldung bekommen.

Gibt es hier eine einfache Möglichkeit?
Was mir einfällt ist eine Variable mit der Uhrzeit zu speichern, aber ich da viele solche Skripte.

Danke und lg

Erstelle eine Sperrvariable, die beim erstmaligen Ausführen auf z.b. false gesetzt wird und setze diese Sperrvariable nach einer gewissen Zeit wieder zurück. Du könntest dafür das Modul Eieruhr verwenden. Im Ereignis vom Skript baust du noch eine Bedingung ein, dass es nur dann ausgelöst wird, wenn die Sperrvariable true ist.
Sollte funktionieren.

Mir hat hier mal jemand mit diesem hier weitergeholfen. Füge es in dein Script ein und wähle die sekunden selbst. Ich nutze es auch seit jahren so :slight_smile:

<?
// ID von diesem Skript ermitteln 
 $event = IPS_GetObject($_IPS['SELF']); 
 $id = $event['ObjectID']; 
 echo "Skript-ID: $id\n"; 

 $data = IPS_GetScript($id); 
 // Unix Timestamp des letzten Aufrufs 
 // siehe auch:IPS_GetScript — IP-Symcon :: Automatisierungssoftware 
 $last_up = $data['ScriptExecuted']; 
 echo "Letzte Ausführung Unix: $last_up\n"; 
 // zur Kontrolle 
 // siehe auch: PHP: date - Manual  
 echo "Letzte Ausführung (His): ".date("H:i:s", $last_up)."\n"; 

 $deltaT = time() - $last_up; 
 echo "Letzte Ausführung in sec. : $deltaT\n"; 

 if ($deltaT > 14400){ 

 // hier folgt ein tolles Skript 
 // das nur alle 14400 Sekunden ausgeführt werden darf 
RequestAction(51437, 30);
RequestAction(27417, 30);
 } 
?>
1 „Gefällt mir“

Danke, ja so hätte ich das auch gemacht. Ich möchte da aber nicht 20 oder 30 Variablen anlegen wenn es einfach gehen würde…

Dachte du hast von einem Skript gesprochen :wink:
Der Code von Tom wird auch funktionieren.

1 „Gefällt mir“

…der funktioniert PERFEKT! Danke und lg