Timer Script Problem

Hallo

hab nach dem Update ein Problem mit dem Timer Script - wie geht das Neu?

Aufruf:

IPS_RunScriptWaitEx(34209 ,Array("TIMERID" => 59665   , "PARENT" => 46714, "DELAY" => 12600));

TIMERSCRIPT 34209:

<?
        $EventActive = false;
 
         /* Erzeuge einen Timer Event */
        $eid = IPS_CreateEvent( 1 );
        $EventActive =  IPS_EventExists(GetValueInteger($TIMERID));
        if ($EventActive)
        {
                IPS_DeleteEvent( GetValueInteger($TIMERID) );
                echo ( "Der alte Timer wurde gelöscht  " );
        }
        else
        {
                echo ( "Es gab keinen altenTimer  " );
 
        }
 
        SetValueInteger($TIMERID,$eid );
        IPS_SetParent( $eid, $PARENT); //Ereignis zuordnen
        IPS_SetEventCyclic( $eid, 1, 0, 0, 0, 0, 0 );
        IPS_SetEventCyclicDateBounds( $eid, (time() + $DELAY ),0 );
        IPS_SetEventCyclicTimeBounds( $eid, (time() + $DELAY ),0 );
 
        IPS_SetEventActive( $eid, true );
 
        echo ( "  Der neue Timer wurde kreiert " );
 
?>

Bekomme jetzt Undefinde Variablen - TIMERID - PARENT - DELAY

Muss ich die jetzt definieren? oder gibts da auch eine neue Syntax? - hat vorher funktioniert!

LG
Rudi

Die Behandlung der Übergabeparameter ist in 2.5 strikter geworden. Aus meiner Sicht ein Vorteil da das ganze jetzt eindeutiger ist. Bei mir sieht das ganze jetzt so aus :


 
<?
 
include "IPSLogger.ips.php";
define( "c_LogId", "Timer" );
$TIMERID = $_IPS['TIMERID'];
$PARENT = $_IPS['PARENT'];
$DELAY = $_IPS['DELAY'];
 
$EventActive = false;
 
 /* Erzeuge einen Timer Event */
$eid = IPS_CreateEvent( 1 );
$EventActive =  IPS_EventExists(GetValueInteger($TIMERID)); 
if ($EventActive)
{
                IPS_DeleteEvent( GetValueInteger($TIMERID) );
                echo ( "Der alte Timer wurde gelöscht  " );
                IPSLogger_Inf( c_LogId, " Alter Timer wurde glöscht " );
 
}
else
{
                echo ( "Es gab keinen altenTimer  " );
                IPSLogger_Err( c_LogId, " Es gab keinen alten Timer   " );
 
}
 
SetValueInteger($TIMERID,$eid );
IPS_SetParent( $eid, $PARENT); //Ereignis zuordnen
IPS_SetEventCyclic( $eid, 1, 0, 0, 0, 0, 0 );
IPS_SetEventCyclicDateBounds( $eid, (time() + $DELAY ),0 );
IPS_SetEventCyclicTimeBounds( $eid, (time() + $DELAY ),0 );
 
IPS_SetEventActive( $eid, true );
 
echo ( "  Der neue Timer wurde kreiert " );
IPSLogger_Inf( c_LogId, "Neuer Timer erstellt für : ".IPS_GetName($TIMERID)." Timer Parent : ".IPS_GetName(IPS_GetParent($eid)) );
 
 
 
 
?>
 

Danke - funktioniert so wieder!

LG
Rudolf