Herausfinden wie lange der ScriptTimer eines Scripts noch läuft


 echo GetTimeRemaining($IPS_SELF); //Von sich selbst herausfinden

 function GetTimeRemaining($id)
 {
   $eid=@IPS_GetEventIDByName("ScriptTimer", $id);
   if($eid === false) {
      return -1;
   } else {
      $e=IPS_GetEvent($eid);
      if($e['NextRun'] == 0)
      {
         return -1;
      } else {
         return $e['NextRun'] - microtime(true);
      }
   }
 }

paresy

Bitte mit mehr Komentaren, damit auch Anfänger was lernen können.

Hallo Heiner,

bei den obigen Beispiel handelt es sich um ein IPSmagic Skript :rolleyes:
Der Befehl:

print_r(IPS_GetEvent($id));

ist leider noch nicht dokumentiert, wir arbeiten daran.
Er liefert alle Informationen über das Event (Timer) in einem Array:

Array
(
    [CyclicDateData] => 0
    [CyclicDateFrom] => 1215208800
    [CyclicDateTo] => 2085798496
    [CyclicDateType] => 0
    [CyclicDateValue] => 0
    [CyclicTimeFrom] => 2085798554
    [CyclicTimeTo] => 2085798496
    [CyclicTimeType] => 1
    [CyclicTimeValue] => 1800
    [EventID] => 28238
    [EventLimit] => -1
    [EventScript] => 13776
    [EventStatus] => 1
    [EventType] => 1
    [LastRun] => 1215243058.307
    [NextRun] => 1215244858.206
    [TriggerType] => 0
    [TriggerUseDefaultValue] => 1
    [TriggerVariable] => 0
)

MST