IPS_SetScriptTimer

… hier ein kleines Beispiel-Skript für den „IPS_SetScriptTimer“

Wird das Skript z.B. durch eine erkannte Bewegung eines PIRI getriggert (gestartet), wird der Timer (hier 5 Minuten) gesetzt.
Dann kann noch ein Vergleich erfolgen, ob es Tag oder Nacht ist und eine entsprechende Aktion ausgelöst werden.
Nach Ablauf der Zeit wir der Timer auf Null gesetzt und es kann zusätzlich noch ein Skript aufgerufen werden.


<?
/*
*******************************
 IP-SYMCON Event Scripting
*******************************
File     : Test_Timer_Trigger.ips.php
Trigger  : entsprechende Variable
Interval : 
*/

// hier kommt die "Status-Variable es jeweiligen FS20 Gerätes rein
$zustand =  GetValueBoolean("FS20_etwas_schalten");

// optional: Tag & Nacht z.B. aus einem Helligkeit-Sensor oder Timerwizard: Sunrise / Sunset
$tag = GetValueBoolean("Flag_Tag");                                     // True = Tag

// hier kammt die Trigger Variable rein z.B. PIRI oder Festerkontakt
$trigger = GetValueBoolean("Trigger Variable");

if($IPS_SENDER == "Variable"){
   if ($trigger == True) {
      // PIRIs zurücksetzen !!!
      //SetValueBoolean("PIRI_UG_Flur",False);                             // zurücksetzen
      SetValueBoolean("Flag_Trigger_Test",True);                           // Flag setzen
      IPS_SetScriptTimer($IPS_SELF, 5*60);                                 // Timer 5 Minuten setzen
      echo "Trigger erkannt";
   }
   // nur Schalten in der Nacht und wenn das Gerät aus ist
   if (($zustand == False) && ($tag == False)) {
      IPS_RunScript("FS20_etwas einschalten");
   }
} else if($IPS_SENDER == "TimerEvent"){
      SetValueBoolean("Flag_Trigger_Test", False);                         // zurücksetzen
      IPS_SetScriptTimer($IPS_SELF, 0);
      IPS_RunScript("FS20 etwas ausschalten");                              // Timer löschen
}

?>