IPS_GetEventListByType Frage

Hallo,
mit



$eid = IPS_CreateEvent(0);        				//Ausgelöstes Ereignis
IPS_SetEventTrigger($eid, 1, $counter_ID); 	//Bei Änderung von Variable mit ID 15754
IPS_SetParent($eid, $IPS_SELF); 					//Ereignis zuordnen
IPS_SetEventActive($eid, true);    				//Ereignis aktivieren

kann ich zwar ein zyklisches Event anlagen. Wie überprüfe ich jedoch ob es das Event schon gibt, um eben dann nicht mit jedem Scriptlauf ein neues anzulegen.

Vlt. so

$eid = IPS_CreateEvent(0);       //Ausgelöste Ereignis
if ($eid === false){
IPS_SetEventTrigger($eid, 1, $counter_ID); 	//Bei Änderung von Variable mit ID 15754
IPS_SetParent($eid, $IPS_SELF); 					//Ereignis zuordnen
IPS_SetEventActive($eid, true);    				//Ereignis aktivieren
}

hmmm prinzipiell hatte ich die Idee auch schon so…nur kann ich den Parrent da nicht zuordnen und das Event wird in der root erstellt

Wenn man dem Ereignis einen Namen verpasst, geht das folgendermaßen:

$name = 'tolles Ereignis';

$eid = @IPS_GetEventIDByName($name, $IPS_SELF);
if ($eid === false)
{
    $eid = IPS_CreateEvent(0);                     // Ausgelöstes Ereignis
    IPS_SetName($eid, $name);                      // Namen zur Identifikation setzen
    IPS_SetEventTrigger($eid, 1, $counter_ID);     // Bei Änderung von Variable mit ID 15754
    IPS_SetParent($eid, $IPS_SELF);                // Ereignis zuordnen
    IPS_SetEventActive($eid, true);                // Ereignis aktivieren
}

Gibt dem Ereignis einen Namen und dann gibt es sowas nettes: IPS_GetEventIDByName: IP-Symcon :: Automatisierungssoftware

paresy